Now you can Subscribe using RSS

Submit your Email

Sunday, 10 July 2016

What is a FPGA?

Ali Khan

Most electrical and electronic engineers who are familiar with the micro-controllers and the micro-processors are curious about this mysterious other guy in the market, the FPGA or field programmable gate array. Thereafter, to eventually satisfy this overwhelming curiosity let's unveil this other guy.

In order to fully realize the working of FPGAs you will first need to know what are ASICs and PLDs.


ASICs or Application Specific Integrated Circuits are essentially logic chips and ICs that we, the electrical engineers encounter most often. They are hardwired circuits which are predesigned and fabricated into a black box that we call ICs.
For example consider a NOT gate IC 7404, which has a fixed hardwired circuit fabricated on a single chip.
Some of the key features of ASICs are as under:


PLDs, Programmable Logic Devices and their more recent variant the CPLD or Complex Programmable Logic Devices are a prefabricated matrix of AND and OR logic gates which have programmable inputs and outputs. This can be imagined like arrays of logic gates on a small chip whose inputs and outputs can be reconfigured to suit any logic by the programmer.

Some of the key features of PLDs are as under


Now our so called other guy, the FPGA comes as a trade-off between the ASICs and PLDs, incorporating good features of both of them into a single chip.

FPGA architecture consists of CLBs or combinational logic blocks in a 'sea' of programmable interconnects.

Any logic can be implemented with the help of look up tables in the CLBs and large logic functions may be built by connecting many logic blocks together with the help of a routing network (interconnects). Synchronous logics can also be implemented because of the presence of a clocked F/F in every CLB.

Once an FPGA is programmed it functions just like an ASIC for that function, the only difference being that:

  • FPGAs may be programmed within minutes on your desk while ASICs take a long time for fabrication.
  • FPGAs offer more wide opportunities for engineers in the sense that you may program 100 counters on an FPGA (limited by I/Os only) and on the other hand how many ASICs chips will you need to achieve the same functionality? this unmatched flexibility is a distinctive feature of FPGAs.
  • Most complex functions and memory blocks can be programmed on FPGAs, something a PLD cannot achieve.

With the passage of time FPGAs have significantly increased their logic density and at the same time their prices have decreased making them more affordable to programmers and therefore becoming a viable alternative to micro-controllers and microprocessors.

In our coming posts we shall continue our debate on FPGAs and attempt to scale their worth against the micro-controller and the microprocessor.

Ali Khan / Author & Editor

The Author is an undegrad electrical engineering student where in he has studied and worked on both the MCUs and the FPGAs.


Post a Comment

Coprights @ 2016, Blogger Templates Designed By Templateism | Distributed By Gooyaabi Templates