When implementing an algorithm in hardware, we are facing with the tradeoff between performance and flexibility. ASIC, which possesses the advantage of low power consumption and highspeed, is only designed for a specific task. DSP, which can be programmed to implement different functions, requires many clock cycles to complete a task. FPGA lies in the middle of the two extremes. It is configurable and parallelism can be exploited to achieve high speed. Apart from the flexibility and high performance, FPGA has two advantages: easy implementation of
look-up table (LUT) and different precision can be easily accommodated at various nodes in the system such that required processing is exactly realized.
--moorthi