I am probably opening a can of worms, but why are FPGAs so slow? The CPU cores at www.opencore.org represent an ever growing number of excellent and very practical, but slow processor implementations. What I mean is 240-500Mhz FPGAs, when market CPUs are in the 3Ghz range. Surely there must be 1 or 2 Ghz FPGAs available with sub nano second gate switch/propagation times. Or possibly it is a verilog, vhdl or synthesis problem with the designs? Should I just use mass manufactured high speed CPUs and relegate the other discrete logic to CPLD/FPGAs?? Lastly, how fast is NIOSII?
Newbie: Slow FPGAs
Started by ●March 17, 2005
Reply by ●March 17, 20052005-03-17
If you need huge processing speeds, "just use mass manufactured high speed CPUs." If you want processing to augment your FPGA logic, consider adding a processor that adds functionality, not necessarily silicon-optimized speed. After all, how many DMIPs do you need? Consider the 450 MHz PPC core in the Xilinx devices. That PPC405 core is running about as fast as you can get in any other PPC405 implementation. It *is* optimized silicon. The Intels and AMDs of this world typically produce designs that run in the 10s of watts. I want to run my FPGAs much cooler. Modern FPGAs aren't slow. The processors you think of as "normal" speeds are just highly optimized. "dave" <dave@dave.dave> wrote in message news:d1cobl$rs6$1@news8.svr.pol.co.uk...> I am probably opening a can of worms, but why are FPGAs so slow? > > The CPU cores at www.opencore.org represent an ever growing number of > excellent and very practical, but slow processor implementations. What I > mean is 240-500Mhz FPGAs, when market CPUs are in the 3Ghz range. > > Surely there must be 1 or 2 Ghz FPGAs available with sub nano second > gate switch/propagation times. > > Or possibly it is a verilog, vhdl or synthesis problem with the designs? > > Should I just use mass manufactured high speed CPUs and relegate the > other discrete logic to CPLD/FPGAs?? > > Lastly, how fast is NIOSII?
Reply by ●March 17, 20052005-03-17
I quite agree with John_H its a mistake to compare FPGA functionality and CPU functionality,they are just fundamentaly different things.I also think its a mistake to implement a CPU in a FPGA but I'll prolly get flamed for saying that.
Reply by ●March 17, 20052005-03-17
Well I'm not really sure but this is what i think about your question: 1. the first reason is that fpga are made to do all sort of design so you have route and interconnexion that consume time, in the case of a cpu you have a specific architecture so it can go faster (look at integrated multiplier in fpga go faster than if you implemented one in a fpga with lut and gate) 2.If you implement a specific algorithm in a fpga it will go faster than in a cpu because you can make hardware optimisation and where you could use 10 cycle with cpu it will need only 1 cycle in a fpga , and you could also implement many other processing unit, thing you could'nt do in a cpu I remember that during my courses of image processing that some algorithm in fpga @100MHz could process 1000*faster than a P4@2GHz Frequency is not always the key look at AMD and Intel they are not running at the same frequency but they are both powerfull equivalent. And there is many other kind of CPU and also DSP. 3.I think Fast CPU instruction take also more cycle than soft CPU because of pipeline, so you go faster but you need more time(should i say cycle) to have your result , and in recursive computation it's a really annoying thing. 4. If you run faster you also consume more current so for many application (as embedded) going faster is not an interesting 5. comparing fpga and cpu is useless because they are not made for doing the same thing , CPU embedded in FPGA are more made to control other process and other task that don't need too much computation power comparing FPGA and CPU is like comparing plane and car Regards <dave@dave.dave> a �crit dans le message de news: d1cobl$rs6$1@news8.svr.pol.co.uk...>I am probably opening a can of worms, but why are FPGAs so slow? > > The CPU cores at www.opencore.org represent an ever growing number of > excellent and very practical, but slow processor implementations. What I > mean is 240-500Mhz FPGAs, when market CPUs are in the 3Ghz range. > > Surely there must be 1 or 2 Ghz FPGAs available with sub nano second gate > switch/propagation times. > > Or possibly it is a verilog, vhdl or synthesis problem with the designs? > > Should I just use mass manufactured high speed CPUs and relegate the other > discrete logic to CPLD/FPGAs?? > > Lastly, how fast is NIOSII?
Reply by ●March 17, 20052005-03-17
"Whoa there, hold your horses Tex!" What I consider "normal" speeds?!!? I work with DSPs & parallel computers, however my home PCs max out at 700Mhz! It was a simple question, put your sword away. You're correct. After all, why would Xilinx create a 450Mhz PPC core. Highly optimized to achieve..... Anyway FPGAs are not for implementing processors. Bad idea right. They are just for combining discrete logic in a smaller space. <pause> Contrary to what you may think there is a market for Ghz speed flexible FPGAs. But hey, what do I know, I am just a HDL newbie. FlameOn buddy.... John_H wrote:> If you need huge processing speeds, "just use mass manufactured high speed > CPUs." > > If you want processing to augment your FPGA logic, consider adding a > processor that adds functionality, not necessarily silicon-optimized speed. > After all, how many DMIPs do you need? > > Consider the 450 MHz PPC core in the Xilinx devices. That PPC405 core is > running about as fast as you can get in any other PPC405 implementation. It > *is* optimized silicon. > > The Intels and AMDs of this world typically produce designs that run in the > 10s of watts. I want to run my FPGAs much cooler. > > Modern FPGAs aren't slow. The processors you think of as "normal" speeds > are just highly optimized. > > > "dave" <dave@dave.dave> wrote in message > news:d1cobl$rs6$1@news8.svr.pol.co.uk... > >>I am probably opening a can of worms, but why are FPGAs so slow? >> >>The CPU cores at www.opencore.org represent an ever growing number of >>excellent and very practical, but slow processor implementations. What I >>mean is 240-500Mhz FPGAs, when market CPUs are in the 3Ghz range. >> >>Surely there must be 1 or 2 Ghz FPGAs available with sub nano second >>gate switch/propagation times. >> >>Or possibly it is a verilog, vhdl or synthesis problem with the designs? >> >>Should I just use mass manufactured high speed CPUs and relegate the >>other discrete logic to CPLD/FPGAs?? >> >>Lastly, how fast is NIOSII? > > >
Reply by ●March 17, 20052005-03-17
Ahhh! An answer that values my newbie-ness. Ok, I think HDL and FPGA/CPLD is worth a look. Once again, thanks. KCL wrote:> Well I'm not really sure but this is what i think about your question: > > 1. the first reason is that fpga are made to do all sort of design so you > have route and interconnexion that consume time, in the case of a cpu you > have a specific architecture so it can go faster (look at integrated > multiplier in fpga go faster than if you implemented one in a fpga with lut > and gate) > > 2.If you implement a specific algorithm in a fpga it will go faster than in > a cpu because you can make hardware optimisation and where you could use 10 > cycle with cpu it will need only 1 cycle in a fpga , and you could also > implement many other processing unit, thing you could'nt do in a cpu > I remember that during my courses of image processing that some algorithm in > fpga @100MHz could process 1000*faster than a P4@2GHz > > Frequency is not always the key look at AMD and Intel they are not running > at the same frequency but they are both powerfull equivalent. And there is > many other kind of CPU and also DSP. > > 3.I think Fast CPU instruction take also more cycle than soft CPU because of > pipeline, so you go faster but you need more time(should i say cycle) to > have your result , and in recursive computation it's a really annoying > thing. > > 4. If you run faster you also consume more current so for many application > (as embedded) going faster is not an interesting > > > 5. comparing fpga and cpu is useless because they are not made for doing the > same thing , CPU embedded in FPGA are more made to control other process and > other task that don't need too much computation power > comparing FPGA and CPU is like comparing plane and car > > Regards > > <dave@dave.dave> a �crit dans le message de news: > d1cobl$rs6$1@news8.svr.pol.co.uk... > >>I am probably opening a can of worms, but why are FPGAs so slow? >> >>The CPU cores at www.opencore.org represent an ever growing number of >>excellent and very practical, but slow processor implementations. What I >>mean is 240-500Mhz FPGAs, when market CPUs are in the 3Ghz range. >> >>Surely there must be 1 or 2 Ghz FPGAs available with sub nano second gate >>switch/propagation times. >> >>Or possibly it is a verilog, vhdl or synthesis problem with the designs? >> >>Should I just use mass manufactured high speed CPUs and relegate the other >>discrete logic to CPLD/FPGAs?? >> >>Lastly, how fast is NIOSII? > > >
Reply by ●March 17, 20052005-03-17
Jezwold wrote:> I quite agree with John_H its a mistake to compare FPGA functionality > and CPU functionality,they are just fundamentaly different things.I > also think its a mistake to implement a CPU in a FPGA but I'll prolly > get flamed for saying that. >Honest question, why is it a mistake?
Reply by ●March 17, 20052005-03-17
Ghz speed FPGAs with sub ns are seriously expensive,but as you say there must be a market otherwise they wouldnt make them. Ive just never come across anyone who used them to implement a general purpose CPU
Reply by ●March 17, 20052005-03-17
Jezwold wrote:> Ghz speed FPGAs with sub ns are seriously expensive,but as you say > there must be a market otherwise they wouldnt make them. Ive just never > come across anyone who used them to implement a general purpose CPU >Thank you, I'm learning. (don't worry, I'll shut up soon!!)
Reply by ●March 17, 20052005-03-17
Hi dave,> I am probably opening a can of worms, but why are FPGAs so slow?Because they're general-purpose logic embedded in a sea of wires.> The CPU cores at www.opencore.org represent an ever growing number of > excellent and very practical, but slow processor implementations. What I > mean is 240-500Mhz FPGAs, when market CPUs are in the 3Ghz range.These CPUs make use of the same kind of technology, but the difference is that all the silicon is designed for one single purpose. A CPU is a CPU, and that's all it can be. An FPGA can be a CPU, a bingo machine, an audio effects processor, a medical imager, you name it.> Surely there must be 1 or 2 Ghz FPGAs available with sub nano second > gate switch/propagation times.The switching time of a Stratix II logic element is about 250ps (depends on which input is being used and what output path is chosen), which would theoretically allow such speeds, and I'm sure that if I write an oscillator for one logic cell, that I will get an oscillating signal in the GHz range. Depending on which routing structure I use I will either get a 2GHz (internal feedback path) or a 1GHz (local routing) signal.> Or possibly it is a verilog, vhdl or synthesis problem with the designs?Nope. ASIC synthesis is indeed more fine-grained than FPGA synthesis. If an equation needs a NAND, in an ASIC, a NAND is placed, and dedicated wires are laid out to connect the NAND to its inputs and outputs.. In an FPGA, a connection is made to a design element, and this element is then configured to function as a NAND. A single FPGA 'design' element is capable of performing much more complex functions than NANDs alone though. The output of the design element then goes into a big multiplexer. This multiplexer connects the output of the design element to a variety of routing structures. These routing structures, in turn connect to other multiplexers, which connect to either other routing structures etc, or to the inputs of other design elements. As you can see, not only the design elements in an FPGA are general purpose, but so is the interconnect. So, in short, the silicon in a modern an FPGA is indeed high-performance, but due to its general-purpose nature, it can never be as fast as dedicated ASIC logic.> Should I just use mass manufactured high speed CPUs and relegate the > other discrete logic to CPLD/FPGAs??Horses for courses. An 'industry CPU', as you call it (I'm thinking AMD or Intel), requires a lot of support chips to properly function - it thrives in an environment that conforms to a (large) number of conditions. An FPGA can basically be plonked into any situation that requires some sort of digital function - and a CPU is just one of the many functions that can be integrated in that little square with legs. It will never be as good as dedicated silicon, but in many cases, dedicated silicon just isn't there.> Lastly, how fast is NIOSII?Pretty fast. It's a 32bit RISC softcore with a 1/5/6-stage pipeline that runs at ~150MHz in a Stratix II and at ~80MHz in a Cyclone - but Your Mileage May Vary, depending on custom instructions for the ALU, other logic getting in the way, speed grades, fill factor etc etc. Note that if you have a parallelizable algorithm, you can spread the load over multiple NIOSen in the same FPGA... Best regards, Ben Not from the marketing department ;-)





