This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > Wiki encyclopedia > FPGA


FPGA (Field-Programmable Gate Array), it is the product of further development on the basis of programmable devices such as PAL, GAL, CPLD and so on. It appears as a semi-custom circuit in the field of application specific integrated circuits (ASIC), which not only solves the shortcomings of custom circuits, but also overcomes the shortcomings of the limited number of gates of the original programmable devices.

The system designer can connect the logic blocks inside the FPGA through editable connections as needed, just like a circuit breadboard is placed in a chip. The logic blocks and connections of a finished FPGA after leaving the factory can be changed according to the designer, so the FPGA can complete the required logic functions.

FPGAs are generally slower than ASICs (dedicated integrated chips) and cannot complete complex designs, but have low power consumption. But they also have many advantages such as being able to produce products quickly, which can be modified to correct errors in the program and cheaper manufacturing costs. Manufacturers may also provide cheap FPGAs with poor editing capabilities. Because these chips have poor editability, the development of these designs is done on an ordinary FPGA, and then the design is transferred to a chip similar to ASIC.



FPGA design is not a simple chip research, mainly using FPGA mode to design products in other industries. Unlike ASICs, FPGAs are widely used in the communications industry. Through the analysis of the global FPGA product market and related suppliers, combined with the actual situation in my country and the domestic leading FPGA products, we can find the future development direction of related technologies, which has a very important role in promoting the overall improvement of my country's technological level.

The development of FPGA is very different from the development of traditional PC and microcontroller. FPGA is mainly based on parallel operation and implemented in hardware description language. Compared with PC or single chip (whether it is von Neumann structure or Harvard structure), the sequential operation is very different, which also makes it difficult to get started in FPGA development. FPGA development needs to start from the top-level design, module layering, logic implementation, hardware and software debugging and other aspects.

Compared with the traditional mode of chip design, FPGA chips are not limited to research and design chips, but can be optimized by using specific chip models for products in more fields. From the perspective of chip devices, FPGA itself constitutes a typical integrated circuit in a semi-custom circuit, which contains a digital management module, an embedded unit, an output unit, and an input unit. On this basis, it is necessary for the FPGA chip to focus on comprehensive chip optimization design, and to improve the current chip design to add new chip functions, thereby simplifying the overall structure of the chip and improving performance.

Development process

In 1985, when the world's first FPGA product, XC2064, was born, PCs destined to use a large number of chips had just stepped out of Silicon Valley laboratories and entered the commercial market. The Internet was just a mysterious link between scientists and government agencies, and wireless phones were as bulky as Bricks, in the future, Bill Gates will be struggling to make a living. Innovative programmable products seem to be of no use.

Originally, FPGAs were only used for glue logic (Glue Logic). From glue logic to algorithm logic to digital signal processing, high-speed serial transceivers and embedded processors, FPGAs really changed from supporting roles to protagonists. In the semiconductor industry that is developing at a lightning speed, 22 years is enough to change everything. The ideal of "every electronic device will have a programmable logic chip in the next ten years" is becoming a reality.

In 1985, the world's first FPGA product XC2064 launched by Xilinx looks like an "ugly duckling"-using a 2μm process, containing 64 logic modules and 85,000 transistors, and the number of gates does not exceed 1,000. Twenty-two years later, in 2007, Xilinx and Altera of the FPGA industry have launched FPGA products using the latest 65nm process. The number of gates has reached 10 million, and the number of transistors is more than 1 billion. Along the way, FPGAs continue to keep up with and promote the progress of semiconductor technology-using 150nm technology in 2001, 130nm technology in 2002, 90nm technology in 2003, and 65nm technology in 2006.

When Xilinx launched its third-generation FPGA product in 1991, the XC4000 series, people began to seriously consider programmable technology. The XC4003 contains 440,000 transistors and uses a 0.7μm process. FPGAs have been recognized by manufacturers as a good tool for manufacturing process development and testing. Facts have proved that FPGA can provide excellent test capabilities for the manufacturing industry, FPGA began to replace the role of the original memory used to verify each new generation of technology. Perhaps since then, the transition to the latest semiconductor technology has been unstoppable. The adoption of the latest technology provides opportunities for the development of the FPGA industry.

Working principle

