What is FPGA?A definition, history and architecture guide to FPGA

AnnieChen
6 min readSep 5, 2024

--

FPGA (Field Programmable Gate Array) is a versatile and powerful programmable integrated circuit that has become an essential tool in the design of modern electronic systems. With its high programmability and powerful parallel processing capabilities, FPGA has played an irreplaceable role in electronic design, rapid prototyping, and high-performance computing since its inception as a simple logic replacement. As semiconductor technology advances, the functionalities and performance of FPGAs improve, making them a perfect alternative for quickly reacting to complicated needs in a variety of fields.

1.1 Definition of FPGA.
FPGA (Field Programmable Gate Array) is a highly adaptable and programmable integrated circuit. Its main feature is that customers can program it “on-site” using Hardware Description Language (HDL). Reconfigure. This field programmability distinguishes FPGAs from traditional ASICs (Application Specific Integrated Circuits). ASIC functions are fixed after the design is completed, whereas FPGA functions can be repeatedly updated based on requirements after the design is completed.

FPGAs consist of a large number of programmable logic blocks, programmable interconnects, I/O blocks, and embedded resources such as DSP, memory, and soft processors. These components are configured through programming languages ​​(such as Verilog, VHDL) to implement specific circuit functions and data processing.

1.2 Historical Development of FPGA

Since its birth in the 1980s, FPGA has experienced decades of development and has become an important part of modern electronic design. The following are several key stages of FPGA development:

1.2.1 Early development (1980s)

The origin of FPGA can be traced back to 1985, when Xilinx launched the world’s first FPGA chip-XC2064. The chip consists of 64 programmable logic blocks (CLBs), each of which contains simple logic gates, flip-flops and some wiring resources. The emergence of the XC2064 marks a major advancement in programmable logic devices (PLDs), allowing designers to make changes to the functionality of the product after it is mass-produced.

FPGA technology during this period was still relatively rudimentary, with very limited logic capacity and clock frequency, and was mainly used for simple logic replacement and control functions.

1.2.2 Technological innovation and market expansion (1990s)

With the advancement of semiconductor technology, the logic capacity and performance of FPGA have gradually improved. In the 1990s, manufacturers such as Xilinx and Altera (now acquired by Intel) continued to introduce more complex and high-performance FPGA products. At this time, FPGAs began to integrate more programmable logic units and introduced more flexible wiring architectures to support more design complexity.

At this stage, FPGA was widely used in communications, industrial control, military and other fields, becoming a powerful supplement to ASIC design, and began to enter the field of prototype verification, helping engineers verify the correctness of the design before ASIC production.

1.2.3 Multifunctional Integration and SoC (2000s)

In the 2000s, the functions of FPGA gradually expanded and began to integrate more dedicated resources, such as embedded memory, DSP modules, PLL (phase locked loop) and soft and hard processor cores (such as Xilinx’s MicroBlaze and Altera’s Nios II) . This makes FPGA no longer limited to logic replacement, but a multi-functional, programmable system platform.

Especially during this period, the concept of system on chip (SoC) gradually emerged, and FPGA began to be integrated with the processor architecture to form software and hardware co-design. Xilinx’s Zynq series integrates FPGA and ARM processor on the same chip, opening a new era of FPGA as an embedded system platform.

1.2.4 High-Performance Computing and Data Centers (2010s to Present)

With the explosive growth of data center demand, FPGA has gradually occupied an important position in the field of accelerated computing and data processing due to its programmability, high parallel computing capabilities and low latency advantages. Large cloud computing companies such as Microsoft and Amazon have begun to use FPGAs in their data centers to implement network acceleration and artificial intelligence inference tasks.

At the same time, Xilinx and Intel launched higher-performance FPGA families, such as Xilinx’s UltraScale+ and Intel’s Stratix 10, which reached new heights in terms of transistor count, logic capacity, power consumption, and data bandwidth. . In addition, FPGA has also begun to be widely used in emerging application fields such as 5G base stations, edge computing, and driverless driving.

