SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
F.CAIGNET
Les circuits logiques programmables - FPGA
1
Etude des circuits logiques
programmables
Les FPGA
Etude des circuits logiques
programmables
Les FPGA
Fabrice CAIGNET
LAAS - CNRS
fcaignet@laas.fr
F.CAIGNET
Les circuits logiques programmables - FPGA
2
Contenu :Contenu :
I. Les Réseaux Logiques Programmables : PLD
II. Les technologies des éléments programmables
IV. Les outils de développement
III. Les FPGAs
V. Les tendances des composants programmables
VI. Le langage VHDL
F.CAIGNET
Les circuits logiques programmables - FPGA
3
PLD = Programmable Logic Devices
Circuits logiques + ou - complexes remplaçant l’association de plusieurs
boîtes logiques
• Simplification de câblage
• Encombrement réduit
• Diminution des coûts
• Facilité d’utilisation
• Diminution du risque des pannes
PLD
Association de
fct Logiques
entrées Sorties
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
1 seul circuit
intégré
F.CAIGNET
Les circuits logiques programmables - FPGA
4
Le cahier des charges du développement d’un système doit prendre
en compte les paramètres suivants :
Importance du «Time To Market »
• Le coût de production
• Les performances
• La consommation
• L'intégration
• L'évolution du produit
• La maintenance
• La protection industrielle
Deux alternatives existent :
• Les ASIC (Application Specific integrated Circuits)
• Les Circuits à réseaux programmables
temps
Nb de ventes
Entreprise 1
Entreprise 2
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
F.CAIGNET
Les circuits logiques programmables - FPGA
5
Quelles différences entre un ASIC et un PLD
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
ASIC
Application Specific Integrated Circuits
PLD
Programmable Logic Device
• Un circuit dédié à une application
• Choix de la technologie
Maximum de performances
• Un circuit programmé pour une
application
• Technologie figée mais :
Facilité de programmation
Choix du fondeur
Conception du circuit
(full-custom - bibliothèques)
Fabrication
à très grand nombre
d’exemplaire
Choix du circuit
Programmation du circuit
(logiciel + interface circuit)
Implémentation
nombre d’exemplaires
limité
Très grand niveau d’intégration Intégration limitée
F.CAIGNET
Les circuits logiques programmables - FPGA
6
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
F.CAIGNET
Les circuits logiques programmables - FPGA
7
Avantages des PLD
Inconvénients
• Le coût et temps de développement.
• Le prototypage et temps de simulation accéléré.
• La prise de risque est réduite. (modifications possibles,
risque d'inventaire)
• Des supports logiciels peu chers.
• Des produits éprouvés. (pas de vecteurs de test structurel)
• Un niveau d'intégration moindre aux ASIC.
• Une consommation plus élevée.
• Des prix importants et une faible disponibilité pour de
grandes séries .
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
Symbolisation
Normalisée
F.CAIGNET
Les circuits logiques programmables - FPGA
8
boîtes logiquesQuatre Familles de PLD
PLDPLD
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
PAL GAL EPLD FPGA
F.CAIGNET
Les circuits logiques programmables - FPGA
9
• Développés au début des années 70 par MMI (ex-AMD)
• La programmation se fait par destruction de fusibles
• Aucun fusible n’est grillé à l’achat de la PAL
FusiblesFusiblesFusibles
LesLes fonctionsfonctions ETET sontsont programmablesprogrammables
PAL (Programmable Array Logic) : réseaux logiques programmables
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
F.CAIGNET
Les circuits logiques programmables - FPGA
10
ExempleExemple d’und’un “OU EXCLUSIF”“OU EXCLUSIF”
Fusible intactFusible intactFusible intact
Fusible détruitFusibleFusible détruitdétruit
PAL (Programmable Array Logic) : réseaux logiques programmables
Représentation :
- les fusibles intactes sont représentés par une connexion
- les fusibles détruits sont représentés par une absence de
connexion
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
F.CAIGNET
Les circuits logiques programmables - FPGA
11
Que peut-on trouver dans une PAL??
PAL (Programmable Array Logic) : réseaux logiques programmables
Tout P.A.L. est constitué :
- D'entrées (Input): I1 à In avec
8<n<20.
- De sorties (Output) Ou d’entrées /
sorties (I/O) de type Totem Pôle ou
Trois Etats :O1 à On ou IO1 à IOn
(2<n<15).
On trouve aussi :
- Une entrée d'horloge (Clock): Clk
ou Clock.
- Une entrée de validation des
sorties trois états: OE (Output
Enable) ou Enable.
- Une entrée de remise à zéro des
registres: RESET.
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
F.CAIGNET
Les circuits logiques programmables - FPGA
12
PAL : Matrice de programmation
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
- Un ensemble de portes « ET »
sur lesquelles viennent se
connecter les variables d’entrée et
leurs compléments.
La plupart des P.A.L. sont constitués :
Matrice de
programmation
Matrice deMatrice de
programmationprogrammation
- Un ensemble de portes « OU »
sur lesquelles les sorties des
opérateurs « ET » sont connectées
les variables d’entrée.
F.CAIGNET
Les circuits logiques programmables - FPGA
13
PAL : Structure de sortie
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
Il existe 3 structures de sortie qui peuvent-être aussi de entrées/sorties :
- Combinatoire
- Séquentielle
- versatiles
• Entrées / Sorties combinatoires
Sortie 3 états rebouchée vers la matrice
une sortie peut servir de variable intermédiaire
une sortie peut servir d’entrée (en mode haute impédance)
F.CAIGNET
Les circuits logiques programmables - FPGA
14
Sortie à REGISTRESortie à REGISTRE
PAL : Structure de sortie
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
• Entrées / Sorties séquentielles, à registre
Une bascule D permet la logique séquentielle
sorties séquencées sur une horloge H
une sortie ne peut pas servir d’entrée
une commande OE (Ouput Enable) permet de désactiver la sortie
OE
F.CAIGNET
Les circuits logiques programmables - FPGA
15
Entrée / Sortie VERSATILEEntrée / Sortie VERSATILE
PAL (Programmable Array Logic) : Structure de sortie
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
• Entrées / Sorties versatiles (VPAL)
On peut configurer par programmation le mode d’utilisation de la broche
de sortie
F.CAIGNET
Les circuits logiques programmables - FPGA
16
PAL (Programmable Array Logic) : Exemple de PAL22V10 (AMD)
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
F.CAIGNET
Les circuits logiques programmables - FPGA
17
RéseauRéseau LogiqueLogique
ReReprogrammableprogrammable
Un GAL est un
PAL effaçable
électriquement
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
GAL (Généric Array Logic), « LATICE Semiconductor »
F.CAIGNET
Les circuits logiques programmables - FPGA
18
Erasable Programmable Logic DeviceErasable Programmable Logic Device
CircuitCircuit LogiqueLogique
reprogrammablereprogrammable
dede grandegrande capacitécapacité
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
F.CAIGNET
Les circuits logiques programmables - FPGA
19
Forecasting Programmable GateForecasting Programmable Gate
ArrayArray
RéseauRéseau dede portesportes
programmablesprogrammables à laà la demandedemande
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
La densité croissante des circuits programmables actuels, notamment des
FPGA (Field Programmable Gate Array), permet le prototypage rapide des
circuits numériques à grande complexité. Aussi, il est possible de tester
rapidement la validité de concepts architecturaux nouveaux: l'implémentation
complète d'un processeur sur des circuits FPGA est aujourd'hui à notre
portée, entraînant ainsi plus de possibilités d'évaluation que celles offertes
par des simulateurs logiciels.
De plus, la reprogrammabilité de certains circuits FPGA a ouvert de
nouvelles voies de recherche: des méthodologies de conception des
systèmes reconfigurables, capables d'évoluer ou de s'adapter à des
environnements ou à des contraintes variables.
F.CAIGNET
Les circuits logiques programmables - FPGA
20
PLD
Circuits Logiques
Programmables
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
Résumé graphique des familles de P.L.D.
PAL à fusibles bipolaires
PAL et FPLS
PAL CMOS effaçables électriquement
GAL effaçables électriquement
PAL effaçables aux UV
GPLD - EPLD
LCA
FPGA
F.CAIGNET
Les circuits logiques programmables - FPGA
21
I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
Les principaux critères de choix des P.L.D. sont:
- Vitesse de fonctionnement
- Nombre de portes
- Consommation
- Technologie
- Prix
F.CAIGNET
Les circuits logiques programmables - FPGA
22
Généralité sur les technologies des éléments programmables
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
On trouve les éléments programmables dans les blocs logiques des PLDs, afin de
leur donner une fonctionnalité, mais aussi dans les matrices d'interconnexions
entre ces blocs. Un élément programmable peut être considéré comme un
interrupteur. Afin de respecter les contraintes imposées à l'ingénieur, les éléments
programmables doivent posséder plusieurs qualités :
- Ils doivent occuper une surface la plus petite possible (Ce point
s'explique pour des raisons évidentes de coût. Ceci est d'autant plus vrai que l'on
désire en disposer d'un grand nombre).
- Ils doivent posséder une résistance de passage faible et une résistance
de coupure très élevée.
- Ils doivent apporter un minimum de capacité parasite.
Les deux derniers points s'expliquent quant à eux pour des raisons de performance
en terme de fréquence de fonctionnement du PLD. Plus la résistance et la capacité
sur le chemin d'un signal sont faibles, plus la fréquence de ce signal peut être
élevée (RC effet).
F.CAIGNET
Les circuits logiques programmables - FPGA
23
Les technologies à fusibles
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
Technologie fusible-diode Technologie fusible-transistor
Les fusibles sont grillés en appliquant des tensions élevées (12V)
Technologies maintenant abandonnées pour des raisons de manque de fiabilité.
Le fait de "griller" les fusibles provoque des perturbations qui peuvent affecter le reste du circuit.
De plus, cette programmation est irréversible et ne permet donc pas la re-programmabilité.
Technologies maintenant abandonnées pour des raisons de manque de fiabilité.
Le fait de "griller" les fusibles provoque des perturbations qui peuvent affecter le reste du circuit.
De plus, cette programmation est irréversible et ne permet donc pas la re-programmabilité.
F.CAIGNET
Les circuits logiques programmables - FPGA
24
Les technologies à anti-fusibles (Actel, QuickLogic, Crosspointet Xilinx)
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
un anti-fusible est un élément programmable qui à l'inverse des fusibles n'est
passant qu'après programmation.
La connexion s effectue en détruisant un diélectrique
Technologie anti-fusible PLICE Technologie anti-fusible VIA-Link
Petite taille (grande capacité d’intégration)
Base impédance (rapidité)
Petite taille (grande capacité d’intégration)
Base impédance (rapidité)
Technologie difficile à maîtriser
ne permettent pas la reprogrammation
Technologie difficile à maîtriser
ne permettent pas la reprogrammation
F.CAIGNET
Les circuits logiques programmables - FPGA
25
Les technologies à EPROM/FLASH (Actel, AMD...)
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
Il existe deux variantes de l'EPROM,
- Erasable Programmable Read Only Memory classique (EPROM)
- Electrically Erasable Programmable Read Only Memory (EEPROM).
Petite taille (grande capacité d’intégration)
Base impédance (rapidité)
Petite taille (grande capacité d’intégration)
Base impédance (rapidité)
Cellule à grille flottante d’une EPROM Système d’interconnexion
Possibilité de reprogrammation à loisirPossibilité de reprogrammation à loisir
F.CAIGNET
Les circuits logiques programmables - FPGA
26
Les technologies à EPROM/FLASH (Actel, AMD...)
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
Le système à Grille flottante :
Etat non programmé : il n'existe pas de charge dans la grille flottante et le
transistor peut être utilisé normalement.
En cours de programmation (effet tunel, passage d'un fort courant entre la
source et le drain), une partie de la charge est retenue dans la grille flottante. Le
seuil du transistor augmente,
Le transistor est bloqué jusqu'à ce qu'il soit "effacé".
Etat non programmé : il n'existe pas de charge dans la grille flottante et le
transistor peut être utilisé normalement.
En cours de programmation (effet tunel, passage d'un fort courant entre la
source et le drain), une partie de la charge est retenue dans la grille flottante. Le
seuil du transistor augmente,
Le transistor est bloqué jusqu'à ce qu'il soit "effacé".
VT1
VT0
Non programmé
Programmé
Charge de la grille
F.CAIGNET
Les circuits logiques programmables - FPGA
27
Les technologies à RAM statique -SRAM (XILINX, ALTERA...)
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
Elle fait appel à une phase de chargement de la configuration depuis l'extérieur
Transistor de passage
Portes de passage Portes de passage
Commande
Commande
Structure +
complexe
(4 à 6
Transistors)
Grande possibilité de programmation
Technologie de type CMOS (très bien
maîtrisée)
Grande possibilité de programmation
Technologie de type CMOS (très bien
maîtrisée)
Place importante
Mémoire volatile (reprogrammation
obligatoire)
Place importante
Mémoire volatile (reprogrammation
obligatoire)
F.CAIGNET
Les circuits logiques programmables - FPGA
28
Les technologies à RAM statique -SRAM (XILINX, ALTERA...)
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
Exemples de structure SRAM implantées
F.CAIGNET
Les circuits logiques programmables - FPGA
29
Récapitulatif :
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
La technologie EEPROM
Les PLD à EPROM se programment électriquement et s’effacent aux UV,
Par contre
Les PLD à EEPROM se programment quasi instantanément, et gardent
la configuration jusqu’à une nouvelle programmation (même en l’absence
de tension)
La technologie EEPROM
Facile et rapide à programmer, la configuration disparaît sans alimentation.
F.CAIGNET
Les circuits logiques programmables - FPGA
30
Technologies utilisées par les différents fabricants
II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
F.CAIGNET
Les circuits logiques programmables - FPGA
31
III. Les FPGAIII. Les FPGA
Rappel des caractéristiques principales
Comme nous venons de le voir, les éléments programmable sont à la
base des caractéristiques des FPGA
Le choix d’un PLD dépendra dont :
• La densité d’intégration
• De la rapidité de fonctionnement (paramètre directement lié à
l’impédance intrinsèque des éléments programmables
• De la facilité de mise en œuvre (programmation, re-
programmation…)
• de la possibilité de maintien de l’information
F.CAIGNET
Les circuits logiques programmables - FPGA
32
III. Les FPGAIII. Les FPGA
Rappel des caractéristiques principales
Les structures PAL sont à la base des CPLD, FPGA d’aujourd’hui
Zone de programmation OMLC
Output Logic MacroCell
(Combinatoires
Séquentielles
Versatiles
F.CAIGNET
Les circuits logiques programmables - FPGA
33
Les CPLD (Complexe Programmable Logic Device) :
III. Les FPGAIII. Les FPGA
Bloc
Logiques
Bloc
Logiques
Zone
d ’inter-
connexion
Bloc
Logiques
Ces circuits ont une capacité de portes et de configuration très largement
supérieur aux PAL
Macro-cellules composées de :
- une zone de portes
logiques
- un bascule
• Architecture identique aux PAL
• équivalent à plusieurs PAL séparées par
une zone d’interconnexion
• Architecture identique aux PAL
• équivalent à plusieurs PAL séparées par
une zone d’interconnexion
• 100 à 100000portes
• 16 à 1000 bascules
• 100 à 100000portes
• 16 à 1000 bascules
F.CAIGNET
Les circuits logiques programmables - FPGA
34
Les FPGA (Fields Programmable Gate Array) : Réseau de portes
programmables à la demande - XILINX et ALTERA.
III. Les FPGAIII. Les FPGA
• les FPGA à la différence des CPLD sont assimilables à des A.S.I.C.
programmables par l’utilisateur.
• La puissance de ces circuits est telle qu’ils peuvent être composés de plusieurs
milliers voir millions de portes logiques et de bascules. Les dernières générations
de FPGA intègrent même de la mémoire vive (RAM). Les deux plus grands
constructeurs de FPGA sont XILINX et ALTERA.
• Ils sont composés de blocs logiques élémentaires (plusieurs milliers de portes)
qui peuvent être interconnectés.
• Critère de choix : vitesse de fonctionnement plus élevées pour les CPLD
F.CAIGNET
Les circuits logiques programmables - FPGA
35
Structure interne d’un FPGA type XILINX
III. Les FPGAIII. Les FPGA
le FPGA est présenté pour la 1er fois par
XILINX avec des structure :
• blocs logiques configurables
• blocs d’I/O configurables
• des interconnexions entre bloc
configurables
le FPGA est présenté pour la 1er fois par
XILINX avec des structure :
• blocs logiques configurables
• blocs d’I/O configurables
• des interconnexions entre bloc
configurables
F.CAIGNET
Les circuits logiques programmables - FPGA
36
Structure interne des FPGA
III. Les FPGAIII. Les FPGA
Exemple de structures de FPGAExemple de structures de FPGA
F.CAIGNET
Les circuits logiques programmables - FPGA
37
Structure interne des FPGA
III. Les FPGAIII. Les FPGA
FPGA « Raw-based » FPGA « Sea of gates »
F.CAIGNET
Les circuits logiques programmables - FPGA
38
Dans les FPGA les blocs sont
interconnectés de différentes
façons :
• des optimisations de routage
sont possibles
• sélections de lignes ou
colonnes
• canaux de routage rapide
(longues distances)
Dans les FPGA les blocs sont
interconnectés de différentes
façons :
• des optimisations de routage
sont possibles
• sélections de lignes ou
colonnes
• canaux de routage rapide
(longues distances)
Les interconnexions programmables dans les FPGA
III. Les FPGAIII. Les FPGA
F.CAIGNET
Les circuits logiques programmables - FPGA
39
Les interconnexions programmables dans les FPGA
III. Les FPGAIII. Les FPGA
Afin de diminuer le nombre de canaux de routage, ils sont segmentés ou peuvent
l'être par programmation. Cette dernière méthode est utilisée dans le cas d'une
technologie de programmation par anti-fusibles car les éléments programmables sont
de petite taille.
On notera les compromis qu'il existe entre nombre de canaux de routage, nombre
d'éléments de programmation et temps de propagation.
Afin de diminuer le nombre de canaux de routage, ils sont segmentés ou peuvent
l'être par programmation. Cette dernière méthode est utilisée dans le cas d'une
technologie de programmation par anti-fusibles car les éléments programmables sont
de petite taille.
On notera les compromis qu'il existe entre nombre de canaux de routage, nombre
d'éléments de programmation et temps de propagation.
Les figures illustrent les différents types de segmentation pour un même exemple de
routage
F.CAIGNET
Les circuits logiques programmables - FPGA
40
Les types de blocs logiques dans les FPGA
III. Les FPGAIII. Les FPGA
Il existe 4 types de blocs logiques :
- Les macrocellules.
- Les blocs à multiplexeurs.
- Les LUT.
- Les cellules symétriques.
Il existe 4 types de blocs logiques :
- Les macrocellules.
- Les blocs à multiplexeurs.
- Les LUT.
- Les cellules symétriques.
Cellules symétriques :
Ces blocs de petite taille
servent à réaliser des fonctions
logiques simples mais aussi
comme ressources de
connexion
F.CAIGNET
Les circuits logiques programmables - FPGA
41
Les types de blocs logiques dans les FPGA
III. Les FPGAIII. Les FPGA
Les Multiplexeurs :
En venant programmer les entrées du multiplexeur et en pilotant les signaux de
sélection, il est possible de réaliser toutes les fonctions logiques (à autant d'entrées
que de signaux de sélection).
Leur très petite taille est particulièrement adaptée à la technologie anti-fusible.
F.CAIGNET
Les circuits logiques programmables - FPGA
42
Les types de blocs logiques dans les FPGA
III. Les FPGAIII. Les FPGA
Les LUT (Look-Up Table) :
Les Look-Up Table sont un cas particulier des cellules à multiplexeur, avec de 2
à 9 entrées et dont la technologie du point mémoire est une technologie SRAM.
Une Look Up Table de N entreées est une mémoire qui peut implémenter
n'importe quelle fonction booléenne de N variables.
Les N entrées sont utilisées comme adresse d'une mémoire de 2n bits qui code
la fonction booléenne à réaliser. On peut donc réaliser 2n fonctions différentes avec
une LUT à N entrées.
Les Look-Up Tables sont des blocs logiques de très petite granularité dans un
CLP. Comme Les Look-Up Table possèdent une bascule de sortie, les architectures
à base de Look-Up Table sont beaucoup plus riches en bascules que les
architectures à macro-cellules.
F.CAIGNET
Les circuits logiques programmables - FPGA
43
Les types de blocs logiques dans les FPGA
III. Les FPGAIII. Les FPGA
Les LUT (Look-Up Table) :
Point mémoires
Entrées
F.CAIGNET
Les circuits logiques programmables - FPGA
44
Les types de blocs logiques dans les FPGA
III. Les FPGAIII. Les FPGA
Les Macro-cellules :
On retrouve dans certaines macro-cellules
toute la complexité d'un PAL.
Il y a en général un nombre réduit de macro-
cellules dans un EPLD, car ces cellules
occupent une grande surface.
la macro-cellule présente plusieurs intérêts :
- grand nombre de variables d'entrées
possibles
- grand nombre de termes de produits
possibles
F.CAIGNET
Les circuits logiques programmables - FPGA
45
IV. Les outils de développementIV. Les outils de développement
Deux Outils sont nécessaires à la programmation des FPGA :
- Le système de développement
- Le programmeur
Deux Outils sont nécessaires à la programmation des FPGA :
- Le système de développement
- Le programmeur
F.CAIGNET
Les circuits logiques programmables - FPGA
46
IV. Les outils de développementIV. Les outils de développement
Les systèmes de développement
Ces systèmes produisent une table représentant les fusibles à détruire en
fonction des équations logiques, diagramme d'états et tables de vérités écrit dans
le langage propre au système, c'est le rôle du compilateur ou synthétiseur.
La description du fonctionnement des circuits peut se faire de plusieurs façons,
soit :
- Par un schéma à base de fonctions logiques élémentaires (Portes
ET,OU,NON, … bascules, compteurs, registres à décalages).
- En utilisant un langage de description comportementale H.D.L.
(Hardware Description Language). Les plus anciens sont PALASM, ORCAD/PLD et
le plus connu et utilisé est sans conteste ABEL (utilisé par la plus part des
systèmes de développements). Enfin les langages dit de haut niveau, VHDL ( Very
high speed Hardware Description Language) et VERILOG sont en général utilisés
pour des circuits complexes. Le langage VHDL est très utilisé en Europe.
Ces systèmes produisent une table représentant les fusibles à détruire en
fonction des équations logiques, diagramme d'états et tables de vérités écrit dans
le langage propre au système, c'est le rôle du compilateur ou synthétiseur.
La description du fonctionnement des circuits peut se faire de plusieurs façons,
soit :
- Par un schéma à base de fonctions logiques élémentaires (Portes
ET,OU,NON, … bascules, compteurs, registres à décalages).
- En utilisant un langage de description comportementale H.D.L.
(Hardware Description Language). Les plus anciens sont PALASM, ORCAD/PLD et
le plus connu et utilisé est sans conteste ABEL (utilisé par la plus part des
systèmes de développements). Enfin les langages dit de haut niveau, VHDL ( Very
high speed Hardware Description Language) et VERILOG sont en général utilisés
pour des circuits complexes. Le langage VHDL est très utilisé en Europe.
F.CAIGNET
Les circuits logiques programmables - FPGA
47
Voir 2ème fichier
F.CAIGNET
Les circuits logiques programmables - FPGA
48
IV. Les outils de développementIV. Les outils de développement
Les systèmes de développement
- Par l’utilisation de graphes d'états (Flow States Machines, FSM)- Par l’utilisation de graphes d'états (Flow States Machines, FSM)
F.CAIGNET
Les circuits logiques programmables - FPGA
49
V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA
Presentation générale
• Eléments programmables de type EEPROM, basé sur le principe de
seconde génération de matrice programmables.
• 5.0V, IEEE 1149.1 test standard
• 600 à 5000 portes
• 5 ns Pin to pin delay (175MHz)
• Eléments programmables de type EEPROM, basé sur le principe de
seconde génération de matrice programmables.
• 5.0V, IEEE 1149.1 test standard
• 600 à 5000 portes
• 5 ns Pin to pin delay (175MHz)
F.CAIGNET
Les circuits logiques programmables - FPGA
50
V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA
Performances de certains FPGA parmi les MAX7000
F.CAIGNET
Les circuits logiques programmables - FPGA
51
V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA
Les Macrocells
F.CAIGNET
Les circuits logiques programmables - FPGA
52
V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA
Les contraintes de temps (timing constrains)
Chaque élément intervient et doit être prit en compte dans l’évaluation des temps
de propagation
Chaque élément intervient et doit être prit en compte dans l’évaluation des temps
de propagation
F.CAIGNET
Les circuits logiques programmables - FPGA
53
V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA
Les contraintes de temps (timing constrains)
Exemple d’application à un cas simple de logique combinatoireExemple d’application à un cas simple de logique combinatoire
F.CAIGNET
Les circuits logiques programmables - FPGA
54
V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA
Les contraintes de temps (timing constrains)
Exemple d’application au cas séquentielsExemple d’application au cas séquentiels
F.CAIGNET
Les circuits logiques programmables - FPGA
55
V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA
Le format de test JTAG : IEEE 1149.1 (the boundary scan standard)
F.CAIGNET
Les circuits logiques programmables - FPGA
56
V. Le FPGA CX4000 de XilinxV. Le FPGA CX4000 de Xilinx
F.CAIGNET
Les circuits logiques programmables - FPGA
57
V. Le FPGA CX4000 de XilinxV. Le FPGA CX4000 de Xilinx
F.CAIGNET
Les circuits logiques programmables - FPGA
58
V. Le FPGA CX4000 de XilinxV. Le FPGA CX4000 de Xilinx
F.CAIGNET
Les circuits logiques programmables - FPGA
59
V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA
Informations générales
Informations generales
- Nb de portes : 5000 - 24000
Informations generales
- Nb de portes : 5000 - 24000
The logic array contains logic array blocks
(LABs) composed of 10 logic elements
(LEs) that communicate through a fully
populated local interconnect structure
The logic array contains logic array blocks
(LABs) composed of 10 logic elements
(LEs) that communicate through a fully
populated local interconnect structure
F.CAIGNET
Les circuits logiques programmables - FPGA
60
Les LAB peuvent être interconnectés
grâce à un réseau d’interconnections
longue distance
Les LAB peuvent être interconnectés
grâce à un réseau d’interconnections
longue distance
V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA
Informations générales
Chaque Le d’un même LAB peuvent
être interconnectés ainsi qu’à leurs
plus proches voisins
Chaque Le d’un même LAB peuvent
être interconnectés ainsi qu’à leurs
plus proches voisins
Le
Le
Le
Le
LAB LAB
FastTrack InterconnectFastTrack Interconnect
Interleaved LABsInterleaved LABs
F.CAIGNET
Les circuits logiques programmables - FPGA
61
V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA
Informations générales : que sont les LE (logic Element)?
Chaque LE (Logic Element) contient 1 LUT a 4 entreesChaque LE (Logic Element) contient 1 LUT a 4 entrees
F.CAIGNET
Les circuits logiques programmables - FPGA
62
V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA
Informations générales : que sont les LE (logic Element)?
Le Carry ChainLe Carry Chain
F.CAIGNET
Les circuits logiques programmables - FPGA
63
V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA
Informations générales : que sont les LE (logic Element)?
Le Cascade chainLe Cascade chain
F.CAIGNET
Les circuits logiques programmables - FPGA
64
V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA
Informations générales : performances
F.CAIGNET
Les circuits logiques programmables - FPGA
65
V. Le FPGA FLEX10K de ALTERAV. Le FPGA FLEX10K de ALTERA
Informations générales
Premier circuit programmable dit:
embedded programmable logic device (PLD) family,
providing System-on-a-Programmable-Chip (SOPC)
De 10000 à 250000 portes
F.CAIGNET
Les circuits logiques programmables - FPGA
66
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Informations générales
The APEX™ device family ranges from 30,000 to over 1.5 million gates (113,000 to
over 2.5 million system gates) and ships on 0.22-µm, 0.18-µm, and 0.15-µm
processes. Introduced in 1999 with all copper interconnect layers
F.CAIGNET
Les circuits logiques programmables - FPGA
67
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Informations générales
Protocole de
communication
1Gbs
Protocole de
communication
1Gbs
(1 ESB = 4096bits)
F.CAIGNET
Les circuits logiques programmables - FPGA
68
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Informations générales
Package informations
F.CAIGNET
Les circuits logiques programmables - FPGA
69
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Informations générales
F.CAIGNET
Les circuits logiques programmables - FPGA
70
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
F.CAIGNET
Les circuits logiques programmables - FPGA
71
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Structure
Système de communication entre les LABs
Chaque MegaLAB contient un groupe de 16 ou 24 LABs
F.CAIGNET
Les circuits logiques programmables - FPGA
72
F.CAIGNET
Les circuits logiques programmables - FPGA
73
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Structure des Le
F.CAIGNET
Les circuits logiques programmables - FPGA
74
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Mode de programmation des Le
LE mode normal est utilisé pour la synthèse de structures combinatoires ou
séquentiel, avec les possibilités de mise en cascade
F.CAIGNET
Les circuits logiques programmables - FPGA
75
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Mode de programmation des Le
LE mode arithmétique est utilisé pour la synthèse de fonctions addition,
comparaison, accumulation…
F.CAIGNET
Les circuits logiques programmables - FPGA
76
V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
Mode de programmation des Le
LE mode comptage propose des clock enable, counter enable, synchrone,
Asynchrones, up, douwn, …
F.CAIGNET
Les circuits logiques programmables - FPGA
77
V. Le FPGA Cyclone de ALTERAV. Le FPGA Cyclone de ALTERA
F.CAIGNET
Les circuits logiques programmables - FPGA
78
V. Le FPGA Cyclone de ALTERAV. Le FPGA Cyclone de ALTERA
Cyclone I
Cyclone II
F.CAIGNET
Les circuits logiques programmables - FPGA
79
V. Le FPGA Stratix de ALTERAV. Le FPGA Stratix de ALTERA
F.CAIGNET
Les circuits logiques programmables - FPGA
80
V. Le FPGA Stratix de ALTERAV. Le FPGA Stratix de ALTERA
F.CAIGNET
Les circuits logiques programmables - FPGA
81
VI. Les tendances des composants programmablesVI. Les tendances des composants programmables
Années2001
PAL
199019801970
Complexité
PAL
GAL
LCA
CPLD
FPGA
CPLD Evolutions résultantes :
- des progrès technologiques
(réduction des dimensions de
transistors - densités d ’intégration)
- des progrès logiciel des outils de
développement (langage HDL -
simplicité de développement)
Evolutions résultantes :
- des progrès technologiques
(réduction des dimensions de
transistors - densités d ’intégration)
- des progrès logiciel des outils de
développement (langage HDL -
simplicité de développement)
Evolution des systèmes vers les très grandes complexités
F.CAIGNET
Les circuits logiques programmables - FPGA
82
VI. Les tendances des composants programmablesVI. Les tendances des composants programmables
Performances :
F.CAIGNET
Les circuits logiques programmables - FPGA
83
APEX Devices: System-on-a-Programmable-Chip Solutions from ALTERA chip
30,000 vers plus de 1.5 million de portes
(113,000 to over 2.5 million
system gates)
Technologie : 0.22-µm, 0.18-µm et
0.09µm
Ports d ’entrée/sortie : 128 à 808 I/O
Introduction des « System-on-chip »
dans les composants programmables
(RAM, ROM, FIFO, CAN, PCI, µP…..)
30,000 vers plus de 1.5 million de portes
(113,000 to over 2.5 million
system gates)
Technologie : 0.22-µm, 0.18-µm et
0.09µm
Ports d ’entrée/sortie : 128 à 808 I/O
Introduction des « System-on-chip »
dans les composants programmables
(RAM, ROM, FIFO, CAN, PCI, µP…..)
Evolution vers les systèmes de très grande complexité
VI. Les tendances des composants programmablesVI. Les tendances des composants programmables
Aujourd’hui, près de 50% des FPGA sont des SoC
Introduction des IPs dans les FPGA (Intelectual Properties)
Aujourd’hui, près de 50% des FPGA sont des SoC
Introduction des IPs dans les FPGA (Intelectual Properties)
F.CAIGNET
Les circuits logiques programmables - FPGA
84
VI. Les tendances des composants programmablesVI. Les tendances des composants programmables
Les interconnexionsLes interconnexions
Quels sont les problèmes limitant l’évolution et les performances des FPGA’s?
Les softs (méthodes de programmation) évolution vers les « systemC »Les softs (méthodes de programmation) évolution vers les « systemC »
Les logiciel de développement évoluent vers des systèmes types
Visual C++. C’est une obligation face à l’augmentation des
possibilités de programmation des FPGA
La densité d’intégrationLa densité d’intégration
La quantité de mémoire nécessaire pour accroître les performances
des FPGA devient très importante
Plus les technologies évoluent plus les interconnexion deviennent
des éléments actifs des circuits

Contenu connexe

Tendances

Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdlyassinesmz
 
Tp n6 les compteurs
Tp n6 les compteursTp n6 les compteurs
Tp n6 les compteursHatem Jebali
 
Conception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adulteConception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adultePeronnin Eric
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Mohammed Lamghari
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Hajer Dahech
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentielsSana Aroussi
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codeeMohammedFassih
 
Formation arduino 2018
Formation arduino 2018Formation arduino 2018
Formation arduino 2018Hichem Hamdi
 
raspberry pi
 raspberry pi raspberry pi
raspberry piTECOS
 
cours-regulation-automatique-analogique
cours-regulation-automatique-analogiquecours-regulation-automatique-analogique
cours-regulation-automatique-analogiqueautomationdcs
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84guest1e7b02
 
Intro arduino
Intro arduinoIntro arduino
Intro arduinoSOAEnsAD
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseurPeronnin Eric
 

Tendances (20)

Les systèmes embarqués arduino
Les systèmes embarqués arduinoLes systèmes embarqués arduino
Les systèmes embarqués arduino
 
Exercices vhdl
Exercices vhdlExercices vhdl
Exercices vhdl
 
Tp n6 les compteurs
Tp n6 les compteursTp n6 les compteurs
Tp n6 les compteurs
 
Formation stm32
Formation stm32Formation stm32
Formation stm32
 
Cours pics16 f877
Cours pics16 f877Cours pics16 f877
Cours pics16 f877
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
présentation STM32
présentation STM32présentation STM32
présentation STM32
 
Conception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adulteConception d'un objet électronique - Présentation adulte
Conception d'un objet électronique - Présentation adulte
 
Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2Microcontrôleur PIC Microchip part1/2
Microcontrôleur PIC Microchip part1/2
 
Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32Généralités sur les périphériques du STM32
Généralités sur les périphériques du STM32
 
States machines (1)
States machines (1)States machines (1)
States machines (1)
 
Chapitre iii circuits séquentiels
Chapitre iii circuits séquentielsChapitre iii circuits séquentiels
Chapitre iii circuits séquentiels
 
presentation serrure codee
presentation serrure codeepresentation serrure codee
presentation serrure codee
 
Formation arduino 2018
Formation arduino 2018Formation arduino 2018
Formation arduino 2018
 
Soc
SocSoc
Soc
 
raspberry pi
 raspberry pi raspberry pi
raspberry pi
 
cours-regulation-automatique-analogique
cours-regulation-automatique-analogiquecours-regulation-automatique-analogique
cours-regulation-automatique-analogique
 
Microcontroleur Pic16 F84
Microcontroleur Pic16 F84Microcontroleur Pic16 F84
Microcontroleur Pic16 F84
 
Intro arduino
Intro arduinoIntro arduino
Intro arduino
 
Base des systèmes à microprocesseur
Base des systèmes à microprocesseurBase des systèmes à microprocesseur
Base des systèmes à microprocesseur
 

Similaire à Presentation fpga

chap2-3-pla-pal-gal.pptx
chap2-3-pla-pal-gal.pptxchap2-3-pla-pal-gal.pptx
chap2-3-pla-pal-gal.pptxwafawafa52
 
Fpga handout
Fpga handoutFpga handout
Fpga handoutassnad
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendreMariamHafsa
 
Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8
Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8
Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8lenovoi711g
 
Architecture des FPGAs.pdf
Architecture des FPGAs.pdfArchitecture des FPGAs.pdf
Architecture des FPGAs.pdfMENNANIZinedine
 
Réseaux logiques programmables.pdf
Réseaux logiques programmables.pdfRéseaux logiques programmables.pdf
Réseaux logiques programmables.pdfwafawafa52
 
Diapo zig bee_amin_jan11_final
Diapo zig bee_amin_jan11_finalDiapo zig bee_amin_jan11_final
Diapo zig bee_amin_jan11_finalAmin Ferjani
 
Emulateur d’application soc
Emulateur d’application socEmulateur d’application soc
Emulateur d’application socWassim Smati
 
00 Rappels, Motivations et Contenu.pptx
00 Rappels, Motivations et Contenu.pptx00 Rappels, Motivations et Contenu.pptx
00 Rappels, Motivations et Contenu.pptxAchrafAmireche
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Karim Touati
 
Circuits-programmables.pdf
Circuits-programmables.pdfCircuits-programmables.pdf
Circuits-programmables.pdfHouBou3
 
API et Supervision industrielle
API et Supervision industrielle API et Supervision industrielle
API et Supervision industrielle sarah Benmerzouk
 
Extreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDNExtreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDNFrance IX Services
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).pptAbdo Brahmi
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis GroupIBM France Lab
 

Similaire à Presentation fpga (20)

chap2-3-pla-pal-gal.pptx
chap2-3-pla-pal-gal.pptxchap2-3-pla-pal-gal.pptx
chap2-3-pla-pal-gal.pptx
 
Fpga handout
Fpga handoutFpga handout
Fpga handout
 
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL   PROGRAMMATION ET _ETAPES pour comprendreCOURS VHDL   PROGRAMMATION ET _ETAPES pour comprendre
COURS VHDL PROGRAMMATION ET _ETAPES pour comprendre
 
Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8
Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8
Chapitre6_CLP_TAJER.pdfUn PAL pour le séquentiel : PAL16R8
 
Architecture des FPGAs.pdf
Architecture des FPGAs.pdfArchitecture des FPGAs.pdf
Architecture des FPGAs.pdf
 
Réseaux logiques programmables.pdf
Réseaux logiques programmables.pdfRéseaux logiques programmables.pdf
Réseaux logiques programmables.pdf
 
Diapo zig bee_amin_jan11_final
Diapo zig bee_amin_jan11_finalDiapo zig bee_amin_jan11_final
Diapo zig bee_amin_jan11_final
 
SoC Hamdi -chap4
SoC Hamdi -chap4SoC Hamdi -chap4
SoC Hamdi -chap4
 
Exam IIA5 INSAT 2018
Exam IIA5 INSAT  2018Exam IIA5 INSAT  2018
Exam IIA5 INSAT 2018
 
Emulateur d’application soc
Emulateur d’application socEmulateur d’application soc
Emulateur d’application soc
 
00 Rappels, Motivations et Contenu.pptx
00 Rappels, Motivations et Contenu.pptx00 Rappels, Motivations et Contenu.pptx
00 Rappels, Motivations et Contenu.pptx
 
Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)Micocontroleur16 fxxx (1)
Micocontroleur16 fxxx (1)
 
Circuits-programmables.pdf
Circuits-programmables.pdfCircuits-programmables.pdf
Circuits-programmables.pdf
 
API et Supervision industrielle
API et Supervision industrielle API et Supervision industrielle
API et Supervision industrielle
 
Extreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDNExtreme networks - Multi-Pathing L2 & SDN
Extreme networks - Multi-Pathing L2 & SDN
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Cours_SAM(M14).ppt
Cours_SAM(M14).pptCours_SAM(M14).ppt
Cours_SAM(M14).ppt
 
Démystifier la programmation avec LabVIEW FPGA
Démystifier la programmation avec LabVIEW FPGADémystifier la programmation avec LabVIEW FPGA
Démystifier la programmation avec LabVIEW FPGA
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
Cours VHLD.pptx
Cours VHLD.pptxCours VHLD.pptx
Cours VHLD.pptx
 

Dernier

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de planchermansouriahlam
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfSophie569778
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...Institut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...Institut de l'Elevage - Idele
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...Institut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 

Dernier (20)

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
conception d'un batiment r+4 comparative de defferente ariante de plancher
conception d'un  batiment  r+4 comparative de defferente ariante de plancherconception d'un  batiment  r+4 comparative de defferente ariante de plancher
conception d'un batiment r+4 comparative de defferente ariante de plancher
 
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdfWBS OBS RACI_2020-etunhjjlllllll pdf.pdf
WBS OBS RACI_2020-etunhjjlllllll pdf.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
GAL2024 - Parcellaire des fermes laitières : en enjeu de compétitivité et de ...
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
GAL2024 - Méthane 2030 : une démarche collective française à destination de t...
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
GAL2024 - Consommations et productions d'énergies dans les exploitations lait...
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 

Presentation fpga

  • 1. F.CAIGNET Les circuits logiques programmables - FPGA 1 Etude des circuits logiques programmables Les FPGA Etude des circuits logiques programmables Les FPGA Fabrice CAIGNET LAAS - CNRS fcaignet@laas.fr
  • 2. F.CAIGNET Les circuits logiques programmables - FPGA 2 Contenu :Contenu : I. Les Réseaux Logiques Programmables : PLD II. Les technologies des éléments programmables IV. Les outils de développement III. Les FPGAs V. Les tendances des composants programmables VI. Le langage VHDL
  • 3. F.CAIGNET Les circuits logiques programmables - FPGA 3 PLD = Programmable Logic Devices Circuits logiques + ou - complexes remplaçant l’association de plusieurs boîtes logiques • Simplification de câblage • Encombrement réduit • Diminution des coûts • Facilité d’utilisation • Diminution du risque des pannes PLD Association de fct Logiques entrées Sorties I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD 1 seul circuit intégré
  • 4. F.CAIGNET Les circuits logiques programmables - FPGA 4 Le cahier des charges du développement d’un système doit prendre en compte les paramètres suivants : Importance du «Time To Market » • Le coût de production • Les performances • La consommation • L'intégration • L'évolution du produit • La maintenance • La protection industrielle Deux alternatives existent : • Les ASIC (Application Specific integrated Circuits) • Les Circuits à réseaux programmables temps Nb de ventes Entreprise 1 Entreprise 2 I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
  • 5. F.CAIGNET Les circuits logiques programmables - FPGA 5 Quelles différences entre un ASIC et un PLD I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD ASIC Application Specific Integrated Circuits PLD Programmable Logic Device • Un circuit dédié à une application • Choix de la technologie Maximum de performances • Un circuit programmé pour une application • Technologie figée mais : Facilité de programmation Choix du fondeur Conception du circuit (full-custom - bibliothèques) Fabrication à très grand nombre d’exemplaire Choix du circuit Programmation du circuit (logiciel + interface circuit) Implémentation nombre d’exemplaires limité Très grand niveau d’intégration Intégration limitée
  • 6. F.CAIGNET Les circuits logiques programmables - FPGA 6 I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
  • 7. F.CAIGNET Les circuits logiques programmables - FPGA 7 Avantages des PLD Inconvénients • Le coût et temps de développement. • Le prototypage et temps de simulation accéléré. • La prise de risque est réduite. (modifications possibles, risque d'inventaire) • Des supports logiciels peu chers. • Des produits éprouvés. (pas de vecteurs de test structurel) • Un niveau d'intégration moindre aux ASIC. • Une consommation plus élevée. • Des prix importants et une faible disponibilité pour de grandes séries . I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD Symbolisation Normalisée
  • 8. F.CAIGNET Les circuits logiques programmables - FPGA 8 boîtes logiquesQuatre Familles de PLD PLDPLD I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD PAL GAL EPLD FPGA
  • 9. F.CAIGNET Les circuits logiques programmables - FPGA 9 • Développés au début des années 70 par MMI (ex-AMD) • La programmation se fait par destruction de fusibles • Aucun fusible n’est grillé à l’achat de la PAL FusiblesFusiblesFusibles LesLes fonctionsfonctions ETET sontsont programmablesprogrammables PAL (Programmable Array Logic) : réseaux logiques programmables I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
  • 10. F.CAIGNET Les circuits logiques programmables - FPGA 10 ExempleExemple d’und’un “OU EXCLUSIF”“OU EXCLUSIF” Fusible intactFusible intactFusible intact Fusible détruitFusibleFusible détruitdétruit PAL (Programmable Array Logic) : réseaux logiques programmables Représentation : - les fusibles intactes sont représentés par une connexion - les fusibles détruits sont représentés par une absence de connexion I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
  • 11. F.CAIGNET Les circuits logiques programmables - FPGA 11 Que peut-on trouver dans une PAL?? PAL (Programmable Array Logic) : réseaux logiques programmables Tout P.A.L. est constitué : - D'entrées (Input): I1 à In avec 8<n<20. - De sorties (Output) Ou d’entrées / sorties (I/O) de type Totem Pôle ou Trois Etats :O1 à On ou IO1 à IOn (2<n<15). On trouve aussi : - Une entrée d'horloge (Clock): Clk ou Clock. - Une entrée de validation des sorties trois états: OE (Output Enable) ou Enable. - Une entrée de remise à zéro des registres: RESET. I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
  • 12. F.CAIGNET Les circuits logiques programmables - FPGA 12 PAL : Matrice de programmation I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD - Un ensemble de portes « ET » sur lesquelles viennent se connecter les variables d’entrée et leurs compléments. La plupart des P.A.L. sont constitués : Matrice de programmation Matrice deMatrice de programmationprogrammation - Un ensemble de portes « OU » sur lesquelles les sorties des opérateurs « ET » sont connectées les variables d’entrée.
  • 13. F.CAIGNET Les circuits logiques programmables - FPGA 13 PAL : Structure de sortie I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD Il existe 3 structures de sortie qui peuvent-être aussi de entrées/sorties : - Combinatoire - Séquentielle - versatiles • Entrées / Sorties combinatoires Sortie 3 états rebouchée vers la matrice une sortie peut servir de variable intermédiaire une sortie peut servir d’entrée (en mode haute impédance)
  • 14. F.CAIGNET Les circuits logiques programmables - FPGA 14 Sortie à REGISTRESortie à REGISTRE PAL : Structure de sortie I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD • Entrées / Sorties séquentielles, à registre Une bascule D permet la logique séquentielle sorties séquencées sur une horloge H une sortie ne peut pas servir d’entrée une commande OE (Ouput Enable) permet de désactiver la sortie OE
  • 15. F.CAIGNET Les circuits logiques programmables - FPGA 15 Entrée / Sortie VERSATILEEntrée / Sortie VERSATILE PAL (Programmable Array Logic) : Structure de sortie I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD • Entrées / Sorties versatiles (VPAL) On peut configurer par programmation le mode d’utilisation de la broche de sortie
  • 16. F.CAIGNET Les circuits logiques programmables - FPGA 16 PAL (Programmable Array Logic) : Exemple de PAL22V10 (AMD) I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
  • 17. F.CAIGNET Les circuits logiques programmables - FPGA 17 RéseauRéseau LogiqueLogique ReReprogrammableprogrammable Un GAL est un PAL effaçable électriquement I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD GAL (Généric Array Logic), « LATICE Semiconductor »
  • 18. F.CAIGNET Les circuits logiques programmables - FPGA 18 Erasable Programmable Logic DeviceErasable Programmable Logic Device CircuitCircuit LogiqueLogique reprogrammablereprogrammable dede grandegrande capacitécapacité I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD
  • 19. F.CAIGNET Les circuits logiques programmables - FPGA 19 Forecasting Programmable GateForecasting Programmable Gate ArrayArray RéseauRéseau dede portesportes programmablesprogrammables à laà la demandedemande I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD La densité croissante des circuits programmables actuels, notamment des FPGA (Field Programmable Gate Array), permet le prototypage rapide des circuits numériques à grande complexité. Aussi, il est possible de tester rapidement la validité de concepts architecturaux nouveaux: l'implémentation complète d'un processeur sur des circuits FPGA est aujourd'hui à notre portée, entraînant ainsi plus de possibilités d'évaluation que celles offertes par des simulateurs logiciels. De plus, la reprogrammabilité de certains circuits FPGA a ouvert de nouvelles voies de recherche: des méthodologies de conception des systèmes reconfigurables, capables d'évoluer ou de s'adapter à des environnements ou à des contraintes variables.
  • 20. F.CAIGNET Les circuits logiques programmables - FPGA 20 PLD Circuits Logiques Programmables I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD Résumé graphique des familles de P.L.D. PAL à fusibles bipolaires PAL et FPLS PAL CMOS effaçables électriquement GAL effaçables électriquement PAL effaçables aux UV GPLD - EPLD LCA FPGA
  • 21. F.CAIGNET Les circuits logiques programmables - FPGA 21 I. Les Réseaux Logiques Programmables : PLDI. Les Réseaux Logiques Programmables : PLD Les principaux critères de choix des P.L.D. sont: - Vitesse de fonctionnement - Nombre de portes - Consommation - Technologie - Prix
  • 22. F.CAIGNET Les circuits logiques programmables - FPGA 22 Généralité sur les technologies des éléments programmables II. Les technologies des éléments programmablesII. Les technologies des éléments programmables On trouve les éléments programmables dans les blocs logiques des PLDs, afin de leur donner une fonctionnalité, mais aussi dans les matrices d'interconnexions entre ces blocs. Un élément programmable peut être considéré comme un interrupteur. Afin de respecter les contraintes imposées à l'ingénieur, les éléments programmables doivent posséder plusieurs qualités : - Ils doivent occuper une surface la plus petite possible (Ce point s'explique pour des raisons évidentes de coût. Ceci est d'autant plus vrai que l'on désire en disposer d'un grand nombre). - Ils doivent posséder une résistance de passage faible et une résistance de coupure très élevée. - Ils doivent apporter un minimum de capacité parasite. Les deux derniers points s'expliquent quant à eux pour des raisons de performance en terme de fréquence de fonctionnement du PLD. Plus la résistance et la capacité sur le chemin d'un signal sont faibles, plus la fréquence de ce signal peut être élevée (RC effet).
  • 23. F.CAIGNET Les circuits logiques programmables - FPGA 23 Les technologies à fusibles II. Les technologies des éléments programmablesII. Les technologies des éléments programmables Technologie fusible-diode Technologie fusible-transistor Les fusibles sont grillés en appliquant des tensions élevées (12V) Technologies maintenant abandonnées pour des raisons de manque de fiabilité. Le fait de "griller" les fusibles provoque des perturbations qui peuvent affecter le reste du circuit. De plus, cette programmation est irréversible et ne permet donc pas la re-programmabilité. Technologies maintenant abandonnées pour des raisons de manque de fiabilité. Le fait de "griller" les fusibles provoque des perturbations qui peuvent affecter le reste du circuit. De plus, cette programmation est irréversible et ne permet donc pas la re-programmabilité.
  • 24. F.CAIGNET Les circuits logiques programmables - FPGA 24 Les technologies à anti-fusibles (Actel, QuickLogic, Crosspointet Xilinx) II. Les technologies des éléments programmablesII. Les technologies des éléments programmables un anti-fusible est un élément programmable qui à l'inverse des fusibles n'est passant qu'après programmation. La connexion s effectue en détruisant un diélectrique Technologie anti-fusible PLICE Technologie anti-fusible VIA-Link Petite taille (grande capacité d’intégration) Base impédance (rapidité) Petite taille (grande capacité d’intégration) Base impédance (rapidité) Technologie difficile à maîtriser ne permettent pas la reprogrammation Technologie difficile à maîtriser ne permettent pas la reprogrammation
  • 25. F.CAIGNET Les circuits logiques programmables - FPGA 25 Les technologies à EPROM/FLASH (Actel, AMD...) II. Les technologies des éléments programmablesII. Les technologies des éléments programmables Il existe deux variantes de l'EPROM, - Erasable Programmable Read Only Memory classique (EPROM) - Electrically Erasable Programmable Read Only Memory (EEPROM). Petite taille (grande capacité d’intégration) Base impédance (rapidité) Petite taille (grande capacité d’intégration) Base impédance (rapidité) Cellule à grille flottante d’une EPROM Système d’interconnexion Possibilité de reprogrammation à loisirPossibilité de reprogrammation à loisir
  • 26. F.CAIGNET Les circuits logiques programmables - FPGA 26 Les technologies à EPROM/FLASH (Actel, AMD...) II. Les technologies des éléments programmablesII. Les technologies des éléments programmables Le système à Grille flottante : Etat non programmé : il n'existe pas de charge dans la grille flottante et le transistor peut être utilisé normalement. En cours de programmation (effet tunel, passage d'un fort courant entre la source et le drain), une partie de la charge est retenue dans la grille flottante. Le seuil du transistor augmente, Le transistor est bloqué jusqu'à ce qu'il soit "effacé". Etat non programmé : il n'existe pas de charge dans la grille flottante et le transistor peut être utilisé normalement. En cours de programmation (effet tunel, passage d'un fort courant entre la source et le drain), une partie de la charge est retenue dans la grille flottante. Le seuil du transistor augmente, Le transistor est bloqué jusqu'à ce qu'il soit "effacé". VT1 VT0 Non programmé Programmé Charge de la grille
  • 27. F.CAIGNET Les circuits logiques programmables - FPGA 27 Les technologies à RAM statique -SRAM (XILINX, ALTERA...) II. Les technologies des éléments programmablesII. Les technologies des éléments programmables Elle fait appel à une phase de chargement de la configuration depuis l'extérieur Transistor de passage Portes de passage Portes de passage Commande Commande Structure + complexe (4 à 6 Transistors) Grande possibilité de programmation Technologie de type CMOS (très bien maîtrisée) Grande possibilité de programmation Technologie de type CMOS (très bien maîtrisée) Place importante Mémoire volatile (reprogrammation obligatoire) Place importante Mémoire volatile (reprogrammation obligatoire)
  • 28. F.CAIGNET Les circuits logiques programmables - FPGA 28 Les technologies à RAM statique -SRAM (XILINX, ALTERA...) II. Les technologies des éléments programmablesII. Les technologies des éléments programmables Exemples de structure SRAM implantées
  • 29. F.CAIGNET Les circuits logiques programmables - FPGA 29 Récapitulatif : II. Les technologies des éléments programmablesII. Les technologies des éléments programmables La technologie EEPROM Les PLD à EPROM se programment électriquement et s’effacent aux UV, Par contre Les PLD à EEPROM se programment quasi instantanément, et gardent la configuration jusqu’à une nouvelle programmation (même en l’absence de tension) La technologie EEPROM Facile et rapide à programmer, la configuration disparaît sans alimentation.
  • 30. F.CAIGNET Les circuits logiques programmables - FPGA 30 Technologies utilisées par les différents fabricants II. Les technologies des éléments programmablesII. Les technologies des éléments programmables
  • 31. F.CAIGNET Les circuits logiques programmables - FPGA 31 III. Les FPGAIII. Les FPGA Rappel des caractéristiques principales Comme nous venons de le voir, les éléments programmable sont à la base des caractéristiques des FPGA Le choix d’un PLD dépendra dont : • La densité d’intégration • De la rapidité de fonctionnement (paramètre directement lié à l’impédance intrinsèque des éléments programmables • De la facilité de mise en œuvre (programmation, re- programmation…) • de la possibilité de maintien de l’information
  • 32. F.CAIGNET Les circuits logiques programmables - FPGA 32 III. Les FPGAIII. Les FPGA Rappel des caractéristiques principales Les structures PAL sont à la base des CPLD, FPGA d’aujourd’hui Zone de programmation OMLC Output Logic MacroCell (Combinatoires Séquentielles Versatiles
  • 33. F.CAIGNET Les circuits logiques programmables - FPGA 33 Les CPLD (Complexe Programmable Logic Device) : III. Les FPGAIII. Les FPGA Bloc Logiques Bloc Logiques Zone d ’inter- connexion Bloc Logiques Ces circuits ont une capacité de portes et de configuration très largement supérieur aux PAL Macro-cellules composées de : - une zone de portes logiques - un bascule • Architecture identique aux PAL • équivalent à plusieurs PAL séparées par une zone d’interconnexion • Architecture identique aux PAL • équivalent à plusieurs PAL séparées par une zone d’interconnexion • 100 à 100000portes • 16 à 1000 bascules • 100 à 100000portes • 16 à 1000 bascules
  • 34. F.CAIGNET Les circuits logiques programmables - FPGA 34 Les FPGA (Fields Programmable Gate Array) : Réseau de portes programmables à la demande - XILINX et ALTERA. III. Les FPGAIII. Les FPGA • les FPGA à la différence des CPLD sont assimilables à des A.S.I.C. programmables par l’utilisateur. • La puissance de ces circuits est telle qu’ils peuvent être composés de plusieurs milliers voir millions de portes logiques et de bascules. Les dernières générations de FPGA intègrent même de la mémoire vive (RAM). Les deux plus grands constructeurs de FPGA sont XILINX et ALTERA. • Ils sont composés de blocs logiques élémentaires (plusieurs milliers de portes) qui peuvent être interconnectés. • Critère de choix : vitesse de fonctionnement plus élevées pour les CPLD
  • 35. F.CAIGNET Les circuits logiques programmables - FPGA 35 Structure interne d’un FPGA type XILINX III. Les FPGAIII. Les FPGA le FPGA est présenté pour la 1er fois par XILINX avec des structure : • blocs logiques configurables • blocs d’I/O configurables • des interconnexions entre bloc configurables le FPGA est présenté pour la 1er fois par XILINX avec des structure : • blocs logiques configurables • blocs d’I/O configurables • des interconnexions entre bloc configurables
  • 36. F.CAIGNET Les circuits logiques programmables - FPGA 36 Structure interne des FPGA III. Les FPGAIII. Les FPGA Exemple de structures de FPGAExemple de structures de FPGA
  • 37. F.CAIGNET Les circuits logiques programmables - FPGA 37 Structure interne des FPGA III. Les FPGAIII. Les FPGA FPGA « Raw-based » FPGA « Sea of gates »
  • 38. F.CAIGNET Les circuits logiques programmables - FPGA 38 Dans les FPGA les blocs sont interconnectés de différentes façons : • des optimisations de routage sont possibles • sélections de lignes ou colonnes • canaux de routage rapide (longues distances) Dans les FPGA les blocs sont interconnectés de différentes façons : • des optimisations de routage sont possibles • sélections de lignes ou colonnes • canaux de routage rapide (longues distances) Les interconnexions programmables dans les FPGA III. Les FPGAIII. Les FPGA
  • 39. F.CAIGNET Les circuits logiques programmables - FPGA 39 Les interconnexions programmables dans les FPGA III. Les FPGAIII. Les FPGA Afin de diminuer le nombre de canaux de routage, ils sont segmentés ou peuvent l'être par programmation. Cette dernière méthode est utilisée dans le cas d'une technologie de programmation par anti-fusibles car les éléments programmables sont de petite taille. On notera les compromis qu'il existe entre nombre de canaux de routage, nombre d'éléments de programmation et temps de propagation. Afin de diminuer le nombre de canaux de routage, ils sont segmentés ou peuvent l'être par programmation. Cette dernière méthode est utilisée dans le cas d'une technologie de programmation par anti-fusibles car les éléments programmables sont de petite taille. On notera les compromis qu'il existe entre nombre de canaux de routage, nombre d'éléments de programmation et temps de propagation. Les figures illustrent les différents types de segmentation pour un même exemple de routage
  • 40. F.CAIGNET Les circuits logiques programmables - FPGA 40 Les types de blocs logiques dans les FPGA III. Les FPGAIII. Les FPGA Il existe 4 types de blocs logiques : - Les macrocellules. - Les blocs à multiplexeurs. - Les LUT. - Les cellules symétriques. Il existe 4 types de blocs logiques : - Les macrocellules. - Les blocs à multiplexeurs. - Les LUT. - Les cellules symétriques. Cellules symétriques : Ces blocs de petite taille servent à réaliser des fonctions logiques simples mais aussi comme ressources de connexion
  • 41. F.CAIGNET Les circuits logiques programmables - FPGA 41 Les types de blocs logiques dans les FPGA III. Les FPGAIII. Les FPGA Les Multiplexeurs : En venant programmer les entrées du multiplexeur et en pilotant les signaux de sélection, il est possible de réaliser toutes les fonctions logiques (à autant d'entrées que de signaux de sélection). Leur très petite taille est particulièrement adaptée à la technologie anti-fusible.
  • 42. F.CAIGNET Les circuits logiques programmables - FPGA 42 Les types de blocs logiques dans les FPGA III. Les FPGAIII. Les FPGA Les LUT (Look-Up Table) : Les Look-Up Table sont un cas particulier des cellules à multiplexeur, avec de 2 à 9 entrées et dont la technologie du point mémoire est une technologie SRAM. Une Look Up Table de N entreées est une mémoire qui peut implémenter n'importe quelle fonction booléenne de N variables. Les N entrées sont utilisées comme adresse d'une mémoire de 2n bits qui code la fonction booléenne à réaliser. On peut donc réaliser 2n fonctions différentes avec une LUT à N entrées. Les Look-Up Tables sont des blocs logiques de très petite granularité dans un CLP. Comme Les Look-Up Table possèdent une bascule de sortie, les architectures à base de Look-Up Table sont beaucoup plus riches en bascules que les architectures à macro-cellules.
  • 43. F.CAIGNET Les circuits logiques programmables - FPGA 43 Les types de blocs logiques dans les FPGA III. Les FPGAIII. Les FPGA Les LUT (Look-Up Table) : Point mémoires Entrées
  • 44. F.CAIGNET Les circuits logiques programmables - FPGA 44 Les types de blocs logiques dans les FPGA III. Les FPGAIII. Les FPGA Les Macro-cellules : On retrouve dans certaines macro-cellules toute la complexité d'un PAL. Il y a en général un nombre réduit de macro- cellules dans un EPLD, car ces cellules occupent une grande surface. la macro-cellule présente plusieurs intérêts : - grand nombre de variables d'entrées possibles - grand nombre de termes de produits possibles
  • 45. F.CAIGNET Les circuits logiques programmables - FPGA 45 IV. Les outils de développementIV. Les outils de développement Deux Outils sont nécessaires à la programmation des FPGA : - Le système de développement - Le programmeur Deux Outils sont nécessaires à la programmation des FPGA : - Le système de développement - Le programmeur
  • 46. F.CAIGNET Les circuits logiques programmables - FPGA 46 IV. Les outils de développementIV. Les outils de développement Les systèmes de développement Ces systèmes produisent une table représentant les fusibles à détruire en fonction des équations logiques, diagramme d'états et tables de vérités écrit dans le langage propre au système, c'est le rôle du compilateur ou synthétiseur. La description du fonctionnement des circuits peut se faire de plusieurs façons, soit : - Par un schéma à base de fonctions logiques élémentaires (Portes ET,OU,NON, … bascules, compteurs, registres à décalages). - En utilisant un langage de description comportementale H.D.L. (Hardware Description Language). Les plus anciens sont PALASM, ORCAD/PLD et le plus connu et utilisé est sans conteste ABEL (utilisé par la plus part des systèmes de développements). Enfin les langages dit de haut niveau, VHDL ( Very high speed Hardware Description Language) et VERILOG sont en général utilisés pour des circuits complexes. Le langage VHDL est très utilisé en Europe. Ces systèmes produisent une table représentant les fusibles à détruire en fonction des équations logiques, diagramme d'états et tables de vérités écrit dans le langage propre au système, c'est le rôle du compilateur ou synthétiseur. La description du fonctionnement des circuits peut se faire de plusieurs façons, soit : - Par un schéma à base de fonctions logiques élémentaires (Portes ET,OU,NON, … bascules, compteurs, registres à décalages). - En utilisant un langage de description comportementale H.D.L. (Hardware Description Language). Les plus anciens sont PALASM, ORCAD/PLD et le plus connu et utilisé est sans conteste ABEL (utilisé par la plus part des systèmes de développements). Enfin les langages dit de haut niveau, VHDL ( Very high speed Hardware Description Language) et VERILOG sont en général utilisés pour des circuits complexes. Le langage VHDL est très utilisé en Europe.
  • 47. F.CAIGNET Les circuits logiques programmables - FPGA 47 Voir 2ème fichier
  • 48. F.CAIGNET Les circuits logiques programmables - FPGA 48 IV. Les outils de développementIV. Les outils de développement Les systèmes de développement - Par l’utilisation de graphes d'états (Flow States Machines, FSM)- Par l’utilisation de graphes d'états (Flow States Machines, FSM)
  • 49. F.CAIGNET Les circuits logiques programmables - FPGA 49 V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA Presentation générale • Eléments programmables de type EEPROM, basé sur le principe de seconde génération de matrice programmables. • 5.0V, IEEE 1149.1 test standard • 600 à 5000 portes • 5 ns Pin to pin delay (175MHz) • Eléments programmables de type EEPROM, basé sur le principe de seconde génération de matrice programmables. • 5.0V, IEEE 1149.1 test standard • 600 à 5000 portes • 5 ns Pin to pin delay (175MHz)
  • 50. F.CAIGNET Les circuits logiques programmables - FPGA 50 V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA Performances de certains FPGA parmi les MAX7000
  • 51. F.CAIGNET Les circuits logiques programmables - FPGA 51 V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA Les Macrocells
  • 52. F.CAIGNET Les circuits logiques programmables - FPGA 52 V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA Les contraintes de temps (timing constrains) Chaque élément intervient et doit être prit en compte dans l’évaluation des temps de propagation Chaque élément intervient et doit être prit en compte dans l’évaluation des temps de propagation
  • 53. F.CAIGNET Les circuits logiques programmables - FPGA 53 V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA Les contraintes de temps (timing constrains) Exemple d’application à un cas simple de logique combinatoireExemple d’application à un cas simple de logique combinatoire
  • 54. F.CAIGNET Les circuits logiques programmables - FPGA 54 V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA Les contraintes de temps (timing constrains) Exemple d’application au cas séquentielsExemple d’application au cas séquentiels
  • 55. F.CAIGNET Les circuits logiques programmables - FPGA 55 V. Le FPGA M7000 de ALTERAV. Le FPGA M7000 de ALTERA Le format de test JTAG : IEEE 1149.1 (the boundary scan standard)
  • 56. F.CAIGNET Les circuits logiques programmables - FPGA 56 V. Le FPGA CX4000 de XilinxV. Le FPGA CX4000 de Xilinx
  • 57. F.CAIGNET Les circuits logiques programmables - FPGA 57 V. Le FPGA CX4000 de XilinxV. Le FPGA CX4000 de Xilinx
  • 58. F.CAIGNET Les circuits logiques programmables - FPGA 58 V. Le FPGA CX4000 de XilinxV. Le FPGA CX4000 de Xilinx
  • 59. F.CAIGNET Les circuits logiques programmables - FPGA 59 V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA Informations générales Informations generales - Nb de portes : 5000 - 24000 Informations generales - Nb de portes : 5000 - 24000 The logic array contains logic array blocks (LABs) composed of 10 logic elements (LEs) that communicate through a fully populated local interconnect structure The logic array contains logic array blocks (LABs) composed of 10 logic elements (LEs) that communicate through a fully populated local interconnect structure
  • 60. F.CAIGNET Les circuits logiques programmables - FPGA 60 Les LAB peuvent être interconnectés grâce à un réseau d’interconnections longue distance Les LAB peuvent être interconnectés grâce à un réseau d’interconnections longue distance V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA Informations générales Chaque Le d’un même LAB peuvent être interconnectés ainsi qu’à leurs plus proches voisins Chaque Le d’un même LAB peuvent être interconnectés ainsi qu’à leurs plus proches voisins Le Le Le Le LAB LAB FastTrack InterconnectFastTrack Interconnect Interleaved LABsInterleaved LABs
  • 61. F.CAIGNET Les circuits logiques programmables - FPGA 61 V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA Informations générales : que sont les LE (logic Element)? Chaque LE (Logic Element) contient 1 LUT a 4 entreesChaque LE (Logic Element) contient 1 LUT a 4 entrees
  • 62. F.CAIGNET Les circuits logiques programmables - FPGA 62 V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA Informations générales : que sont les LE (logic Element)? Le Carry ChainLe Carry Chain
  • 63. F.CAIGNET Les circuits logiques programmables - FPGA 63 V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA Informations générales : que sont les LE (logic Element)? Le Cascade chainLe Cascade chain
  • 64. F.CAIGNET Les circuits logiques programmables - FPGA 64 V. Le FPGA FLEX6000 de ALTERAV. Le FPGA FLEX6000 de ALTERA Informations générales : performances
  • 65. F.CAIGNET Les circuits logiques programmables - FPGA 65 V. Le FPGA FLEX10K de ALTERAV. Le FPGA FLEX10K de ALTERA Informations générales Premier circuit programmable dit: embedded programmable logic device (PLD) family, providing System-on-a-Programmable-Chip (SOPC) De 10000 à 250000 portes
  • 66. F.CAIGNET Les circuits logiques programmables - FPGA 66 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Informations générales The APEX™ device family ranges from 30,000 to over 1.5 million gates (113,000 to over 2.5 million system gates) and ships on 0.22-µm, 0.18-µm, and 0.15-µm processes. Introduced in 1999 with all copper interconnect layers
  • 67. F.CAIGNET Les circuits logiques programmables - FPGA 67 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Informations générales Protocole de communication 1Gbs Protocole de communication 1Gbs (1 ESB = 4096bits)
  • 68. F.CAIGNET Les circuits logiques programmables - FPGA 68 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Informations générales Package informations
  • 69. F.CAIGNET Les circuits logiques programmables - FPGA 69 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Informations générales
  • 70. F.CAIGNET Les circuits logiques programmables - FPGA 70 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA
  • 71. F.CAIGNET Les circuits logiques programmables - FPGA 71 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Structure Système de communication entre les LABs Chaque MegaLAB contient un groupe de 16 ou 24 LABs
  • 72. F.CAIGNET Les circuits logiques programmables - FPGA 72
  • 73. F.CAIGNET Les circuits logiques programmables - FPGA 73 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Structure des Le
  • 74. F.CAIGNET Les circuits logiques programmables - FPGA 74 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Mode de programmation des Le LE mode normal est utilisé pour la synthèse de structures combinatoires ou séquentiel, avec les possibilités de mise en cascade
  • 75. F.CAIGNET Les circuits logiques programmables - FPGA 75 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Mode de programmation des Le LE mode arithmétique est utilisé pour la synthèse de fonctions addition, comparaison, accumulation…
  • 76. F.CAIGNET Les circuits logiques programmables - FPGA 76 V. Le FPGA APEX de ALTERAV. Le FPGA APEX de ALTERA Mode de programmation des Le LE mode comptage propose des clock enable, counter enable, synchrone, Asynchrones, up, douwn, …
  • 77. F.CAIGNET Les circuits logiques programmables - FPGA 77 V. Le FPGA Cyclone de ALTERAV. Le FPGA Cyclone de ALTERA
  • 78. F.CAIGNET Les circuits logiques programmables - FPGA 78 V. Le FPGA Cyclone de ALTERAV. Le FPGA Cyclone de ALTERA Cyclone I Cyclone II
  • 79. F.CAIGNET Les circuits logiques programmables - FPGA 79 V. Le FPGA Stratix de ALTERAV. Le FPGA Stratix de ALTERA
  • 80. F.CAIGNET Les circuits logiques programmables - FPGA 80 V. Le FPGA Stratix de ALTERAV. Le FPGA Stratix de ALTERA
  • 81. F.CAIGNET Les circuits logiques programmables - FPGA 81 VI. Les tendances des composants programmablesVI. Les tendances des composants programmables Années2001 PAL 199019801970 Complexité PAL GAL LCA CPLD FPGA CPLD Evolutions résultantes : - des progrès technologiques (réduction des dimensions de transistors - densités d ’intégration) - des progrès logiciel des outils de développement (langage HDL - simplicité de développement) Evolutions résultantes : - des progrès technologiques (réduction des dimensions de transistors - densités d ’intégration) - des progrès logiciel des outils de développement (langage HDL - simplicité de développement) Evolution des systèmes vers les très grandes complexités
  • 82. F.CAIGNET Les circuits logiques programmables - FPGA 82 VI. Les tendances des composants programmablesVI. Les tendances des composants programmables Performances :
  • 83. F.CAIGNET Les circuits logiques programmables - FPGA 83 APEX Devices: System-on-a-Programmable-Chip Solutions from ALTERA chip 30,000 vers plus de 1.5 million de portes (113,000 to over 2.5 million system gates) Technologie : 0.22-µm, 0.18-µm et 0.09µm Ports d ’entrée/sortie : 128 à 808 I/O Introduction des « System-on-chip » dans les composants programmables (RAM, ROM, FIFO, CAN, PCI, µP…..) 30,000 vers plus de 1.5 million de portes (113,000 to over 2.5 million system gates) Technologie : 0.22-µm, 0.18-µm et 0.09µm Ports d ’entrée/sortie : 128 à 808 I/O Introduction des « System-on-chip » dans les composants programmables (RAM, ROM, FIFO, CAN, PCI, µP…..) Evolution vers les systèmes de très grande complexité VI. Les tendances des composants programmablesVI. Les tendances des composants programmables Aujourd’hui, près de 50% des FPGA sont des SoC Introduction des IPs dans les FPGA (Intelectual Properties) Aujourd’hui, près de 50% des FPGA sont des SoC Introduction des IPs dans les FPGA (Intelectual Properties)
  • 84. F.CAIGNET Les circuits logiques programmables - FPGA 84 VI. Les tendances des composants programmablesVI. Les tendances des composants programmables Les interconnexionsLes interconnexions Quels sont les problèmes limitant l’évolution et les performances des FPGA’s? Les softs (méthodes de programmation) évolution vers les « systemC »Les softs (méthodes de programmation) évolution vers les « systemC » Les logiciel de développement évoluent vers des systèmes types Visual C++. C’est une obligation face à l’augmentation des possibilités de programmation des FPGA La densité d’intégrationLa densité d’intégration La quantité de mémoire nécessaire pour accroître les performances des FPGA devient très importante Plus les technologies évoluent plus les interconnexion deviennent des éléments actifs des circuits