Now you can Subscribe using RSS

Submit your Email

Sunday, 17 July 2016

FPGA Stock Photos

Ali Khan

All pictures in this fpga photo gallery are properties of their respective owners, published under the 'some rights reserved' condition which means they can be used for non-commercial uses with attribution.
Altera Cyclone
Flickr user - Synthesis Studio

Xilinx Spartan
Flickr user - Takashi Yamamiya

Xilinx Virtex II Pro
Flickr user - Juampe Lopaz

Flickr user - Thomas Lok

Electronics Background

Nexys 3 Development board

Friday, 15 July 2016

Test Post

Ali Khan
Source: Flickr user Marc Brakels
This is a test post intended to check the functioning and working and working of this blog. This blog dedicated to FPGAs is about to produce content soon.

These all are test Images

Monday, 11 July 2016

FPGA vs Microcontroller

Ali Khan

        FPGAs and micro-controllers can be the two possible choices an electronics engineer may have to opt from when prototyping his projects. Most of the engineers prefer micro-controller albeit in going with the flow while some of them might be slightly interested in the FPGA thing.

Delving into the great debate of FPGA vs Micro-controllers, here we will attempt to compare the ace merits and pitfalls of both of them and arrive at a suitable conclusion.

FPGA vs Micro-controller. Comparing the two.
One must first come around to the fact that FPGAs and micro-controllers are inherently different in the way they are programmed and in the way they can and are capable of executing the code.

The Micro-controller stores the code in its EEPROM and fetches instructions from its memory code segment and thereby executes one instruction at a time.

The FPGA is different, once it is programmed, its internal architecture changes according to the code (because it has programmable interconnects) and it is able to carry out multiple tasks simultaneously - means it can do parallel processing of different tasks at a single instant. (We will discuss this feature in a separate article later).

Difference in Architecture

The next major difference lies in the architecture.

The micro-controller generally has a fixed number of common logic units, for example it may have a fixed number of registers, timers, PWM modules and memory segments.

The FPGA is however a blank space, a programmer can build any number of timers, counters, registers and other logic modules only to be limited by the available chip area.

Xilinx Virtex 5 FPGA embedded on a development board

Programming the FPGA vs Micro-Controller

From the perspective of a programmer (probably you!) micro-controllers are way easier to program as compared to FPGAs, simply because in a u-controller one has to write a program for a predefined system architecture e.g loading a register with a value. On the other hand in FPGAs the programmer has to first define the required architecture through coding as well as decide how to use it at the same time.


These prime differences in technology of FPGAs and micro-controllers warrant that for some applications a micro-controller must be better and while in some applications a FPGA might be better (where it might actually worth conquering their steep learning curve).

The Micro-controller serves better in most ordinary applications because it's architecture is specialized for a narrow range of tasks for example many micro-controllers have specialized PWM modules geared towards performance which means for simple tasks you are better off by using an MCU rather then FPGA because if you use an FPGA you will have to put many times more coding effort then MCU which is not worthwhile.

In contrast an FPGA finds its applications on a different side where you need customized device architecture. They are particularly useful when an application can be broken down into parts for parallel processing, This way an application can be processed faster then on a MCU. These days most important use of FPGAs is in the ASICs modelling industry where different IC designs and architectures are first coded on FPGAs for testing and then mass-produced if they perform satisfactory.

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.

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