Vous êtes sur la page 1sur 33

CHAPITRE 1

Généralité sur les FPGAs


(Programmable Gate Arrays)

Dr.eng.Walid Kaaniche
Dep. Electronique Industrielle
ENISO, université de Sousse
Introduction
Theoreme de Morgan : Théoriquement nous
avons besoins uniquement de portes NAND et
NOR à deux entrées pour réaliser Tout.
Des circuits complexe,
couteux, compliqué à router
et à réaliser

Circuits Programmables
Introduction
Architecture simplifiée de l’FPGA
Simplified version of FPGA internal architecture
Architecture simplifiée de l’FPGA
• Early FPGAs
– N x N array of unit cells (CLB + routing)
• Special routing along center axis
• Next Generation FPGAs
– M x N unit cells
– Small block RAMs around edges
• More recent FPGAs
– Added block RAM arrays
– Added multiplier cores
– Adders processor cores
Caractéristiques des FPGA
 La possibilité de reconfigurer l’FPGA pour
implémenter n’importe quel fonction logique
– La re-configuration partiel permet à une partie de l’FPGA de fonctionner
normalement tandis que une autre partie subit une re-configuration.

 La possibilité d’implémenter des fonctions allant


des plus simple au plus complexes
Exemples : fonctions Mathématiques
– Floating point units
– Complex Multiplier
– Integer Add, Sub, Multiply, Div
– Digital signal processing functions FFT, FIR
Caractéristiques des FPGA
 La possibilité d’implémenter des architectures
parrallèle ( traitement de plusieurs cannaux
simultanément)
 Plusieurs variantes en terme de taille et de
caractéristiques
 Les FPGAs peuvent contenir une partie
analoqigue programable ainsi que des ADC et des
DAC.
Evolution du marché des FPGA

U.S. FPGA Market by application, 2014–2024 (USD Billion)


Part de Marché mondial en fonction
de la Technologie des FPGA (2015)
Principaux Fabricants des FPGA
• Intel Corporation (Altera)
• Xilinx
• Quick Logic Corporation
• Lattice
• Microchip Technology (Microsemi)
• Qualcomm Technologies Incorporation
• Broadcom
• NXP Semiconductors
• Renesas Electronics Corporation
• Analog Device
Famille FPGA (Altera)
Famille FPGA (Xilinx)
Applications des FPGA
• Automotive driver assistance system (ADAS)
Applications des FPGA
• Automotive driver assistance system (ADAS)

Xilinx SoC FPGA Powers Baidu’s Apollo Driverless


Platform
Flot de Conception (FPGA)
Conception Logique avec les FPGAs
Conception « Top-Down »

• Décomposer le circuit principal en blocs fonctionnels


simples interconnectés.
Un bloc fonctionnel complexe peut, à son tour, être décomposé en
éléments plus simples…etc...

Réalisation « Bottom-up »

• Mettre au point chacun des blocs fonctionnels séparément

• Regrouper les blocs et tester le fonctionnement global


Les interfaces de saisie
Description de haut niveau du circuit logique.

 Description Graphique
Schéma électronique:

On place et on relie des composants

Le fichier HDL est créé automatiquement

 Language de description matérielles (Textuel)


Les interfaces de saisie
Description de haut niveau du circuit logique.

Graphical State Diagram Textual HDL

When clock rises


If (s == 0)
then y = (a & b) | c;
else y = c & !(d ^ e);

Top-level
block-level
schematic

Graphical Flowchart Block-level schematic


Language de Description Matérielle
• Language describing hardware (Engineers call
it FIRMWARE)
• Doesn’t behave like “normal” programming
language ‘C/C++’
• Describe Logic as collection of Processes
operating in Parallel
• 2 Popular languages are VHDL , VERILOG
VHDL
ENTITY Declaration Input Output to Module (STD LOGIC)

SIGNALS Declaration WIRES

CONCURRENT ASSIGNMENTS

CONDITIONAL ASSIGNMENTS => MULTIPLEXERS

edward.freeman@stfc.ac.uk
VHDL
PROCESS Declaration.

COMPONENT Declaration

edward.freeman@stfc.ac.uk
La synthèse logique

• Traduit en «blocs logiques élémentaires interconnectés »

•Le résultat de la synthèse peut être affiché sous forme :


- classique ne tenant pas compte de l ’architecture du FPGA
- ou de schémas adapté à l ’architecture du FPGA

