difference between fpga and microprocessor

In this article, you will learn what is difference between FPGA and microprocessor or microcontroller? What is difference between hardware based embedded systems design and software based  embedded systems design.  You may also like to check introduction to field programmable gate arrays article.  FPGA has the ability to process multiple instructions at the same time that is they can process instructions in parallel form. On the other hand microprocessors can perform only one instruction at a time that is they can execute instruction only sequentially.

Microprocessors execute software instructions. On the other hand FPGA’s are hardware based design. They actually implement it on hardware through reconfigurable logic building blocks.  Microprocessors have instructions executed on programmable hardware unit like arithmetic logic unit and control unit. FPGA’s have actually make hardware based data path and ALU design on hardware. To make things clear lets take one example. Microprocessors are usually programmed with c language and FPGA’s used verilog or VHDL language which is actually converted into logic building blocks on FPGA integrated circuit.

difference between fpga and microprocessor

Below we have two codes one is written in c language which is a microprocessor based designs programming language and other is written in verilog language which is a language of FPGA based designs. Both programs adds eight numbers and store the results in result variable. Both programs performs same functionality to add eight numbers but both programs implement and execute these function in different way.  C program implement this code on ALU of microprocessor and FPGA actually implement it through hardware with digital logic circuits based adders as shown below in diagram.difference between FPGA and microprocessor

C code gets executed sequentially on a microprocessor through assembly language instructions. So it takes more time to execute all instructions. I will explain it in more detail in later part of this article on difference between FPGA and microprocessor.In case of verilog actual datapath is being created on hardware and it is executed in parallel form and this is the main advantage of hardware based design. Its takes less time for processing of data as shown below: difference between FPGA's and microprocessors

As shown in above diagram, C code executed on microprocessor with ALU and instructions memory while FPGA makes seven full adders for addition of eight numbers. It is clear from above picture that C code will take more time in execution while FPGA based design less time through actual hardware full adders to implement addition of eight numbers.  For example if c code takes one second to execute one instruction so total time it take will be equal to 7 seconds because there are 7 instructions.

Video comparison of FPGA and microprocessor

while FPGA takes only three seconds to perform same task due to parallel function and three steps. Although there are other factors which takes into account. For example FPGA runs on lower frequency that microprocessor but still FPGA takes less time and more efficient in terms of time.  So now you should have started making sense on difference between FPGA and microprocessor.

Differences in tabular form

More difference between FPGA based design and microprocessor based design is given below:

Number FPGA Microprocessor
1FPGA can perform multiple instruction at once hence execution or processing is in parallel fashionUnlike FPGA, Microprocessor can perform only one instruction at a time Because execution is sequential
2For serial communication operations, FPGA’s are no so useful as compare to microprocessorsFor serial communication based operations, microprocessors are more useful
3For FPGA based designs, Development period is highDevelopment board is low for microprocessor or microcontroller based designs
4We can make microprocessor or microcontroller with FPGA which is called microprocessor IPBut We cannot make FPGA with microprocessor
5FPGA’s are like a electronics circuit which we design through wires which is build through reconfigurable logic blocksWhile microprocessor execute pieces of code through instructions memory
6. FPGA’s have more power consumptionLess power consumption
7. Higher data processing throughputLower data processing throughput
8. Works on lower frequency in the range of mega hertzWorks on higher frequency
9. Design is expensiveCheap price

I hope that after reading this article, you will be able to know the basic differences between microprocessors and FPGA’s. If you know about more differences, comment on this post so that I can add them in this article.

3 thoughts on “difference between fpga and microprocessor”

Leave a Comment