FPGA is an integrated chip mainly composed of digital circuits, which is a type of programmable logic device (PLD); FPGA is a type and a half in the field of application-specific integrated circuits (ASIC). The emergence of customized circuits not only solves the shortcomings of customized circuits, but also overcomes the shortcomings of the limited number of gates in the original programmable devices.
The operating environment of this tutorial: Windows 7 system, Dell G3 computer.
What is fpga
FPGA (Field Programmable Gate Array) is the basis of programmable devices such as PAL (Programmable Array Logic) and GAL (General Array Logic) product of further development. 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 in the original programmable devices.
FPGA is essentially a kind of chip, an integrated chip mainly composed of digital circuits.
FPGA was invented in 1985 by Ross Freeman, one of the founders of Xilinx. It is a type of programmable logic device (PLD). This time is about 20 years later than the emergence of the famous Moore's Law, but once FPGA was invented, the subsequent development speed was faster than most people imagined.
Figure 1 shows the physical picture of the FPGA chip:
Figure 1 The physical picture of the FPGA chip
FPGA development history
Before the invention of PLD, engineers used discrete logic chips containing several logic gates to build circuit systems. It was difficult to implement complex logic functions.
In order to solve this problem, in the 1970s, the Programmable Logic Array (PLA) came out. The PLA contains a fixed number of AND gates and NOT gates, which form the "AND plane" respectively. ” and “or plane”, that is, “AND connection matrix” and “OR connection matrix”, and the connection matrix that can only be programmed once (because the programming here is based on fuse technology), so some relatively complex AND, or the logical function of multiple expressions, the internal structure of PLA is shown in Figure 2:

Figure 2 Internal structure of PLA
Also came out at the same time as PLA is programmable Programmable Read-Only Memory (PROM), its internal structure is shown in Figure 3. Like PLA, PROM contains an "AND connection matrix" and an "OR connection matrix" internally, but the connection matrix of the AND gate is fixed in hardware, and only the connection matrix of the OR gate is programmable.

Figure 3 PROM internal structure
If only the connection matrix of the AND gate is programmable, and the connection matrix of the OR gate is fixed by hardware, then this The chip is called Programmable Array Logic (PAL). According to the different working modes of the output circuit, PAL can be divided into three-state output, register output, and complementary output. However, PAL still uses the fuse process and can only be programmed once. . The structure diagram of PAL is shown in Figure 4.

Figure 4 PAL structure diagram
On the basis of PAL, a general array logic device (Generic Array Logic, GAL) has been developed. Compared with Compared with PAL, GAL has two improvements:
- adopts an electrically erasable CMOS process, which can be compiled multiple times, enhancing the reconfigurability and flexibility of the device;
- Adopts a programmable output logic macro cell (Output Logic Macro Cell, OLMC). By programming OLMC, the output of the GAL can be set to different states. Only one model of GAL can realize the working mode of all PAL device output circuits. Enhanced device versatility.
The structure diagram of GAL is shown in Figure 5:

Figure 5 GAL structure diagram
The early PLD was mainly composed of The above four types of chips are composed of PROM, PLA, PAL and GAL. Their common feature is that they can implement logic functions with good speed characteristics, but because their structures are too simple, they can only implement smaller digital circuits.
With the development of science and technology and the progress of society, people have higher and higher requirements for the integration of chips. Early PLD products could not meet people's needs, and Complex Programmable Logic Device (CPLD) was born. CPLD can be viewed as a continuation of the PLA device structure, and a CPLD device can also be viewed as a collection of several PLAs and a programmable connection matrix. The internal structure diagram of CPLD is shown in Figure 6.

Figure 6 CPLD structure diagram
FPGA came out a few years earlier than CPLD, and is called a high-density programmable logic device together with CPLD, but they are essentially different. The internal architecture of the FPGA chip does not follow a structure similar to PLA, but adopts the concept of Logic Cell Array (LCA), which changes the idea of using a large number of AND gates and NOT gates in PLD devices in the past, mainly using lookup tables. and registers.
In addition, FPGA and CPLD also have differences in resource type, speed, etc., as shown in the table below.
Device types/characteristics | FPGA | CPLD |
---|---|---|
Internal structure | Look Up Table | Product Term |
Program storage | Internal SRAM structure, external EEPROM or Flash storage program | Internal EEPROM or Flash |
Resource type | Rich trigger resources | Rich combinational logic resources |
Integration degree | High | Low |
Use occasions | Complete more complex algorithms | Complete control logic |
Fast | Slow | |
RAM, PLL, DSP, etc. | —— | |
Generally cannot be kept secret (encryption core can be used) | Can be encrypted |
The above is the detailed content of what is fpga. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

Dreamweaver Mac version
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
