EDAboard.com | EDAboard.eu | EDAboard.de | EDAboard.co.uk | RTV forum PL | NewsGroups PL

requirement for PC for VHDL design

Ask a question - edaboard.com

elektroda.net NewsGroups Forum Index - FPGA - requirement for PC for VHDL design

Goto page Previous  1, 2

Theo Markettos
Guest

Thu Sep 22, 2016 5:57 pm   



Cecil Bayona <cbayona_at_cbayona.com> wrote:
Quote:
That is the beauty of having options, I used to use VirtualBox myself
but after a bout where VirtualBox removed the licenses to Windows 10 out
of the blue I switched to VMware.

I installed Windows 7 and used up a license, then upgraded it to Windows
10 and all was fine for a while, then on one of the upgrades to
VirtualBox it removed the licenses to Windows 10 and several Partitions
that had Windows Server that I used for school also lost their licenses,
that was it, and away it went.


Our Quartus measurement suggests that VirtualBox performance (Linux host on
Linux guest as it happens, but that shouldn't matter so much) is within
about 10-15% of running on the host. The same feels about true with VMWare
Fusion on comparable hardware (obviously we can't run Quartus on macOS, and
I haven't tried native Linux). I haven't tested Quartus directly on Windows
of any kind.

Theo


Guest

Thu Sep 22, 2016 6:23 pm   



On Thursday, September 22, 2016 at 6:23:22 PM UTC+3, Theo Markettos wrote:
Quote:
kristoff <kristoff_at_skypro.be> wrote:
What would one see as requirements for a PC for FPGA design for a hobbyist?
I guess memory is the main issue. Or not?

The most critical thing involved in choosing hardware for synthesis (at
least with Altera tools) is not what you expect. It's Iris Pro graphics.
And it's even better when you have Iris Pro graphics /and/ a discrete GPU.
Even though the tools don't use the GPU for compute whatsoever.

Think I'm crazy? Here's the explanation.

FPGA synthesis is very memory heavy. The in-memory dataset can be large (eg
for Cyclone V Altera recommend 6GB of memory - that probably means you want
8GB DRAM if you want to use larger FPGAs or run anything else). This
utterly hammers the CPU cache which is tiny in comparison (2MB/core on many
Intel parts). That means memory latency is a big bottleneck.

Some (not all) Iris Pro parts have EDRAM, which is 32/64/128MB of DRAM in
the CPU package. It's intended for the GPU to have closer memory for than
having to share DDR3/DDR4 with everything else. However on some Haswell,
Broadwell and Skylake parts, the EDRAM can be used as L4 cache for the CPU.

The latency of EDRAM is about half that of DDR3, and this shows in benchmark
results - eg against a dual-socket E5-2667v2 (8 cores per socket) the
Broadwell i7-5775c (quad-core 128MB EDRAM, 6MB L2) is about twice as quick.
Against an i7-6700k the Broadwell is about 10-20% quicker (I don't have the
exact numbers here). I tweaked other parts of the Broadwell machine with
some excessively 'enthusiast' parts (DDR3-2400, NVMe, crazy cooler) which
made insignificant differences but it was the CPU choice that stood out.

Now the bit I haven't benchmarked is as follows. The L4 is relatively
small, and so having the GPU take out a chunk isn't ideal. So my theory
goes that a machine with Iris Pro graphics and any old discrete GPU will
prevent the video system using the EDRAM and so keep it all for use as L4.
Because I don't know exactly what the GPU drivers will use EDRAM for I
haven't found a good way to benchmark EDRAM contention. The two test
machines I have are using ancient Radeon X1300 and Geforce 7700 GPUs just to
have a basic display off the EDRAM.

The downside to this is that EDRAM is pretty rare across Intel's product
range, particularly in desktops and servers.


I think, eDRAM presents in all Xeon-E3 v4 (Broadwell) processors.
For Xeon E3 v5 (Skylake) Intel ark suggests E3-1585 v5, E3-1585L v5 and E3-1565L v5 as well as a few mobile Xeons, like E3-1545M v5

Quote:
However it's more common in
laptops - which means that, if you can get the cooling package right, a
laptop isn't a bad option for synthesis. The other option, unless you're
willing to go to a desktop i7-5775c or i7-5675c, or a Xeon E3-1200 v4, is
the Skylake Skull Canyon NUC. Despite being thermally constrained this
clocks in about the same performance as an i7-6700k desktop with a massive
cooling solution (the NUC is also sharing EDRAM with the GPU).

Theo

(who would be very interested if there's any standardised benchmarks out
there for synthesis tools)


Interesting.
If memory latency is so crazily important then probably even a number of installed DIMMs matters. 4 DIMMs will work slower than 2 DIMMs.
ECC also adds to latency, but probably less so than 4 DIMMs.

David Brown
Guest

Fri Sep 23, 2016 1:00 pm   



On 22/09/16 17:51, Theo Markettos wrote:
Quote:
David Brown <david.brown_at_hesbynett.no> wrote:
If you have a very large working set (i.e., a lot of big files that you
are reading and writing at once), so that the data can't be cached in
your ram, then an SSD will often be faster. But even then, a couple of
decent HD's in raid (Linux supports top-class software raid) will often
give you similar speed.

Of course, an SSD is never a /bad/ thing - but if you have a choice of
an SSD or more ram, then more ram is usually the best use of your money.

For Quartus, there are two phases with different performance
characteristics:

Synthesis is mostly RAM-bound, except when it needs to interact with the
on-disk database (which can be about 1GB in size).

IP Generation (mostly the Qsys tool) - when you ask it to generate
Verilog for a system-on-chip you built, and it produces a large number of
verilog files instantiating all the IP you need for your system. This is
disk bound because it's all about latency.


SATA SSD will make IP generation about a factor of 2 faster, NVMe perhaps
1.5x faster than SATA SSD. SATA SSD is perhaps 10% quicker for synthesis
(figures off the top of my head, I don't have hard numbers with me). NVMe
didn't make much difference to synthesis.

What really kills is network filesystems. Do not put your files on NFS, or
worse any kind of off-premises network filesystem, because you will be in for
much pain. Do not put your files in Dropbox, because you will then thrash
trying to upload them (as well as eat bandwidth for breakfast).


What sort of sizes are you talking about for these files?

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.)

If these files are temporaries, then the best choice of filesystem for
them is tmpfs (again, on Linux). Even if you don't have quite enough
ram, so that the tmpfs spills into swap, it is more efficient -
structures like directories and allocation tables are entirely within
ram, and the tmpfs doesn't bother with logs, barriers, or anything else
integrity-related. More ram and a tmpfs will beat the fastest PCIe
SSD's by orders of magnitude.


But of course an SSD is faster than an HD, as well as being more
reliable (in some ways at least), and quieter. My point is just that
you concentrate on ram first, disk second when you are wanting to have
quick handling of files that are within the size that fits in ram.

Quote:

At the moment flash is cheap enough that I won't really consider HDD any
more except for semi-archival storage. Though beware the cheap end of the
consumer flash market where there's plenty of dross (5400rpm laptop HDDs are
pretty dire too). My current trick is buying 'prosumer' kit (eg Samsung 850
EVO) and formatting it 7-10% short. That gives the controller some margin
so that performance consistency doesn't nosedive as it gets full, but is
cheaper than buying the 'PRO' models (which are ~50% more expensive last
time I looked at 1TB). I have no numbers to back that up as yet, but my
strategy is taken from staring at too many benchmark graphs.


I agree with that strategy (also based on just a few numbers of my own,
and lots of "this makes sense to me" feelings). But make sure you do
your 90-95% partitioning when the disk is new and clean, or after a full
secure erase! Decent SSDs already have a certain amount of
overprovisioning, but leaving a little space unused at the end to
increase the overprovisioning can improve performance and lifetimes
under heavy write load (at the expense of reduced capacity, of course).

David Brown
Guest

Fri Sep 23, 2016 1:09 pm   



On 22/09/16 17:23, Theo Markettos wrote:
Quote:
kristoff <kristoff_at_skypro.be> wrote:
What would one see as requirements for a PC for FPGA design for a hobbyist?
I guess memory is the main issue. Or not?

The most critical thing involved in choosing hardware for synthesis (at
least with Altera tools) is not what you expect. It's Iris Pro graphics.
And it's even better when you have Iris Pro graphics /and/ a discrete GPU.
Even though the tools don't use the GPU for compute whatsoever.

Think I'm crazy? Here's the explanation.

FPGA synthesis is very memory heavy. The in-memory dataset can be large (eg
for Cyclone V Altera recommend 6GB of memory - that probably means you want
8GB DRAM if you want to use larger FPGAs or run anything else). This
utterly hammers the CPU cache which is tiny in comparison (2MB/core on many
Intel parts). That means memory latency is a big bottleneck.

Some (not all) Iris Pro parts have EDRAM, which is 32/64/128MB of DRAM in
the CPU package. It's intended for the GPU to have closer memory for than
having to share DDR3/DDR4 with everything else. However on some Haswell,
Broadwell and Skylake parts, the EDRAM can be used as L4 cache for the CPU.

The latency of EDRAM is about half that of DDR3, and this shows in benchmark
results - eg against a dual-socket E5-2667v2 (8 cores per socket) the
Broadwell i7-5775c (quad-core 128MB EDRAM, 6MB L2) is about twice as quick.
Against an i7-6700k the Broadwell is about 10-20% quicker (I don't have the
exact numbers here). I tweaked other parts of the Broadwell machine with
some excessively 'enthusiast' parts (DDR3-2400, NVMe, crazy cooler) which
made insignificant differences but it was the CPU choice that stood out.

Now the bit I haven't benchmarked is as follows. The L4 is relatively
small, and so having the GPU take out a chunk isn't ideal. So my theory
goes that a machine with Iris Pro graphics and any old discrete GPU will
prevent the video system using the EDRAM and so keep it all for use as L4.
Because I don't know exactly what the GPU drivers will use EDRAM for I
haven't found a good way to benchmark EDRAM contention. The two test
machines I have are using ancient Radeon X1300 and Geforce 7700 GPUs just to
have a basic display off the EDRAM.

The downside to this is that EDRAM is pretty rare across Intel's product
range, particularly in desktops and servers. However it's more common in
laptops - which means that, if you can get the cooling package right, a
laptop isn't a bad option for synthesis. The other option, unless you're
willing to go to a desktop i7-5775c or i7-5675c, or a Xeon E3-1200 v4, is
the Skylake Skull Canyon NUC. Despite being thermally constrained this
clocks in about the same performance as an i7-6700k desktop with a massive
cooling solution (the NUC is also sharing EDRAM with the GPU).

Theo

(who would be very interested if there's any standardised benchmarks out
there for synthesis tools)


Thanks for that post - it was very interesting, and I will keep those
ideas in mind if I need a fast system sometime.

There is a list of the Intel devices with eDRAM at Wikipedia (which
usually has more convenient lists than anyone else) :

<https://en.wikipedia.org/wiki/Intel_HD_and_Iris_Graphics>

kristoff
Guest

Fri Sep 23, 2016 9:14 pm   



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:
Quote:
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.



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.

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.



Quote:
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.


Quote:
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.



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).


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.



