Reply by Theo Markettos September 28, 20162016-09-28
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
Reply by David Brown September 27, 20162016-09-27
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).
> > Theo >
Reply by Theo Markettos September 27, 20162016-09-27
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
Reply by rickman September 26, 20162016-09-26
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
Reply by kristoff September 26, 20162016-09-26
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.
Reply by rickman September 25, 20162016-09-25
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
Reply by September 25, 20162016-09-25
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
Reply by rickman September 24, 20162016-09-24
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
Reply by kristoff September 23, 20162016-09-23
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. 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.
> 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. 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.
Reply by David Brown September 23, 20162016-09-23
On 22/09/16 17:23, Theo Markettos wrote:
> kristoff <kristoff@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>