Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
12 years ago

Reasons for choosing FPGA

Hi All,

I have some fundamental and frequently questions, which I have some answers for them. I want to get to know more ideas and use the other expertise regarding this issue, especially those who have wide and various practical experiences by using microcontroller such as ARM or powerful processor like DSP.

Could you please tell me in full details with references why you are still using FPGA rather than using other protocols which I have mentioned above.

Regards

Meysam Sh.

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    Hi All,

    I have some fundamental and frequently questions, which I have some answers for them. I want to get to know more ideas and use the other expertise regarding this issue, especially those who have wide and various practical experiences by using microcontroller such as ARM or powerful processor like DSP.

    Could you please tell me in full details with references why you are still using FPGA rather than using other protocols which I have mentioned above.

    Regards

    Meysam Sh.

    --- Quote End ---

    you may like the following (if you remove its garbage bits)

    http://www.dsprelated.com/showmessage/220614/1.php
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    If you are building a PCB to do any kind of hardware interfacing then you probably end up using a fpga for some of the logic. If you add a small arm or ppc you'll almost definitely need one.

    Given you have an fpga, you start asking the question 'how much of the functionality can I put in the fpga' - reducing component count is a significant cost reduction. You might find it will all fit in the fpga.

    We've also moved some functionality from a dsp to an fpga. The main commercial reason was that the dsp had been made obsolete. Using an alternate dsp (if a suitable one could be found - or a small cpu/soc of any other type) would be a significant development cost that might have to de done again.

    Use an fpga and even if it goes obsolete you can substitute one from the next generation with a (hopefully) minimal pcb respin.

    Moving between fpga suppliers is probably more tricky, but may well still be possible.

    While DSPs have some instructions aimed at signal processing, they are often not dissimilar from any other cpu. With an fpga you can split between software and hardware. We use a big FFT block to do tone detect of 256 audio channels and a 100Mhz Nios cpu to control it - replacing a DSP core.

    We also have a multi-channel hdlc controller written entirely in software - this has tight real-time constraints and is carefully optimised to reduce the worst-case code path - no caches and the dynamic branch prediction has been disabled.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The Line between where a CPU/DSP, and FPGA and ASIC make sence is dynamic and changes from generation to generation. Multi-Core CPU/DSP's have definitly taken over some but not all the needs of the FPGA, just like today's FPGA's have taken over most of previous generations ASICs, where the ASIC was primarily required strictly for clock speed or number of resources, not volumn.

    My FPGA designs today seem to be split primarily into three camps. ASIC Development, Multi-Channel DSP Functionality, Video Functionality.

    For those that are planning on developing multi-million dollar ASIC's the FPGA is a stepping stone to prove out and test the ASIC design.

    For those looking to run many parallel DSP paths, the FPGA provides more raw crunching than all the single chip DSP's. Even those with 8+ cores. (However the 8+ core chips are extremly capable)

    For those working on video path manipulation (especially 1080p and 4k) it is down to just raw optimized throughput of the data movement from function to function. Many of these tasks can be handled by high end GPU's but the form factors of those GPU's don't necessarily fit the requirements of the design.

    For every design there is a balance. Many times there's also a mix of components that optimizes that balance.

    Pete