FPGARelated.com
Forums

When are FPGAs the right choice?

Started by Mike Silva February 13, 2008
I've been programming embedded micros for a long time, and have a
decent understanding of hardware.  I finally ordered an FPGA
development kit (still in the mail) because I find the whole FPGA
concept fascinating.  What I don't grasp is when an FPGA is the best
choice.  To get a better feel for this, I'd like to hear some comments
on when an FPGA is the best fit, and also when an FPGA turned out to
be a poor choice.  Many thanks for any advice.

Mike
i think FPGAs is a good choice when

1). there's lots of data parallelism inside the algorithm you gonna
run on FPGAs. FPGAs is enabled to exploit such data parallelism and
achieve amazing performance;

2). when your design needs to change frequently, FPGAs is a good
choice b/c it can be configured tens of thousands of times without
bothering PCB change;

3). also, low volume in production, low speed in design. otherwise,
ASICs will probably be your solution.

On Feb 13, 9:01 am, Mike Silva <snarflem...@yahoo.com> wrote:
> I've been programming embedded micros for a long time, and have a > decent understanding of hardware. I finally ordered an FPGA > development kit (still in the mail) because I find the whole FPGA > concept fascinating. What I don't grasp is when an FPGA is the best > choice. To get a better feel for this, I'd like to hear some comments > on when an FPGA is the best fit, and also when an FPGA turned out to > be a poor choice. Many thanks for any advice. > > Mike
"Mike Silva" <snarflemike@yahoo.com> wrote in message 
news:24a760f9-e4d0-4bb7-8392-a32957d14f07@e25g2000prg.googlegroups.com...
> I've been programming embedded micros for a long time, and have a > decent understanding of hardware. I finally ordered an FPGA > development kit (still in the mail) because I find the whole FPGA > concept fascinating. What I don't grasp is when an FPGA is the best > choice. To get a better feel for this, I'd like to hear some comments > on when an FPGA is the best fit, and also when an FPGA turned out to > be a poor choice. Many thanks for any advice. > > Mike
Hi Mike, Did you try Google? fpga vs microcontroller Please come back when you have a specific application in mind that a Google search does help with. Cheers, Syms. p.s. It's very close on Googlefight! http://googlefight.com/index.php?lang=en_GB&word1=fpga&word2=microcontroller
On Wed, 13 Feb 2008 06:01:40 -0800 (PST), Mike Silva <snarflemike@yahoo.com> wrote:

>I've been programming embedded micros for a long time, and have a >decent understanding of hardware. I finally ordered an FPGA >development kit (still in the mail) because I find the whole FPGA >concept fascinating. What I don't grasp is when an FPGA is the best >choice. To get a better feel for this, I'd like to hear some comments >on when an FPGA is the best fit, and also when an FPGA turned out to >be a poor choice. Many thanks for any advice. > >Mike
Looking at an FPGA as a 'step up' from a MCU, the primary advantages are Speed, Parallelism and Pin count. The downsides are power consumption, power management ( multiple rails), packaging ( BGAs etc.) and availability (fewer parts routinely available off-the-shelf) .
On Feb 13, 11:08=A0am, "Symon" <symon_bre...@hotmail.com> wrote:
> > Hi Mike, > Did you try Google? > fpga vs microcontroller > Please come back when you have a specific application in mind that a Googl=
e
> search does help with. > Cheers, Syms. > > p.s. It's very close on Googlefight!http://googlefight.com/index.php?lang=
=3Den_GB&word1=3Dfpga&word2=3Dmicrocon... Well, I wasn't really thinking in terms of fpga vs. micro, although I'm sure that's one tradeoff. I was asking more about fpga (with or without a soft core) vs. every other solution, and when fpgas are the right choice, and when they might not be the right choice. Does that make sense? And I don't have any application in mind - just interested in expanding my horizons. Mike
Mike Silva wrote:
> On Feb 13, 11:08 am, "Symon" <symon_bre...@hotmail.com> wrote: >> >> Hi Mike, >> Did you try Google? >> fpga vs microcontroller >> Please come back when you have a specific application in mind that a >> Google >> search does help with. >> Cheers, Syms. >> >> p.s. It's very close on >> Googlefight!http://googlefight.com/index.php?lang=en_GB&word1=fpga&word2=microcon... > > Well, I wasn't really thinking in terms of fpga vs. micro, although > I'm sure that's one tradeoff. I was asking more about fpga (with or > without a soft core) vs. every other solution, and when fpgas are the > right choice, and when they might not be the right choice. Does that > make sense? > > And I don't have any application in mind - just interested in > expanding my horizons. > > Mike
Hi Mike, OK, in your OP you mentioned micros, that's why I replied as I did. I'm unsure what else you want to compare with. DSPs are the other old chestnut. Google works for that also! CPLDs? 74 series logic? Cheers, Syms.
Mike Silva wrote:
> I've been programming embedded micros for a long time, and have a > decent understanding of hardware. I finally ordered an FPGA > development kit (still in the mail) because I find the whole FPGA > concept fascinating. What I don't grasp is when an FPGA is the best > choice. To get a better feel for this, I'd like to hear some comments > on when an FPGA is the best fit, and also when an FPGA turned out to > be a poor choice. Many thanks for any advice.
When you cannot do the task with a Microcontroller alone. It is very common to have both, so then the question is one of task allocation, rather than "when an FPGA is the best choice". Micros have advanced quite a bit in recent times, and Atmel are claiming above 200MIPS from flash with AT91SAM9XE series. This uses 128 bit fetch & starts at $7.30/10K - so that device would make a good FPGA companion. -jg

