In the year around 1980 when Large scale integrated (LSI) technology has been developed, the digital integrated system designs such as microprocessors, bus/IO controllers, system timers etc have been fabricated. However, in order to connect the large integrated circuits control signals and data signals from one subsystem to another subsystem are needed. To solve this problem Custom integrated circuits have been used to replace the large amount of interconnects. However, Custom integrated circuits have again some disadvantages. Such as, relatively cost and due to increased design time delay in time to market. Therefore the better solution for designing the digital integrated circuits is strongly needed. FPGAs are the promising devices in which the complete system can be implemented on a single integrated chip and further gives flexibility of re-programmability to the system designers. The FPGA improves the integration density ten times that of the custom chips. Further, by using the electronic design automation tools the systems can be designed in short time. The basic FPGA architecture shown in figure below. It consists of logic blocks, the interconnections between logic blocks and input and output blocks (IOBs). Logic blocks have look up table where the sequential circuit is implemented. The IOBs provide an interface between the package pins and the internal user logic. RAM-based FPGA is an FPGA whose configuration data is programmed into random access memory. These devices are reprogrammable. FPGA applications are, 1) fast counters, 2) fast pipelined designs, 3) register intensive designs and 4) battery operated multi-level logic. FPGAs are used to implement logic circuits having more than thousand equivalent gates. The logic block in FPGA has small number of inputs and one output.
Types of FPGAs :
The different types of FPGA structures are,
1) array with routing channels
2) sea-of-gate array
3) row-based array
4) bus based array
Fig_Field-programmable gate array (FPGA)