FPGA adopts the concept of Logic Cell Array (LCA), which includes three parts: Configurable Logic Block (CLB), Input Output Block (IOB) and Interconnect (Interconnect). Field programmable gate array (FPGA) is a programmable device. Compared with traditional logic circuits and gate arrays (such as PAL, GAL, and CPLD devices), FPGA has a different structure. FPGA uses a small lookup table (16×1RAM) to implement combinational logic. Each lookup table is connected to the input of a D flip-flop. The flip-flops then drive other logic circuits or drive I/O, thus forming a combination that can be implemented. The logic function can also realize the basic logic unit module of the sequential logic function. These modules are connected to each other or to the I/O module by metal wires. The logic of the FPGA is realized by loading programming data into the internal static storage unit. The value stored in the memory unit determines the logic function of the logic unit and the connection mode between each module or between the module and I/O, and finally determines The functions that FPGA can achieve, FPGA allows unlimited programming.

Basic structure

FPGA device belongs to a kind of semi-custom circuit in special integrated circuit, which is a programmable logic array, which can effectively solve the problem that the original device gate circuit number is small. The basic structure of FPGA includes programmable input/output unit, configurable logic block, digital clock management module, embedded block RAM, wiring resources, embedded dedicated hard core, and embedded functional unit at the bottom layer. Because FPGA has abundant wiring resources, repeatable programming and high integration, and low investment, it has been widely used in the field of digital circuit design. FPGA design process includes algorithm design, code simulation and design, board debugging, designers and actual needs to establish an algorithm architecture, use EDA to establish a design scheme or HD to write design code, through code simulation to ensure that the design scheme meets the actual requirements, and finally the board Machine debugging, use the configuration circuit to download the relevant files to the FPGA chip, and verify the actual operation effect.

Chip design

Compared with other types of chip design, FPGA chips usually need to set a higher threshold and formulate a more stringent basic design process. In the specific design, it should be closely integrated with the relevant schematic diagram of FPGA, and a large-scale special chip design is realized accordingly. Through the use of Matlab and C language special design algorithm, it should be able to achieve a full range of smooth conversion, so as to ensure that it meets the current mainstream chip design ideas. Under this premise, if the above design ideas are selected, it is usually necessary to focus on the orderly integration of various components and corresponding design languages, thereby ensuring the usability and readability of the chip programming. Using FPGA can achieve board debugging, code simulation and other related design operations, to ensure that the current code writing method and design scheme can meet specific design requirements. In addition, regarding the design algorithm, the rationality should be placed in the first place, according to which the optimized project design effect is achieved, and the effectiveness of the chip operation is optimized. Therefore, as a designer, the first step is to build a specific algorithm module to complete the chip code design. This is because the pre-designed code helps ensure the reliability of the algorithm and can significantly optimize the overall chip design effect. Under the premise of complete board debugging and simulation testing, it should be possible to shorten the cycle of designing the entire chip consumption at the source, and also commit to optimizing the current overall structure of the existing hardware. For example, when it comes to the development of certain non-standard hardware interfaces, the above-mentioned new product design patterns are usually used.

The main difficulty of FPGA design is to be familiar with the hardware system and internal resources, to ensure that the design language can achieve effective cooperation between components and improve the readability and utilization rate of the program. This also puts forward relatively high requirements for designers, and it is necessary to accumulate the experience of multiple projects to achieve the relevant requirements.

When designing the algorithm, it is important to consider the rationality, ensure the final completion of the project, propose a solution to the problem based on the actual situation of the project, and improve the operating efficiency of the FPGA. After the algorithm is determined, the modules should be reasonably constructed to facilitate later code design. In the code design, you can use the pre-designed code to improve work efficiency and enhance reliability. Write a test platform, conduct code simulation testing and class debugging, and complete the entire design process. FPGA is different from ASIC. The development cycle is relatively short. It can change the structure of the hardware in accordance with the design requirements. When the communication protocol is not mature, it can help companies quickly launch new products to meet the needs of non-standard interface development.

Design language and platform

Programmable logic devices are hardware carriers that specifically implement the established functions and technical indicators of electronic application systems through EDA technology. FPGA is one of the mainstream devices to achieve this approach. It has direct user-facing, great flexibility and versatility. Convenient, hardware testing and fast implementation.

Hardware description language (HDL) is a language used to design digital logic systems and describe digital circuits. Commonly used are VHDL, Verilog HDL, System Verilog and System C.

As a comprehensive hardware description language, VHDL has the characteristics independent of the specific hardware circuit and the design platform, has a wide range of description capabilities, does not depend on specific devices, and can be complicated The design of control logic is described by rigorous and concise code, which has been supported by many EDA companies and has been widely used in the field of electronic design. VHDL is a high-level language for circuit design. Compared with other hardware description languages, it has the characteristics of concise language, strong flexibility, and does not depend on device design. It makes it a universal hardware description language for EDA technology, making EDA Technology is easier for designers to master.

Verilog HDL is a widely used hardware description language that can be used in multiple stages such as modeling, synthesis, and simulation of the hardware design process.

