A field programmable gate array abbreviated as FPGA is an integrated circuit (IC) which is when manufactured can be shaped up or designed by the designers or customers. Hardware Description Language also known as HDL which is classified as one of the computer languages is used for the formation of FPGA and on the other hand it is used for ASIC i.e. application specific integrated circuit. It can be used to apply any kind of logical function that is performed by ASIC. It consists of programmable logic components that are called as “logic blocks” and there is an order of reconfigurable interconnects that enable the blocks to be wired together which is to some extent seems like a one chip programmable breadboard.
There are some complex functions as well simple ones (e.g. logic gates) which can be performed by the configuration of logic blocks. FPGAs along with digital features also possess some analog features and the most known among them is slew rate that is programmable and can also be derived wit the help of each output pin. There are problems like lightly loaded pins makes rings or heavily loaded pins even on high speed channels run slow, in this case the engineers are allowed to set slow rates and faster rates on lightly loaded pins and the heavily loaded pins respectively.
APPLICATIONS OF FPGAs
There are number of applications of FPGA. They are
- Digital signal processing
- Aerospace and defense system
- ASIC prototyping
- Software defined radio
- Medical imaging
- Speech recognition
- Computer vision
- Computer hardware emulation
- Radio astronomy
- Metal detection
It particularly finds applications in any area or system that is capable of making use of the huge parallelism that is offered by their architecture. Code breaking or blocking is one of such type of techniques which is in particular brute-force attack of cryptographic algorithms. High performance computations and applications for instance FFT or Convolution are implemented on FPGA rather on microprocessor. So we can say it is increasingly used in this area Upon FPGA, intrinsic parallelism of the logic resources enable considerable amount of computational output even at a low MHz clock rates. It is also flexible in the sense that even higher performance can be made by it by trading off precision or reliability as well as range in the number format for an increased number of parallel arithmetic units. Because of this new type of technology named as reconfigurable computing has come out where time intensive tasks are unloaded from software to FPGAs. The structural design of FPGA is far more complex than the conventional software and due to this reason FPGA is not implemented and currently limited in high performance computing.
FPGA PROGRAMMING AND MANUFACTURING:
FPGA’s behavior can be better explained by a hardware descriptive languages (HDL) or a schematic design which is provided by the user. Design visualization becomes comparatively easier here. Entry is by the typical scheme but HDL form is more appropriate with large structures. After this, by using an electronic design automation tool, manufacturer forms a technology-mapped netlist. Using a process called place-and-route; netlist can be fitted into the actual FPGA design. The user will authorize the map and with help of timing analysis, simulation and other verification methodologies results are then placed and routed and then finally after the completion of design and validation process, the binary file is generated and is ready for configuring or reconfiguring FPGA.In a nutshell, traditionally, FPGAs are kept for particular applications where the volume of production is low. In this case, the premium that companies have to pay in hardware costs per unit for a programmable chip is reasonable as compared to the development spent on an ASIC. In today’s world, range of viable and sustainable applications is broadened due to new cost and performance crescendos.