FPGA
Introduction to FPGA
An FPGA (field-programmable gate array) is a logic device that contains a two-dimensional array of generic logic cells and programmable switches.
LUT-based logic cell
The logic cell is the basic building block of an FPGA. It consists of a lookup table (LUT), a flip-flop, and some multiplexers. The LUT can implement any combinational logic function of its inputs, while the flip-flop can store a bit of data. The multiplexers allow the logic cell to be configured in different ways, such as a combinational logic cell or a sequential logic cell.
Programmable interconnect
The programmable interconnect is a network of wires and switches that connect the logic cells together. The interconnect can be configured to create complex logic circuits by connecting the outputs of some logic cells to the inputs of others.
Macro cells
In addition to the basic logic cells, FPGAs often embed macro cells or macro blocks that implement specific functions. Commonly used macro cells include memory blocks, combinational multipliers, clock management circuits, and I/O interface circuits. These macro cells can be used to speed up the design process and improve performance.
Xilinx Artix-7 devices
logic cell slice CLB (configurable logic block)
Macro cell
- MMCM (mixed-mode clock manager)
- BRAM (block RAM)
- DSP (digital signal processing) slices
- IOB (input/output block)
- XADC (analog-to-digital converter)
- gigabit ethernet transceivers
- PCIe (peripheral component interconnect express) bus interfaces