Electronic – Why implement microcontroller in FPGA

designfpgamicrocontroller

I am currently "investigating" FPGAs, what they can do, how they do it etc.

In more than one place (for example here) I have seen projects that implement a simple microcontroller with FPGA.

So my question:
I would like to know, what is the purpose of doing such implementations? Why use a microcontroller implemented in FPGA instead of having a micro on board? What are benefits? And perhaps also what are downsides?

Best Answer

Benefits:

  • blazingly fast interface between the microcontroller and any custom interface or I/O logic on-chip.
  • customizable processor and debug interfaces
  • also, often easier control logic than writing the control code with, say, VHDL

Downsides:

  • Possibly more expensive FPGA is needed to fit both the microcontroller and the custom logic, compared to just having the custom logic on the FPGA
  • Possibly more difficult to implement, especially with memories and if the core is complex, than a ready-made microcontroller on a separate chip.