Field Programmable Gate Array (FPGA) is a product further developed on the basis of programmable devices such as PAL and GAL. It appears as a semi-custom circuit in the field of application-specific integrated circuit (ASIC), which not only solves the shortcomings of custom circuit, but also overcomes the shortcomings of the limited number of gate circuits of the original programmable device.
The basic structure of FPGA includes programmable input\/output unit, configurable logic block, digital clock management module, embedded block RAM, wiring resources, embedded dedicated core, and underlying embedded functional unit.