Verilog HDL advantages: similar to C language, easy to use and flexible. Case Sensitive. There are advantages in writing incentives and modeling. Disadvantages: Many errors cannot be found during compilation.

VHDL advantages: rigorous syntax and clear hierarchy. Disadvantages: long familiarization time, not flexible enough.

Quartus_Ⅱ software is a complete multi-platform design environment developed by Altera, which can meet the design needs of various FPGAs and CPLDs and is a comprehensive environment for on-chip programmable system design.

Vivado Design Suite is an integrated design environment released by FPGA manufacturer Xilinx in 2012. Including a highly integrated design environment and a new generation of tools from the system to the IC level, these are based on a shared scalable data model and a common debugging environment. Xilinx Vivado design kit provides FIFO IP core, which can be easily applied in the design.

Main applications

Video segmentation system

In recent years, large-scale master control systems have been increasingly widely used, and the related video segmentation technology level is also gradually improved. The technology is to display all the way video signals in a multi-screen splicing display mode. The scenes displayed on the screen are widely used.

With the advancement of technology, the video segmentation technology has gradually matured to meet people's basic needs for clear video images. The FPGA chip hardware structure is relatively special. You can use the logical structure file edited in advance to adjust the internal structure, and use the constrained file to adjust different The connection and location of the logic unit, properly handle the data line path, and its own flexibility and adaptability to facilitate the development and application of users. When processing video signals, the FPGA chip can make full use of its own speed and structural advantages to realize the ping pong technology and pipeline technology. In the process of external connection, the chip uses data parallel connection to widen the bit width of the image information, and uses internal logic functions to increase the speed of image processing. Through the cache structure and clock management to achieve control of image processing and other devices. In the overall design structure, the FPGA chip is at the core position, complex data interpolation processing and extraction and storage, but also plays a role of overall control to ensure the stable operation of the system. In addition, video information processing is different from other data processing, which requires the chip to have a special logic unit and RAM or FIFO unit to ensure sufficient data transmission speed.

Data delay and storage design

FPGA has a programmable delay digital unit, which is widely used in communication systems and various electronic devices, such as synchronous communication systems, time numerical systems, etc. The main design methods include CNC delay line method, memory method, counter method Etc., where the memory method is mainly implemented using FPGA RAM or FIFO.

Using FPGA to read and write data related to the SD card can program the FPGA chip according to the needs of specific algorithms, and the actual situation changes to continuously update the read and write operations. Under this mode, only the original chip can be used to effectively control the SD card, which significantly reduces the cost of the system.

Communications industry

In general, the communications industry considers factors such as cost and operation. In locations where there are a large number of terminal devices, the amount of FPGA is relatively large. The base station is most suitable for using FPGA. Almost every board of the base station needs to use FPGA chips, and The model is relatively high-end and can handle complex physical protocols to achieve logical control. At the same time, due to the logical link layer of the base station, the protocol part of the physical layer needs to be updated regularly, which is also more suitable for adopting FPGA technology. At present, FPGAs are mainly used in the early and mid-term of the construction of the communications industry, and are gradually replaced by ASICs in the later period.

Other applications

FPGA is also widely used in security, industry and other fields. For example, protocols such as video encoding and decoding in the security field can be processed by FPGA in the process of front-end data collection and logic control. The industrial field mainly adopts smaller-scale FPGAs to meet the needs of flexibility. In addition, due to the relatively high reliability of FPGA, it is also widely used in military and aerospace fields. In the future, with the continuous improvement of technology, related processes will be upgraded and transformed. In many new industries such as big data, FPGA will have a wider application prospect. With the construction of 5G networks, FPGAs will be widely used in the initial stage, and FPGAs will be used more in new fields such as artificial intelligence.

Other Wikis


  • XC2S50-6TQ144C


    FPGA Spartan-II Family 50K Gates 1728 Cells 263MHz 0.18um Technology 2.5V 144-Pin TQFP

  • XC4025E-2HQ304C


    FPGA XC4000E Family 25K Gates 2432 Cells 0.35um Technology 5V 304-Pin HSPQFP EP

  • XC2C256-6FTG256C


    CPLD CoolRunner -II Family 6K Gates 256 Macro Cells 256MHz 0.18um Technology 1.8V 256-Pin FTBGA

  • XC3S400A-4FG320I


    FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 320-Pin FBGA

  • XC3S400A-4FGG400I


    FPGA Spartan-3A Family 400K Gates 8064 Cells 667MHz 90nm Technology 1.2V 400-Pin FBGA

FPGA Tutorial Lattice FPGA
Need Help?


If you have any questions about the product and related issues, Please contact us.