The Technology which will make Hardware Circuits multipurpose(Programmable) - FPGA Technology
Introduction:
FPGA is a semi-conductor device . FPGA stands for Field Programmable Gate Array. An FPGA is an integrated circuit (IC) that can be programmed and configured by the embedded system developer in the field after it has been manufactured. It is not limited to any pre-defined hardware function. It is rather highly flexible in its functionality and may be configured by the embedded system developer according to his design requirements.
Working Of FPGA:
Basic Architecture:
Every FPGA chip is made up of a finite number of predefined resources with programmable interconnects to implement a reconfigurable digital circuit and I/O blocks to allow the circuit to access the outside world.
Basic Parts In FPGA
FPGA resource specifications often include the number of configurable logic blocks (CLBs), number of fixed function logic blocks such as multipliers, and size of memory resources like embedded block RAM. Of the many FPGA specifications, these are typically the most important when selecting and comparing FPGAs for a particular application.
The configurable logic blocks (CLBs) are the basic logic unit of an FPGA. Sometimes referred to as slices or logic cells, CLBs are made up of two basic components: flip-flops and lookup tables (LUTs). Various FPGA families differ in the way flip-flops and LUTs are packaged together, so it is important to understand flip-flops and LUTs.
Flip-flops: Flip-flops are binary shift registers used to save logical states between clock cycles within an FPGA circuit. On every clock edge, a flip-flop latches the 1 or 0 (TRUE or FALSE) value on its input and holds that value constant until the next clock edge.
LUTs: These stands for Look Up Tables. The logic which is going to implement in CLBs inside FPGA is implemented or saved in small amount of RAM in the form of LUTs. All combinatorial logic (ANDs, ORs, NANDs, XORs, and so on) is implemented as truth tables within LUT memory. A truth table is a predefined list of outputs for every combination of inputs.
Other Peripherals Used: Multipliers, DSP Slices and Block RAM
FPGAs have prebuilt multiplier circuitry to save on LUT and flip-flop usage, in mathematical and signal processing applications.These multipliers and DSP Slices provides very performance to FPGA circuit.
Block RAM, embedded throughout the FPGA chip, is useful for storing data sets or passing values between parallel tasks.
Designing FPGA into system:
FPGAs do not have the driver ecosystem and code/IP base that microprocessor architectures and OSs do.
Over the last decade a hybrid architecture, sometimes called a heterogeneous architecture, has emerged in which a microprocessor is paired with an FPGA that is connected to I/O. Modern FPGAs often combine logic gates with processors into a single chip called a System on Chip (SoC) for increased computing performance.
Why FPGA?
Unlike processors, FPGAs are truly parallel in nature, so different processing operations do not have to compete for the same resources. Each independent processing task is assigned to a dedicated section of the chip and can function autonomously without any influence from other logic blocks. As a result, the performance of one part of the application is not affected when you add more processing.
One of the benefits of FPGAs over processor-based systems is that the application logic is implemented in hardware circuits rather than executing on top of an OS, drivers, and application software.
Overall FPGA provides low cost solution as well as less design and testing time.
One major drawback is that it take large area and power. FPGAs do not have the driver ecosystem and code/IP base that microprocessor architectures and OSs do.
Conclusion:
FPGA is going to lead the current VLSI industry. The adoption of FPGA technology continues to increase as higher-level tools such as LabVIEW are making FPGAs more accessible.





nice post for begginers
ReplyDelete