Mike Silva wrote:
> I've been programming embedded micros for a long time, and have a > decent understanding of hardware. I finally ordered an FPGA > development kit (still in the mail) because I find the whole FPGA > concept fascinating. What I don't grasp is when an FPGA is the best > choice. To get a better feel for this, I'd like to hear some comments > on when an FPGA is the best fit, and also when an FPGA turned out to > be a poor choice. Many thanks for any advice.
CPU's are serial, they do one thing at a time. One other thing is they can't be clocked by an external transition, ie. that their time to respond to an external event is VERY finite. Something I have made a LOT of are quadrature encoder counters, where you don't want to miss transitions on the quadrature lines. I have the counter clocked at 1 MHz, so I can implement some digital filtering on the quadrature inputs. This allows the counter to count with absolutely guaranteed reliability up to at least 300,000 counts/second. One FPGA handles 4 channels like this with parallel logic. I'd challenge anyone to make a traditional microcontroller do this without dedicated logic on the CPU, just by sampling the input ports. This is a trivial exercise on an FPGA. I also generate PWM signals with 100 ns resolution. This could be done easily with counter/timer functions. Jon
Mike Silva <snarflemike@yahoo.com> wrote:
>I've been programming embedded micros for a long time, and have a >decent understanding of hardware. I finally ordered an FPGA >development kit (still in the mail) because I find the whole FPGA >concept fascinating. What I don't grasp is when an FPGA is the best >choice. To get a better feel for this, I'd like to hear some comments >on when an FPGA is the best fit, and also when an FPGA turned out to >be a poor choice. Many thanks for any advice.
When you have algorithms that can benefit from: * Parallism * Pipelining * Tight I/O timing FPGA might be an improvement over an asic microcontroller in these cases. FPGA enables you to replicate a microcontroller in FPGA. And add instructions for special hardware operations such that you can combine the simple structure of an MCU with the performance of lowlevel gate operations. FPGA gates are however slower compared to ASIC. So one challenge is to use it in a way that it doesn't matter.
Mike Silva wrote:
> What I don't grasp is when an FPGA is the best choice. To get a better > feel for this, I'd like to hear some comments > on when an FPGA is the best fit, and also when an FPGA turned out to > be a poor choice.
The general answer is that the FPGA is the best fit when the FPGA-based solution is less costly than the non-FPGA-based solution. However, one usually has to consider development and support costs, not just the BOM cost of the hardware. So how does one determine which will be less costly? The only way I've found is to do at least a rough block diagram and BOM for each. For my designs, I've found that the choice isn't usually between an FPGA and something else, but rather between an FPGA alone, or a microcontroller with a smaller FPGA.