Field-Programmable Gate Array




     Field-Programmable Gate Array (FPGA)




Hello Everyone,
              You may all have come across the term FPGA when learning about modern evolution in  motherboards and practical engineering in the field of Electronics. FPGA is similar to the developer options available on your smartphone, ya your right but you cannot develop it unless you have manufacturing devices but you can program it the way you want to use.

Now What is  Field-Programmable Gate Array (FPGA) ?

   As the name says  it is an Integrated circuit(IC) which can be programmed in the field after manufacture it is similar to, but has potentially wider applications than PROM(Programmable Read Only Memory) as it can be programmed several times unlike your normal PROM chips. FPGA's are mostly used by Engineers in design of specialized IC's that can later be produced in hard-wired form in large quantities to computer manufactures to manufacture more powerful microprocessors . Ultimately,  FPGAs might allow computer users to tailor microprocessors to meet their own individual needs.
 















                                                                XILINX and Altera FPGAs




How FPGAs are Programmed?

The Programming Methods is similar to the coding done on C or C++  but here the coding is given in HDL(Hardware description Language) it is pretty cool you just have to specify the gates and the signals given to the specific gates and the number of inputs and outputs. First, we have to encode the hardware description code into bits so the FPGA can understand it and then compile it and then load the compiled HDL in the FPGA.

Simple HDL code for full adder circuit is given below,


LIBRARY ieee;                                 
USE ieee.std_logic_1164.all;              

ENTITY fulladder IS
 PORT (A, B, Cin: in std_logic;
            Sum, Carry: out std_logic);
END fulladder;

ARCHITECTURE adder_arch OF fulladder IS
BEGIN
          Sum <= A xor B xor C;                                     
          Carry <= (A and B) or (A and Cin) or (B and Cin);                                           
END adder_arch;


Easy right..? Anyone with basic coding skills can program FPGA.

Applications of FPGA:

  • Aerospace and Defense                
  • Medical Electronics                      
  • ASIC prototyping
  • Audio
  • Automotive
  • Broadcast
  • Consumer Electronics
  • Data Center
  • High performance
  • Industrial
  • Security
  • wired and wireless communications
  • Video and Image processing
FACT FLASH:
In recent days the Most powerful FPGA boards are manufactured by Intel the Stratix Series which has more than 30 billion transistor fpgas  embedded to it.. AWESOME right..!! 


I guess this blog was helpful in understanding the basic concepts of FPGA its working and also its applications. If you have any doubts regarding the concepts explained feel free to leave a comment..!

YOU CAN ALSO SUGGEST ANY TOPIC YOU THINK OF NEEDING CLARIFICATION. IT WILL BE POSTED WITHIN 48 HOURS.!

...........Keep Calm and Love Engineering............
.

Post a Comment

5 Comments