FPGA architecture - GENERA Technologies

Go to content

FPGA architecture

BLOG > Programmable Logic
FPGAs (Field Programmable Gate Arrays) and CPLD are reprogrammable semiconductor devices, based on matrix of configurable logic blocks (known as CLBs) whose configuration and its huge interconnections capacity can be modified according to the designer's needs by a hardware description lenguage.
This reprogramming capacity, coupled with a less expensive and lengthy development and manufacturing process than other devices, gives FPGAs a privileged position for a wide variety of applications compared to other integrated circuits.

Currently FPGAs are implemented in many sectors of the industry, such as digital signal processing, military systems, prototyping the functionality of other electronic devices (for example an ASIC), etc.
FPGA Internal Architecture
A matrix of configurable logic blocks (CLB): logic blocks whose parameters can be modified to present different functionalities. Each CLB consists, in a generic way, of several tables of LUTs (look-up tables, or look-up tables) whose outputs are multiplexed and some configuration parameters of said CLB. The design of a CLB varies from manufacturer to manufacturer. The following figure shows a CLB of a Xilinx XC4000.

A routing matrix, in charge of connecting the CLBs between them, and in turn these with the input and output cells. Input and output cells/blocks (IOB): their mission is to communicate the internal logic of the FPGA with the outside world.

Not only are the logic blocks configurable, but both the routing matrix and the input and output cells are programmable, giving FPGAs great flexibility when it comes to adjusting to the specifications of each design.

There is a wide variety of integrated circuits on the market, ranging from customized devices for each application to others that can be programmed according to the needs of each moment. The following chart shows a basic diagram of the different types of integrated circuits.

FPGAs are an intermediate product between programmable logic devices (PLD), and application-specific integrated circuits (ASIC).
PLDs arose from the need to have circuits whose functionality was not statically defined, such as a simple set of logic gates connected to each other. This functionality is modified when the device is programmed.
The first PLD devices were programmable logic arrays (PLAs), which appeared in the 1970s. PLAs were programmable chips that contained a series of AND and OR gates connected by switching matrices. They had the disadvantage that they could be programmed only once, presenting the same functionality from the moment they were programmed.

Due to this, Generic Array Logic (GAL) appeared (1985), whose main difference with PLAs is that they can be reprogrammed. However, as with those, GALs have a very limited number of logic gates. Later, more complex PLDs appeared, with the name of CPLDs, whose number of logic gates usually amounts to thousands of these. Finally, FPGAs are devices of hundreds of thousands, and even millions, of logic gates. In addition to the logic, also present in the elements described above, they present special resources to efficiently implement arithmetic functions (comparators, adders, counters, etc.), while CPLDs lack these functions. They are based on RAM configuration memory cells, which means that they must be configured each time they are going to be used, and they require additional logic to initialize them. FPGAs are very flexible devices that can work at high frequencies and have parallel processing capacity. There are others FPGA technologies based on flash and antifuse configuration memory cells, these FPGA technology doesn't need to be configurated each time the are re-started.

ASIC technology are ad-hoc circuits, which are designed in a particular way for each application. Due to this customization of the device, they have higher fixed costs (NRE-Non-recurring engineering) than an FPGA, the manufacturing process is longer, etc. They are economically viable only for large-scale production. The NRE cost increase as much as increase frequency (5G designs has higher cost than 4G designs, with regard ASIC process design).

Microcontrollers (MCU) are integrated circuits designed to run programs stored in memory. Includes CPU, RAM, ROM, input/output ports, timers, etc. Unlike microprocessors, which are general-purpose devices, microcontrollers are more focused on performing a specific type of task for which they are more optimized. They are usually of low power and low cost. There is a wide variety of microcontrollers (see trade-off FPGA vs MCU/MP).

Services and products

© All rights reserved.
Legal warning.

Follow us
Back to content