Field-Programmable Gate Array (FPGA)

An FPGA is chip where instead of re-programming the firmware, the actual layout of the gates can be re-programmed. This makes it possible to implement logic that runs significantly faster than what can be achieved on a micro-controller.


FPGAs sit between micro-controllers and ASICs. They are more complex to program than a micro-controller, but significantly less expensive to develop than a custom ASIC.

They are usually used for used for very low-level operations, where micro-controllers are too slow, or high criticality operations, where the complexity of a micro-controller is not desired.

In the space industry in particular, they are also used in low volume products where a custom ASIC would be too expensive.

When it is powered-on, an FPGA reads a bit-stream from an attached memory that stores the configuration of its logic gates. This is analogous to the firmware that powers a micro-controller.


← Back to all terms