Architecture interne d'un FPGA
LUTs, bascules, blocs RAM, DSP, interconnexions - les ressources physiques d'un FPGA moderne.
Qu'est-ce qu'un FPGA ?
Un FPGA (Field-Programmable Gate Array) est un circuit intégré dont la logique est reconfigurable après fabrication. Contrairement à un ASIC (circuit figé), un FPGA peut être reprogrammé autant de fois que nécessaire.

Les ressources principales
LUT - Look-Up Table
La brique de base de la logique configurable. Une LUT est une petite mémoire qui implémente n'importe quelle fonction logique.
Une LUT-6 (6 entrées, standard Xilinx 7-series) peut réaliser n'importe quelle fonction de 6 variables → 2⁶ = 64 cases mémoire.

| Paramètre | Xilinx 7-series | Intel Cyclone V |
|---|---|---|
| LUT | LUT-6 | LUT-6 (ALM) |
| LUTs / CLB | 8 | 10 / ALM |
| Nombre typique | 13k – 2M | 25k – 300k |
Bascule D (Flip-Flop)
Chaque LUT est associée à une ou plusieurs bascules D. Elles stockent l'état entre les cycles d'horloge.
Un CLB (Configurable Logic Block) contient généralement 8 LUTs + 16 bascules.
Carry Chain
Les CLBs disposent de chaînes de propagation de retenue rapide, permettant d'implémenter des additionneurs et compteurs haute performance.
BRAM - Block RAM
La mémoire embarquée dans le FPGA. Organisée en blocs de taille fixe (typiquement 18 kbits ou 36 kbits).
-- Inférence automatique d'une BRAM simple port
architecture rtl of bram_sp is
type t_mem is array(0 to 255)