Cheerio! Kr. Bonne.

rickman
Guest

Sun Sep 25, 2016 7:30 am   



On 9/23/2016 11:14 AM, kristoff wrote:
Quote:
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.


Quote:
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


Quote:
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.


Quote:
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.


Quote:
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.


Quote:
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


Guest

Sun Sep 25, 2016 10:09 am   



On Sunday, September 25, 2016 at 5:55:56 AM UTC+3, rickman wrote:
Quote:
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?

Quote:

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?

Quote:

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

Quote:
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.

Quote:
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


rickman
Guest

Mon Sep 26, 2016 5:10 am   



On 9/25/2016 4:09 AM, already5chosen_at_yahoo.com wrote:
Quote:
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.


Quote:
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.


Quote:
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.


Quote:
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

kristoff
Guest

Tue Sep 27, 2016 12:44 am   



Rickman,



On 25-09-16 04:55, rickman wrote:
Quote:
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.



Quote:
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).



Quote:
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.




Quote:
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.


Quote:
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.

rickman
Guest

Tue Sep 27, 2016 1:39 am   



On 9/26/2016 2:44 PM, kristoff wrote:
Quote:
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.


Quote:
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.


Quote:
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

Theo Markettos
Guest

Tue Sep 27, 2016 7:30 am   



David Brown <david.brown_at_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.

Quote:
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

David Brown
Guest

Tue Sep 27, 2016 1:12 pm   



On 27/09/16 08:18, Theo Markettos wrote:
Quote:
David Brown <david.brown_at_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.

Quote:

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).

Quote:

Theo


Theo Markettos
Guest

Wed Sep 28, 2016 8:43 am   



kristoff <kristoff_at_skypro.be> wrote:
Quote:
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

Goto page Previous  1, 2

elektroda.net NewsGroups Forum Index - FPGA - requirement for PC for VHDL design

Ask a question - edaboard.com

Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
RTV map EDAboard.com map News map EDAboard.eu map EDAboard.de map EDAboard.co.uk map