requirement for PC for VHDL design

On 9/23/2016 11:14 AM, kristoff wrote:
Cecil, all,


First, thank to everybody who replied.
This has grown into quite an interesting discussion about some of the
"underlaying" issues of FPGA design.


(inline comment)


On 18-09-16 18:05, Cecil Bayona wrote:
You can get some very powerful machines for not too much money. I would
get a decent I7 machine with lots of memory, that way it will be useful
for a long time. If you are low on money, there are some choices
available for a lot less, but get the fastest high memory machine you
can afford and you won't suffer from regret.

Well, what got me thinking is the fact that my employer now has a
project with HP which includes an additional reduction on the price, but
-in the other hand- really limits my choice.

As I work about 120 km from where I live for 3 days in a week, I am more
interested in a laptop with a limited screen-size as I do need to carry
the thing on the train and in my backpack every day).

I do have a large external screen at home.

One thing I think is very important for a computer is to have separate
video memory. Someone once tried to convince me using main memory for
the video does not appreciably impact the CPU performance, but it has to
create a hit to the bandwidth. I always buy laptops with separate video
memory. I also got 16 GB of main memory with my laptop and have never
regretted that. I only regretted the machine it is in, a Lenovo, lol.


In addition to the limited choice, (e.g. all the devices in the project
are all 8 GB of RAM) it has been very difficult to get more additional
information about the devices (like, "can you extend the memory of the
HP envy from 8 to 16 GB, how much slots whould that use and what about
garantee if you do that?"

Also, for some reason, I find very limited information on how well
ubuntu runs on these devices.
(I guess "no news is good news").


BTW. For some reason, more and more of these devices come with relative
few USB slots.

Maybe because they are smaller machines. Mine has two USB 2.0 and two
USB 3.0. It also has HDMI, VGA and Ethernet. But then it has a 17 inch
screen. lol


Yesteray, I was testing my SPI-slave VHDL code on a cheap FPGA board
with a mbed board, and that required three USB slots: the FPGA board,
the mbed board and a logic analyser that set in between them.
Needless to say that the combination of altair quartus, chrome (for the
embed board) and the logic analyser software quickly ate up all my (4
GB) of memory I have on my current machine.

I use Lattice devices and found their basic USB programmer would not
work on a hub. Can't say if that was because of the programmer or the
hub, it was a cheap Chinese unit from Ebay. I think I may have bought a
name brand hub. I should try that just to see if the programmer will
work with it.


Although a lesser machine might do, in the long run one ends regretting
the choice. As an example I was recently working on the ep32 CPU a zero
address CPU and found that with Windows 10 64 bit some of the older
software used to generate programs for it would not work right, what
ended working right was when I used VMware virtual CPU running Windows 7
32 bits then everything worked flawlessly. Had my machine been not
capable of running VMware well the issues would not have been resolved.

I simply run ubuntu natively, not in a VM.


My FPGA machine uses an I7 at 3.4GHz, 24GB of RAM, and a 512GB SSD drive
for the OS and virtual partitions, it can handle anything I throw at it.

OK, but to put things in perspective, I am just a hobbyist. My goal is
to be able to try out one of the new riscv CPUs.

Riscy? Does that mean one with an embedded ARM on the chip? I have a
Microsemi board with a CM3 or CM4 on chip. Not nearly the performance
of the ARM11s on the X and A chips, but I'm not trying to run Linux on
my FPGA. I can always connect it to an rPi if I want that.


Perhaps I will get a olimex iCE40HX8K board that should come out in
october and try out the "icestorm" toolchain (completely open-source
FPGA toolchain for the ice40HX fpga's).

If you need a Lattice compatible programmer to get going, I bought one
of the Ebay clones and it seems to work ok. I can get you details if
you would like.


The people of the icestorm project claim thair toolchain uses much less
resources then the commercial products; and they also claim that have
been able to get one of the riscv implementations running on one board.

Translation?

--

Rick C
 
On Sunday, September 25, 2016 at 5:55:56 AM UTC+3, rickman wrote:
On 9/23/2016 11:14 AM, kristoff wrote:
Cecil, all,


First, thank to everybody who replied.
This has grown into quite an interesting discussion about some of the
"underlaying" issues of FPGA design.


(inline comment)


On 18-09-16 18:05, Cecil Bayona wrote:
You can get some very powerful machines for not too much money. I would
get a decent I7 machine with lots of memory, that way it will be useful
for a long time. If you are low on money, there are some choices
available for a lot less, but get the fastest high memory machine you
can afford and you won't suffer from regret.

Well, what got me thinking is the fact that my employer now has a
project with HP which includes an additional reduction on the price, but
-in the other hand- really limits my choice.

As I work about 120 km from where I live for 3 days in a week, I am more
interested in a laptop with a limited screen-size as I do need to carry
the thing on the train and in my backpack every day).

I do have a large external screen at home.

One thing I think is very important for a computer is to have separate
video memory. Someone once tried to convince me using main memory for
the video does not appreciably impact the CPU performance, but it has to
create a hit to the bandwidth. I always buy laptops with separate video
memory. I also got 16 GB of main memory with my laptop and have never
regretted that. I only regretted the machine it is in, a Lenovo, lol.

Why lol?

In addition to the limited choice, (e.g. all the devices in the project
are all 8 GB of RAM) it has been very difficult to get more additional
information about the devices (like, "can you extend the memory of the
HP envy from 8 to 16 GB, how much slots whould that use and what about
garantee if you do that?"

Also, for some reason, I find very limited information on how well
ubuntu runs on these devices.
(I guess "no news is good news").


BTW. For some reason, more and more of these devices come with relative
few USB slots.

Maybe because they are smaller machines. Mine has two USB 2.0 and two
USB 3.0. It also has HDMI, VGA and Ethernet. But then it has a 17 inch
screen. lol

Why lol?

Yesteray, I was testing my SPI-slave VHDL code on a cheap FPGA board
with a mbed board, and that required three USB slots: the FPGA board,
the mbed board and a logic analyser that set in between them.
Needless to say that the combination of altair quartus, chrome (for the
embed board) and the logic analyser software quickly ate up all my (4
GB) of memory I have on my current machine.

I use Lattice devices and found their basic USB programmer would not
work on a hub. Can't say if that was because of the programmer or the
hub, it was a cheap Chinese unit from Ebay. I think I may have bought a
name brand hub. I should try that just to see if the programmer will
work with it.


Although a lesser machine might do, in the long run one ends regretting
the choice. As an example I was recently working on the ep32 CPU a zero
address CPU and found that with Windows 10 64 bit some of the older
software used to generate programs for it would not work right, what
ended working right was when I used VMware virtual CPU running Windows 7
32 bits then everything worked flawlessly. Had my machine been not
capable of running VMware well the issues would not have been resolved.

I simply run ubuntu natively, not in a VM.


My FPGA machine uses an I7 at 3.4GHz, 24GB of RAM, and a 512GB SSD drive
for the OS and virtual partitions, it can handle anything I throw at it.

OK, but to put things in perspective, I am just a hobbyist. My goal is
to be able to try out one of the new riscv CPUs.

Riscy?

kristoff probably meant RISC-V.
But he is one of these people thinking that using proper case nad proper punctuation is above them...
https://en.wikipedia.org/wiki/RISC-V

Does that mean one with an embedded ARM on the chip? I have a
Microsemi board with a CM3 or CM4 on chip. Not nearly the performance
of the ARM11s on the X and A chips, but I'm not trying to run Linux on
my FPGA.

X and A don't have ARM11s on their chips. They have much more modern and much more fast ARM Cortex-A9.

I can always connect it to an rPi if I want that.


Perhaps I will get a olimex iCE40HX8K board that should come out in
october and try out the "icestorm" toolchain (completely open-source
FPGA toolchain for the ice40HX fpga's).

If you need a Lattice compatible programmer to get going, I bought one
of the Ebay clones and it seems to work ok. I can get you details if
you would like.


The people of the icestorm project claim thair toolchain uses much less
resources then the commercial products; and they also claim that have
been able to get one of the riscv implementations running on one board.

Translation?

--

Rick C
 
On 9/25/2016 4:09 AM, already5chosen@yahoo.com wrote:
On Sunday, September 25, 2016 at 5:55:56 AM UTC+3, rickman wrote:
On 9/23/2016 11:14 AM, kristoff wrote:
Cecil, all,


First, thank to everybody who replied.
This has grown into quite an interesting discussion about some of the
"underlaying" issues of FPGA design.


(inline comment)


On 18-09-16 18:05, Cecil Bayona wrote:
You can get some very powerful machines for not too much money. I would
get a decent I7 machine with lots of memory, that way it will be useful
for a long time. If you are low on money, there are some choices
available for a lot less, but get the fastest high memory machine you
can afford and you won't suffer from regret.

Well, what got me thinking is the fact that my employer now has a
project with HP which includes an additional reduction on the price, but
-in the other hand- really limits my choice.

As I work about 120 km from where I live for 3 days in a week, I am more
interested in a laptop with a limited screen-size as I do need to carry
the thing on the train and in my backpack every day).

I do have a large external screen at home.

One thing I think is very important for a computer is to have separate
video memory. Someone once tried to convince me using main memory for
the video does not appreciably impact the CPU performance, but it has to
create a hit to the bandwidth. I always buy laptops with separate video
memory. I also got 16 GB of main memory with my laptop and have never
regretted that. I only regretted the machine it is in, a Lenovo, lol.


Why lol?

Because this laptop is a major piece of crap. Seems the Lenovo consumer
brand aims for a rock bottom price at the expense of quality. It has
many issues and is much worse than the Toshiba I had before (which I
wasn't totally fond of).

In contrast, getting 16 GB of main memory makes it run many apps well in
that regard. My previous machine only had 4 GB which was very limiting.


In addition to the limited choice, (e.g. all the devices in the project
are all 8 GB of RAM) it has been very difficult to get more additional
information about the devices (like, "can you extend the memory of the
HP envy from 8 to 16 GB, how much slots whould that use and what about
garantee if you do that?"

Also, for some reason, I find very limited information on how well
ubuntu runs on these devices.
(I guess "no news is good news").


BTW. For some reason, more and more of these devices come with relative
few USB slots.

Maybe because they are smaller machines. Mine has two USB 2.0 and two
USB 3.0. It also has HDMI, VGA and Ethernet. But then it has a 17 inch
screen. lol


Why lol?

It is the only thing of any value in this piece of crap laptop... well,
that and the separate graphics memory. Actually, the display is poor
quality having only a very narrow angle of clear viewing. Sometimes
when I watch movies I have to choose if I want to see the top or the
bottom of the screen clearly, not both.


Yesteray, I was testing my SPI-slave VHDL code on a cheap FPGA board
with a mbed board, and that required three USB slots: the FPGA board,
the mbed board and a logic analyser that set in between them.
Needless to say that the combination of altair quartus, chrome (for the
embed board) and the logic analyser software quickly ate up all my (4
GB) of memory I have on my current machine.

I use Lattice devices and found their basic USB programmer would not
work on a hub. Can't say if that was because of the programmer or the
hub, it was a cheap Chinese unit from Ebay. I think I may have bought a
name brand hub. I should try that just to see if the programmer will
work with it.


Although a lesser machine might do, in the long run one ends regretting
the choice. As an example I was recently working on the ep32 CPU a zero
address CPU and found that with Windows 10 64 bit some of the older
software used to generate programs for it would not work right, what
ended working right was when I used VMware virtual CPU running Windows 7
32 bits then everything worked flawlessly. Had my machine been not
capable of running VMware well the issues would not have been resolved.

I simply run ubuntu natively, not in a VM.


My FPGA machine uses an I7 at 3.4GHz, 24GB of RAM, and a 512GB SSD drive
for the OS and virtual partitions, it can handle anything I throw at it.

OK, but to put things in perspective, I am just a hobbyist. My goal is
to be able to try out one of the new riscv CPUs.

Riscy?

kristoff probably meant RISC-V.
But he is one of these people thinking that using proper case nad proper punctuation is above them...
https://en.wikipedia.org/wiki/RISC-V

Does that mean one with an embedded ARM on the chip? I have a
Microsemi board with a CM3 or CM4 on chip. Not nearly the performance
of the ARM11s on the X and A chips, but I'm not trying to run Linux on
my FPGA.

X and A don't have ARM11s on their chips. They have much more modern and much more fast ARM Cortex-A9.

I stand corrected. The point is they have much higher end CPUs than the
CM3 (or CM4) in the Microsemi chip.


I can always connect it to an rPi if I want that.


Perhaps I will get a olimex iCE40HX8K board that should come out in
october and try out the "icestorm" toolchain (completely open-source
FPGA toolchain for the ice40HX fpga's).

If you need a Lattice compatible programmer to get going, I bought one
of the Ebay clones and it seems to work ok. I can get you details if
you would like.


The people of the icestorm project claim thair toolchain uses much less
resources then the commercial products; and they also claim that have
been able to get one of the riscv implementations running on one board.

Translation?

--

Rick C

--

Rick C
 
Rickman,



On 25-09-16 04:55, rickman wrote:
As I work about 120 km from where I live for 3 days in a week, I am more
interested in a laptop with a limited screen-size as I do need to carry
the thing on the train and in my backpack every day).

I do have a large external screen at home.

One thing I think is very important for a computer is to have separate
video memory. Someone once tried to convince me using main memory for
the video does not appreciably impact the CPU performance, but it has to
create a hit to the bandwidth. I always buy laptops with separate video
memory. ...

Yes. A very valid point.



Yesteray, I was testing my SPI-slave VHDL code on a cheap FPGA board
with a mbed board, and that required three USB slots: the FPGA board,
the mbed board and a logic analyser that set in between them.
Needless to say that the combination of altair quartus, chrome (for the
embed board) and the logic analyser software quickly ate up all my (4
GB) of memory I have on my current machine.

I use Lattice devices and found their basic USB programmer would not
work on a hub. Can't say if that was because of the programmer or the
hub, it was a cheap Chinese unit from Ebay. I think I may have bought a
name brand hub. I should try that just to see if the programmer will
work with it.

I bought a cheap powered USB 3.0 hub and both the Chinese clones of the
Altera USB Blaster and Salea Logic Analyser work without a problem.
(under linux, that is).



OK, but to put things in perspective, I am just a hobbyist. My goal is
to be able to try out one of the new riscv CPUs.

Riscy? Does that mean one with an embedded ARM on the chip? I have a
Microsemi board with a CM3 or CM4 on chip. Not nearly the performance
of the ARM11s on the X and A chips, but I'm not trying to run Linux on
my FPGA. I can always connect it to an rPi if I want that.

No, I meant risc-v. See https://riscv.org/

It's an open ISA being developed at MIT (or, in fact, a family of ISAs)
and there are already a couple of open-source implementations of them.

64 bit versions:
Lowrisc: http://www.lowrisc.org/

SiFive: http://www.cnx-software.com/tag/fpga/
http://www.eetimes.com/document.asp?doc_id=1330086&page_number=1


32 bit versions:
Pulpino: http://www.pulp-platform.org/

f32c: https://github.com/f32c/f32c
as used here: http://www.nxlab.fer.hr/fpgarduino/

Seams like a fun project to play around with.




Perhaps I will get a olimex iCE40HX8K board that should come out in
october and try out the "icestorm" toolchain (completely open-source
FPGA toolchain for the ice40HX fpga's).

If you need a Lattice compatible programmer to get going, I bought one
of the Ebay clones and it seems to work ok. I can get you details if
you would like.

Olimex has released an open-source sketch for a programmer:

https://github.com/OLIMEX/iCE40HX1K-EVB/blob/master/programmer/olimexino-32u4%20firmware/iceprog.ino

This is for their ICE40HX1K board.


The people of the icestorm project claim thair toolchain uses much less
resources then the commercial products; and they also claim that have
been able to get one of the riscv implementations running on one board.

Translation?
https://www.youtube.com/watch?v=bQxVaScu9tg





Cheerio! Kr. Bonne.
 
On 9/26/2016 2:44 PM, kristoff wrote:
Rickman,



On 25-09-16 04:55, rickman wrote:
As I work about 120 km from where I live for 3 days in a week, I am more
interested in a laptop with a limited screen-size as I do need to carry
the thing on the train and in my backpack every day).

I do have a large external screen at home.

One thing I think is very important for a computer is to have separate
video memory. Someone once tried to convince me using main memory for
the video does not appreciably impact the CPU performance, but it has to
create a hit to the bandwidth. I always buy laptops with separate video
memory. ...

Yes. A very valid point.



Yesteray, I was testing my SPI-slave VHDL code on a cheap FPGA board
with a mbed board, and that required three USB slots: the FPGA board,
the mbed board and a logic analyser that set in between them.
Needless to say that the combination of altair quartus, chrome (for the
embed board) and the logic analyser software quickly ate up all my (4
GB) of memory I have on my current machine.

I use Lattice devices and found their basic USB programmer would not
work on a hub. Can't say if that was because of the programmer or the
hub, it was a cheap Chinese unit from Ebay. I think I may have bought a
name brand hub. I should try that just to see if the programmer will
work with it.

I bought a cheap powered USB 3.0 hub and both the Chinese clones of the
Altera USB Blaster and Salea Logic Analyser work without a problem.
(under linux, that is).

USB is one of those things that sounds great in theory, but has problems
in practice. Windows doesn't help.


OK, but to put things in perspective, I am just a hobbyist. My goal is
to be able to try out one of the new riscv CPUs.

Riscy? Does that mean one with an embedded ARM on the chip? I have a
Microsemi board with a CM3 or CM4 on chip. Not nearly the performance
of the ARM11s on the X and A chips, but I'm not trying to run Linux on
my FPGA. I can always connect it to an rPi if I want that.

No, I meant risc-v. See https://riscv.org/

It's an open ISA being developed at MIT (or, in fact, a family of ISAs)
and there are already a couple of open-source implementations of them.

Oh, my bad, you wrote riscv and I read "riscy". lol I'm familiar with
risc-v, but the way you talk about the FPGAs they already have a
processor in them. I thought you were talking about the FPGA, but you
mean you want to try the risc-v core and the FPGA is just the vehicle.


Perhaps I will get a olimex iCE40HX8K board that should come out in
october and try out the "icestorm" toolchain (completely open-source
FPGA toolchain for the ice40HX fpga's).

If you need a Lattice compatible programmer to get going, I bought one
of the Ebay clones and it seems to work ok. I can get you details if
you would like.

Olimex has released an open-source sketch for a programmer:

https://github.com/OLIMEX/iCE40HX1K-EVB/blob/master/programmer/olimexino-32u4%20firmware/iceprog.ino


This is for their ICE40HX1K board.


The people of the icestorm project claim thair toolchain uses much less
resources then the commercial products; and they also claim that have
been able to get one of the riscv implementations running on one board.

Translation?
https://www.youtube.com/watch?v=bQxVaScu9tg

That's a 45 minute video! But I did watch the first few minutes and saw
the FPGA board mounted on the rPi as its dev system. Pretty cool.

But I don't think that alone indicates economy of memory. The chips
they target are only a few kLUTs rather than 100s or 1000s of kLUTs.
Still it's interesting. I have an iCE40 project on the back burner that
would be interesting to try with this dev system. I've just never taken
the time to study it enough to get it up and running.

Getting a riscv running in an iCE40 is a feat. They only come up to 8
kLUTs. But still, that's not interesting to me. I am interested in
processors that only use a few hundred LUTs.

--

Rick C
 
David Brown <david.brown@hesbynett.no> wrote:
> What sort of sizes are you talking about for these files?

The total size of files touched is of the order of gigabytes.

If you have enough ram, so that they are in your disk caches, then disk
latency will be pretty much irrelevant. When the app writes the files,
they go into cache - the actual write to disk takes place asynchronously
unless the app specifically waits for it - the delay before hitting the
disk surface does not matter. When the app reads the files, they are
already in cache and the data is returned immediately. (This is on
Linux - Windows tends to wait for files to be written out, then might
clear them from cache so that they must be re-read later.)

That doesn't help if you're touching the file for the first time. In the
case of building collections of IP you scan the library files (lots of small
verilog files) which means lots of small reads of disparate files.

Bear in mind that FPGA builds are long enough that the files may go into the
cache, but they aren't there when your build completes after an hour and you
start a new build. On 16GB-class desktops/laptops there's enough going on
that the cache probably doesn't stick around long enough.

Theo
 
On 27/09/16 08:18, Theo Markettos wrote:
David Brown <david.brown@hesbynett.no> wrote:
What sort of sizes are you talking about for these files?

The total size of files touched is of the order of gigabytes.

If you have enough ram, so that they are in your disk caches, then disk
latency will be pretty much irrelevant. When the app writes the files,
they go into cache - the actual write to disk takes place asynchronously
unless the app specifically waits for it - the delay before hitting the
disk surface does not matter. When the app reads the files, they are
already in cache and the data is returned immediately. (This is on
Linux - Windows tends to wait for files to be written out, then might
clear them from cache so that they must be re-read later.)

That doesn't help if you're touching the file for the first time. In the
case of building collections of IP you scan the library files (lots of small
verilog files) which means lots of small reads of disparate files.

That is true, for the first time you read them (after booting, or waking
from sleep). Thereafter the files are in the cache.

Bear in mind that FPGA builds are long enough that the files may go into the
cache, but they aren't there when your build completes after an hour and you
start a new build. On 16GB-class desktops/laptops there's enough going on
that the cache probably doesn't stick around long enough.

The key here is to have enough memory so that this does not happen.
That is a challenge on a laptop, because you seldom get lots of memory -
but on a desktop/workstation for FPGA design, 24 GB or 32 GB is not
going to be unreasonable (32 GB is a similar price to a reasonable SSD).

 
kristoff <kristoff@skypro.be> wrote:
Well, what got me thinking is the fact that my employer now has a
project with HP which includes an additional reduction on the price, but
-in the other hand- really limits my choice.

As I work about 120 km from where I live for 3 days in a week, I am more
interested in a laptop with a limited screen-size as I do need to carry
the thing on the train and in my backpack every day).

I do have a large external screen at home.

Do you work on the train? Or is the requirement simply for portability?

One of our remote workers uses a Skull Canyon NUC. This has an i7 with
EDRAM so is reasonably quick a Quartus compiles. It's about 5% off the best
out there (the i7-5775c) - the EDRAM is shared with the GPU and there's no
way to plug in an external GPU. It's a 'portable desktop' rather than a
laptop - he has a second power supply, so just needs to carry the NUC around
and plug it into power, USB and monitor in each place. Intel have put a lot
of effort into the cooling solution for such a small package - it's not a
95W desktop, but performance is pretty close.

One possible advantage of the NUC is you can point at it and say 'HP don't
sell anything like that' which might work around purchasing requirements.

Otherwise I'd suggest looking at graphics workstation laptops (eg Xeon).
I'm not familiar with what HP have, but likely small and light they aren't.

Theo
 

Welcome to EDABoard.com

Sponsor

Back
Top