Programmable logic would be better suited to applications that are very
well specified, so that their requirements almost never change, and which need
to be fast, or process large amounts of data in parallel. In this case,
"fast" means fast compared with the time that a processor would need to
perform a comparable operation. However, there is often a tradeoff between
speed and logic resource usage. For example, multiplying two 16-bit integers
might take 32 clock cycles and use 32 latches in an arithmetic-logic-unit in a
microprocessor, but the same operation could be (in principle) implemented in
an FPGA that would complete in one clock cycle although maybe using 1024
latches.
|