1.3 Basic Architecture of FPGA

The internal architecture of FPGA is highly modular and mainly consists of the following key parts:

1.3.1 Programmable Logic Blocks (CLBs)

CLB is the most basic building block in FPGA, which consists of lookup tables (LUTs), flip-flops, and other logic resources. LUT is used to implement combinational logic, and flip-flops are used to implement sequential logic. Multiple CLBs are connected through a programmable interconnection network, which can implement functional modules ranging from simple logic gates to complex state machines, adders, and multipliers.

1.3.2 Programmable interconnection network

The programmable interconnect network inside the FPGA is used to connect different CLB and I/O resources. This interconnect network enables flexible signal routing through a switch matrix, allowing designers to define data paths based on requirements. The performance of the interconnect network directly affects the clock frequency and logic delay of the FPGA and is an important part of the architecture design.

1.3.3 I/O block

I/O blocks are used to connect FPGA and external devices. They are responsible for converting internal digital signals into a format suitable for external interfaces (such as LVDS, LVCMOS). FPGA’s I/O usually supports multiple voltage standards and communication protocols, such as UART, SPI, I2C, etc., to adapt to different application scenarios.

1.3.4 Embedded memory

Most modern FPGAs integrate a large amount of embedded memory, such as BRAM (Block RAM) and distributed RAM. These memories are typically used to cache data, intermediate results, or implement small storage units such as FIFOs and LUTRAMs.

1.3.5 DSP module

FPGAs typically contain dedicated DSP (digital signal processing) blocks that perform efficient multiplication, addition, and accumulation operations. These modules are very important for realizing high-speed signal processing and filtering operations, and are particularly common in applications such as communications and video processing.

1.3.6 Clock management

Clock management units (such as PLL and MMCM) in FPGA are used to generate, distribute and adjust clock signals. These units can be flexibly configured with clock frequency, phase, and duty cycle to suit design needs.

1.3.7 Soft/hard processor cores

Some advanced FPGAs integrate soft processors (such as MicroBlaze, Nios II) or hard processors (such as the ARM Cortex-A series). These processor cores enable FPGAs to run operating systems, perform advanced control tasks, and work with logic circuits to achieve integrated hardware and software design.

1.4 Advantages and Challenges of FPGA

1.4.1 Advantages

Flexibility: The core advantage of FPGA is its programmability, which allows it to quickly adapt to new needs and shorten the product development cycle. Parallel computing capability: FPGA can process data in parallel by configuring multiple logic blocks, making it suitable for high-performance computing applications. Real-time and low latency: Unlike CPU/GPU, FPGA can directly process data at the hardware level, has extremely low latency, and is suitable for application scenarios that require fast response. Prototype verification: FPGA is often used for prototype verification of ASIC design, which can verify the correctness of the design before production and reduce risks.

1.4.2 Challenges

Development complexity: FPGA design usually requires mastering hardware description language (HDL) and complex tool chains, and the development threshold is high. Power consumption and performance trade-off: Although FPGAs are highly flexible, they are often not as powerful as purpose-designed ASICs in terms of power consumption and performance. Higher cost: In mass production, the unit cost of FPGA is usually higher than that of ASIC, and it is suitable for low- and medium-volume production that requires flexibility and customization.

1.5 Application Prospects of FPGA

With the rapid development of new technologies such as artificial intelligence, the Internet of Things, and 5G communications, FPGAs have a wide range of applications. It not only plays a key role in high-performance computing and real-time data processing, but it is gradually demonstrating irreplaceable value in autonomous driving, edge computing, and intelligent manufacturing.

FPGA will continue to play an essential role in supporting technological innovation in the future, thanks to advances in process technology, continual architecture optimization, and integration with ASIC and SoC.

Original link:https://www.icrise.com/blog/22

--

--