Quote:
Originally Posted by ottischwenk
And now imagine that variable processes are required - what do you do with an ASIC?
|
The FPGA design can automatically produce an ASIC that's totally identical functionality, but uses less silicon and very much less power. An end user only needs an FPGA if the function must be changed at power on. That's only the case in two circumstances:
1) The spec is poor and the supplier has to release a Firmware update to fix errors.
2) It's on some specialist DSP/CPU/GPU system where the functionality can be changed. That happens at power on.
No kind of eink or other screen application will require changing the FPGA design while the gadget is running. The alternated design would need the screen and FPGA stopped while the FPGA is reloaded from Flash.
An FPGA doesn't execute a program (unless part of it is a CPU/GPU design and that is faster, lower power and less silicon as an ASIC). The design defines a functionality. There are some fixed physical functions like PLL and multipliers, but most of the circuit's logic is implemented by Look up Tables in internal RAM. The interconnections are also loaded into RAM. An FPGA doesn't do anything that can't be done with a board of ICs or an ASIC. If an onboard GPU or CPU is needed that is far more efficiently done in an ASIC (custom IC).
I have 4 spare FPGA development boards and you can have one for free if you pay the postage/shipping.
An FPGA simply allows easier prototyping and deployment in the field when the production volume is too low for a custom part. The penalty is usually a bigger package (for I/O flexibility and need to load design from Flash at every power on, though some have internal Flash) and massively higher power consumption.