FPGAs play a role in audio/visual related products in daily life, such as flat-panel LCD plasma TVs, hard disk recorders, as well as computers, mobile phone base stations, and communication infrastructure-related equipment. With the advancement of semiconductor process technology, the design technology of FPGA devices has also achieved rapid development and breakthroughs. Because of its low cost, short cycle, rewritable and other advantages, it has emerged in a variety of application fields.
Field Programmable Gate Array (FPGA)
FPGA, or Field Programmable Gate Array, is a semiconductor device based on a matrix of Configurable Logic Blocks (CLBs). Xilinx is the pioneer of FPGA. Simply put, an FPGA is a cost-effective logic device that allows developers to easily rewrite in a short period of time to implement a specific function. It is a product of further development on the basis of programmable devices such as PAL (Programmable Array Logic) and GAL (General Array Logic).
Source: Xilinx
The products of memory chips mainly include ASIC technology to realize memory chips and FPGA technology to realize memory chips.
ASIC (Application-Specific Integrated Circuit) is usually used to realize some functions of storage product technology, which can greatly improve the system processing capacity and accelerate the speed of product development. In the storage industry, ASIC is used to alleviate the overall performance degradation of the system caused by the excessive load on the CPU caused by a large number of operations of various optimization techniques, and can also be used as an accelerator.
FPGA (Field Programmable Gate Array) is the highest level of ASIC and has higher design flexibility. The biggest difference between ASICs and FPGAs is that FPGAs can be remanufactured and then reprogrammed to meet the desired application or functional requirements. Once an ASIC is designed, subsequent improvements cannot be made.
The Basic Structure of FPGA:
Lookup Table (LUT): used to implement various basic logic functions
Flip Flop (FF): Register resource used to store LUT output results
Input and output ports: the interface between the FPGA chip and external resources
Line: used to connect various modules inside the FPGA
DSP48 block: adder-subtractor connected to a multiplier, which in turn is connected to a multiply-accumulator
In addition, some other resources are integrated inside the FPGA: FPGA on-chip memory, PLL clock generator, multiply-accumulate module, off-chip memory controller, high-speed serial line transceiver.
For the SRAM type, the program is recorded in an external memory such as the FPGA's flash memory or EEPROM.
When the SRAM type FPGA is powered up, the program file is loaded from the external storage. The program file loaded here is called "Bit Stream Data". This information is loaded into the configuration memory, which consists of SRAM-type memory cells in the FPGA. Each bit of the loaded bit stream data becomes the information source for realizing the loop required by the user on the FPGA, and it customizes the resources on the FPGA device to realize the required loop. This is very similar to the boot process of a CPU such as a PC. It does not depend on hardware, but is realized by connecting the configuration data in the external memory, which has high universality and flexibility.
FPGA Application Areas
FPGA is one of the focuses in the field of embedded system development. At present, it is widely used in image processing, signal acquisition, communication and other fields. With the development and application of deep learning, FPGAs gradually show irreplaceable advantages in AI acceleration.
Communication is the most widely used field of FPGA, mainly used for high-speed interface circuit design of communication equipment. The FPGA can process the data signal, such as decimation filtering, reducing the data rate, so that the signal is easy to process, transmit and store, and complete the high-speed data transceiver and exchange. The communication field requires high-speed communication protocol processing methods, and the communication protocol is modified at any time, and the flexibility of FPGA can perfectly meet the application requirements.
Intel FPGA
Digital signal/mathematical calculation processing is also the application direction of FPGA. In image processing, radar signal processing, medical signal processing, etc., FPGA has more real-time advantages than CPU. At present, a wide range of application fields include wireless signal processing of communication, channel coding and decoding, and image signal processing. In addition, it is also used in medical data analysis, financial data analysis, etc., which requires professional knowledge related to related industries.
Applications in the field of data collection. Usually, when processing the analog signal of nature, the signal is converted by the A/D converter, and then the MCU or DSP is used for operation processing. However, high-speed A/D and D/A conversion chips cannot directly interface with general-purpose MCU or DSP, so FPGA is required to complete the glue logic function of data acquisition.
Other application areas include:
Automotive electronics field: gateway controller/vehicle PC, telematics system.
Consumer electronics: monitors, projectors, digital TVs and set-top boxes, home networking
Test and measurement field: communication test and monitoring, semiconductor automatic test equipment, general instrumentation