Re: [OT?] what's a FPGA?



Allan Herriman wrote:
When NOT to use an FPGA.
- When you think of yourself as a 'programmer' or 'software person'
rather than a 'hardware engineer'.

- When you want really low power consumption.

- When you want really low cost.

- When you don't need the special features of an FPGA. If you can use
a microprocessor, do so.


Disclaimer: I use large FPGAs for high end stuff, and this colours my
opinions somewhat. There are smaller FPGAs and CPLDs that are quite
cheap (< US$10 in huge volumes), but I don't use them.

I'd say you missed the biggest factor saying when not to use an FPGA.

Algorithm complexity seems like the most critical factor in many designs. You can churn through a bunch of simple filter algorithms at enormous speed using an FPGA approach. Try something more complex, like a speech codec. Implement something that complex in an FPGA usually dragged you down to building a state machine. That ends up being little more than a programmble DSP you built from scratch and for which you need to develop your own assembler. An off the shelf programmable DSP usually beat an FPGA into the dust for complex algorithms.

The other big factor is turnaround time. You can take a C model and recompile it for a programmable DSP. You might only need to hand optimise a few small kernels to get respectable speed. Despite all the C based hardware design tools around today, you will generally get into some serious architectural design to do anything effective with an FPGA. There are many ways a problem might map to a hardware implementation, and that is largely up to you.

Look at DSPs oriented towards specific applications, like comms or video. They usually add a few hardware accelerators for things which hardware does well, and software does poorly. Those accelerators are doing the kinds of thing an FPGA excels at.

Regards,
Steve
.



Relevant Pages

  • Re: Was braucht man zur FPGA-Programmierung?
    ... und als Programmer benutze ich den Byteblaster, ... Für welche Hardware man sich entscheidet spielt eigentlich keine Rolle wenn ... FPGA z.B. eine komplexe Lichtsteuerung zu programmieren, ...
    (de.sci.electronics)
  • Re: AES encryption of bitstream - is my design secure?
    ... that someone will find an affordable use for the hardware. ... "face recognition" as hardware algorithm in FPGA, ... Better for Design ... but are these really easier with a new bitstream attack? ...
    (comp.arch.fpga)
  • Re: Another transputer-inspired language?
    ... describe permanent ASIC/VLSI hardware devices. ... only support Verilog & VHDL. ... shrinking but the no of FPGA starts is exploding due to lowish NRE ... When I suggest the V++ language be modeled after ...
    (comp.sys.transputer)
  • Re: What will many cores mean to future Windows releases?
    ... Obviously the hardware might be indeterminant --that would be the normal 'cross-platform' use case. ... But I would rather see an inline operation or compiler switches that would allow you to set or monitor the operations without a JIT compile each time the process ran. ... VMs have their purposes, but optimization is better determined at coding time when you know where the code is going to be deployed, rather than leaving it to be determined at runtime. ... The run time then chooses the algorithm and number of processors to devote to the task, so it's rather like an SQL 'ORDER BY' clause--the programmer specifies what the results need to look like, and the implementation details--being fairly mechanical once the business logic is understood--are handled by the compiler and runtime. ...
    (borland.public.delphi.non-technical)
  • Re: MacSoup + MBP - numeric keypad = irritation!
    ... every other programmer) means when he says hard-coded. ... not without recompiling the code. ... I'm just explaining what hard-coding means. ... in hardware purely because it's software, ...
    (uk.comp.sys.mac)