Quick Overview to FPGA Architecture

04/03/2019, hardwarebee

More and more companies are using FPGAs as a key component in their electronic product. If you are reading this article, you are probably interested in learning more about FPGA architecture.


So, let us dive into the very basics of FPGA architecture.


What is an FPGA?


An FPGA, or a Field Programmable Gate Array, is a programmable chip that can be reprogrammed in the field even after it has been programmed. It is a chip whose internal configuration is set by code that is determined by the FPGA designer. FPGAs provide an element of reusability as well as flexibility which is not the case with ASICs that are largely permanent chips that cannot be programmed once they have been produced.


An FPGA is like a white canvas, it can perform any digital function you can imagine, it offers versatility and flexibility that do not exist anywhere else.


On power up, the FPGA is loading its code from an external memory and then starts behaving based on the new functionality. An FPGA is SRAM-based; therefore, a code should be downloaded every time it’s powering up.


FPGA are used today in a wide range of applications. FPGAs can be found in following applications: Data Center, High Performance Computing, Industrial, Medical Products, Measurement Instruments, Video & Image Processing, Wired Communications, Wireless Communications, Aerospace and Defense, ASIC Prototyping, Automotive, and more. Let’s dive into the FPGA architecture and understand the internal elements that make FPGAs so special.


FPGA Architecture


An FPGA is made up of an array of blocks called programmable logic blocks, these blocks are connected by configurable interconnect matrix. This means that both the logic behavior and internal routing can be programmed by the designer, giving the device its flexibility. The number of logic blocks is depending on the FPGA size (and price). The larger the FPGA the more logics blocks you could use. More logic blocks will allow you to use more “gates” and hence more functionality. The following diagrams show a general overview of FPGA architecture. Since the 1980’s and still today FPGAs are using the same architecture as shown below.


Figure 1: FPGA Architecture


The logic blocks and the interconnect structure are arranged in the form of a two-dimensional array and spread across the FPGA.


The following paragraphs describe the internal architecture of an FPGA:



Logic Blocks


Logic blocks are the fundamental elements in an FPGA that provide the logic function capabilities.  An FPGA consists of many logic blocks that together can perform any possible logic implementation. A logic block is configurable and generally consists of a flip-flop along with a look-up-table and a muliplexer.


The following drawing shows a typical FPGA logic block architecture:


Figure 2: FPGA Logic Block Example



Input and Output Blocks


Input and output blocks are located next to every physical input or output pin. The IO blocks allow the user to select each pin functionality: whether it’s input, output or tri-state. And consist of some buffers and logic that are beneficial to have near the input or output pin. In some cases, the user can also control the signal slew rate to operate on fast or slow mode.


Figure 3: FPGA IOB Example


Using the internal routing, the signal is redirected in or from the IO block to the logic block.


Internal Routing


An FPGA chip’s internal routing is one of the most critical components of the device. It is the path that is used to connect all signals, as well as your clock to the different parts of your FPGA. The various logic blocks are connected to one another with the help of this internal routing which consists of channels comprising of interconnecting wires and electrically reconfigurable switches. These switches can be manipulated to connect and disconnect the various common logic blocks at different points and create a unique FPGA chip that is specific to your requirements.




Figure 4: FPGA Interconnect Example




Further reading:


Top 10 FPGA Advantages

FPGA Advantages and Most Common Applications Today


The Ultimate Guide to FPGA Clocks

FPGA History and Applications

Guide to FPGA Design Flow
FPGA Design Services Companies

Recent Stories