Design Flow
La simulation fonctionnelle

• Simule le fonctionnement du circuit avant son implantation

• Utile pour détecter des erreurs de conception

• Ne tient pas compte des contraintes et aléa de


fonctionnement liées au composant ciblé:
• fréquences maximales d ’horloge
• possibilités de routage
• ressources insuffisantes
• temps de transfert réel dans les circuits logiques
•…etc...
Le placement - routage

• Implante le circuit dans le composant cible

• Affecte les pattes d ’entrées/sorties

• Mode d ’optimisation (en surface ou en vitesse)

• Génère le fichier de configuration à télécharger dans la cible

• Produit un rapport avec les ressources utilisées et les temps


de propagation de broche à broche.

placement routage
La simulation « post-routage »

• La simulation tient compte de l ’implantation dans le


composant.

• Elle permet de vérifier si le circuit répond au cahier des


charges
Chargement dans la cible
Technologie (SRAM/EEPROM)

• Directement par l ’interface JTAG dans la mémoire SRAM de


configuration

• Indirectement :
• Le fichier est tout d ’abord stocké dans une mémoire
flash à accès série externe (ou interne).
• A la mise sous tension du FPGA il y a recopie de la
mémoire EEPROM vers la SRAM de configuration
Configuration
Technologie SRAM

mémoire de configuration
microcontrôleur
broches de
configuration dédiées
FPGA
CLP ou port JTAG

configuration autonome sur site : ICR (In Circuit Reconfiguration)


Tests sur la cible

• On effectue des tests avec des signaux réels sur la cible pour
valider le circuit créé.

• L ’interface JTAG est utile pour sonder l ’état logique des


broches du circuit en fonctionnement
Outils logiciels génériques

• Synario, Synopsis, Mentor, ViewLogic, ASYL, CADENCE,,…

Avantages:
– un seul apprentissage pour tous les composants
– permet une conception détachée du composant cible…

Inconvénients :
– toujours un peu en retard sur les derniers composants sortis
– plus chers
– Le P/R constructeur est nécessaire
Outils logiciels spécifiques

• Ne permettent que le développement des composants du


constructeurs

• Ex : Altera Quartus, AMD Mach XL, Lattice IspDesignEXPERT, Xilinx


ISE…

• Avantages :
– ils optimisent au mieux la synthèse pour le composant ciblé
– toujours à jour sur le dernier composant
• Inconvénients :
– ils nécessitent un apprentissage à refaire si on souhaite
changer de constructeur
Intellectual Property (IP)
• Les structures matérielles deviennent du consommable
• Achat ou location d ’un design paramétrable
• Licence ou royalties
• Développement et échange d’IP grâce aux langages
standards
IP MegaStore: Search Engine
www.altera.com/IPmegastore
The Portfolio (XILINX, ALTERA)
Communications Bus Interface Digital Signal Processing Processor, Peripheral
ADPCM (u-law, a-law) CAN Bus Adaptive Filter 2910
ATM Controller IIC Slave Binary Pattern Correlator 49410
Cell Delineation IIC Master Biorthogonal Wavelet Filter 6402 UART
CRC IEEE 1394 Complex Multiplier Mixer 6850 UART
Ethernet MAC PCI Target CSC 16450/550 UARTs
(10/100/Gigabit)
PCI Master/Target Decimating Filter 8251 UART
HDLC Protocol Core
PCI-X Master/Target Digital Modulator 8237 DMA Controller
IMA Controller
PowerPC Bus Arbiter Discrete Cosine Transform 8255 Peripheral Interface
Intermediate Data Rate
Framer/DeFramer PowerPC Bus Master Early/Late Gate Symbol 8259 Interrupt Controller
Multi-Channel ATM TC PowerPC Bus Slave FFT 8254 Timer/Counter
Packet Over SONET USB Function Controller FIR Compiler 8051
Controller USB Host Controller FIR Filter Library 8052
Rank Order Filter Floating Point Adder/Divider 6502
Speedbridge IIR Compiler Z80
Telephony Tone Generator Image Processing Library Excalibur NIOS Processor
Utopia Level II/III Master Integer Divider LX-4080R
and Slave
NCO Xtensa 32-bit Processor
Reed Solomon Compiler SDRAM Controller
Square Root Operator
Symbol Interleaver/Deinterleaver
Viterbi Decoder