This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

FPGA vs microcontroller



FPGA uses RAM to implement the process that wish to get completed. So it needs to be reprogrammed after every time we cut off its power supply. In that case why do people continue doing projects like 'gesture recognition using FPGA','speech recognition in FPGA' etc when we can implement the same in a microcontroller very effectively.

  • Please show how you can implement speech recognition using msp430 very effectively. Are you having problem understanding what performance differences are between FPGA and msp430?

    My first FPGA project was blinking LED which I could easily implement using some kind of microcontroller I was familiar with. Does it prove anything?

  • @llmars - Excellent rebuttal to a poorly considered (and argued) provocation. 

  • That was not a provocation. Just doubt that I had. I am new to FPGA's and even to many digital systems.

  • Yeah l lmars, can you explain me how I will be benefited if I use a FPGA instead of MSP430 or any other microcontroller in certain areas(like speech processing as what you said)?

  • I am very naive about this subject. I think the most effective chip to do any specific application must be an ASIC for that specific application. If such an ASIC does not exist, FPGA is a breadboard to develop such an ASIC. If the production volume is small, and you can tolerate the unit cost, the power consumption, the physical size, etc., it can even be used as a substitute for that ASIC.

    Depend on the requirement of the specific application; a micro-controller may be able to perform that application too. In such cases, you have the option to use the micro-controller instead.

  • Thank you old_cow_yellow for making me to understand about FPGA's

  • FPGA is reconfigurable logic which is used mostly for designs where manufacturing of ASIC is not economically feasible. Also ASIC does not have any flexibility - it stays as it is and to change something huge amount of money needed, not to mention that remote upgrade is not possible.

    FPGA's have massive parallel computing capability if compared to CPU's, for instance high performance FPGA's can have hundreds of multiply units while CPU's have mostly one multiply unit per CPU core, if any at all.

    For example using FPGA one can create msp430 microcontroller which runs at 100MHz ;) It will be highly expensive and power-consuming, but it's doable.

    So answer is - it depends on application and it's performance, functional and financial requirements. When I need to control slow process, I use msp430 but when I need reconfigurable high performance signal/data processor for comparably small batch device - I will use FPGA (if there's no DSP uC available that can meet performance requirements).

  • Really thanks a lot llmars. Well explained. Thanks again. 

  • Ilmars said:
    ASIC does not have flexibility - it stays as it is - to change something huge amount of money needed

    As past member of ASIC design team (graphic Lcd Controller) I'd state that "first silicon" - not just revision/change - is also extremely costly...  (not to mention any/all ASIC development tools/inside knowledge - always required)

    And - along w/that high cost - none of us "slept well" till ASIC was implemented - and passed all test/verify procedures.  (Whew!  Not a fun time) 

    Best guidance - start w/FPGA which is best "match" to (hoped for) lower cost ASIC - prove the design via FPGA - and only when really, really sure (and market size is known/confirmed/enormous) consider ASIC...

    Provocation claim would not have resulted should opening, "when we can implement the same in a microcontroller very effectively!" had made any attempt to (bound/define) "very effectively" - or if that statement was presented as a question - rather than (done deal) assertion...

  • Sorry for assertion. Thanks for your explanation about the advantage of FPGA over ASIC.

**Attention** This is a public forum