Vous êtes sur la page 1sur 72

CIRCUITS LOGIQUES PROGRAMMABLES

Yempabou Alex Fabien OUOBA

Université Aube Nouvelle, Licence 3 EEA

14 décembre 2021
Sommaire

Chapitre 1 : Les Réseaux Logiques Programmables


Chapitre 2 : Les technologies des éléments programmables
Chapitre 3 : Architecture des FPGA
Chapitre 4 : Programmation VHDL
Chapitre 5 : Implémentation de quelques circuits logiques dans
les circuits FPGA

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 2 / 72


Chapitre 1 : Les Réseaux Logiques
Programmables

Introduction
Architectures classiques des circuits numériques
Classification des circuits numériques
Les circuits standards
Les circuits spécifiques à l’application
Les circuits programmables

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 3 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Introduction

Un circuit logique programmable, ou réseau logique programmable,


est un circuit intégré qui fonctionne de manière logique et qui peut être
programmé après sa fabrication.

Il intègre une multitude de ressources logiques (des fonctions


logiques combinatoires et séquentielles) dont la plupart des
interconnexions sont laissées ouvertes.

Contrairement à un microprocesseur, il ne s’agit pas d’une


programmation logicielle mais plutôt matérielle. On parle souvent aussi
de configuration ou de description matérielle.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 4 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Architectures classiques des circuits numériques

Les circuits numériques constituent la partie matérielle des


systèmes informatiques (ensembles des moyens informatiques et de
télécommunication ayant pour finalité d’élaborer, traiter, stocker,
acheminer, présenter ou détruire des données).

La réalisation d’un circuit numérique fait appel à la technologie


microélectronique. On distingue principalement trois familles de
circuits numériques :
les circuits standards ;
les circuits spécifiques à l’application ;
les circuits logiques programmables.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 5 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Architectures classiques des circuits numériques

Le développement continue de la microélectronique a permis (et


permet encore aujourd’hui) de repousser les contraintes de taille, de
puissance dissipée, de performance, etc.
On a assisté à un accroissement spectaculaire des densité
d’intégration dans les circuits.
Nombre de
Année Nombre de
Nom Signification portes logiques
de sortie transistors
par boitier
small-scale
SSI 1964 1 à 10 1 à 12
integration
medium-scale
MSI 1968 10 à 500 13 à 99
integration
large-scale
LSI 1971 500 à 20 000 100 à 9 999
integration
very large-scale 20 000
VLSI 1980 10 000 à 99 999
integration à 1 000 000
ultra large-scale
ULSI 1984 1 000 000 et plus 100 000 et plus
integration

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 6 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

F IGURE 1 – classification des circuits numériques

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 7 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits standards

Beaucoup de fabriquants (STMicroelectronics, Samsung


Semiconductor, Hynix, etc.) proposent des composants standards
ayant des fonctions plus ou moins complexes. L’association de ces
composants sur un circuit imprimé permet de réaliser un système
numérique.

Ces circuits standards se présentent sous trois formes :


Les fonctions simples
Les microprocesseurs
Les mémoires

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 8 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits standards


Les fonctions simples

Les fonctions simples comprennent :


Certains circuits combinatoires de moyenne complexité (MSI),
considérés comme des circuits standards de base ;
Les circuits SSI qui réalisent des fonctioins combinatoires ou
séquentielles élémentaires.

Les fonctions correspondantes, réalisées en circuits intégrés, se


retrouvent comme composants dans les bibliothèques (librairies) de
conception des circuits logiques programmables.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 9 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits standards


Les microprocesseurs

On distingue :
Les processeurs à usage général qui permettent de minimiser
l’impact du coût de conception et de fabrication des circuits
intégrés les plus complexes.
Ce sont des circuits de traitement numérique dont l’usage final
(l’application) n’est pas connu à la fabrication.
Ils intègrent quelques ressources de traitement assez génériques
(addition de deux nombres, stockage d’un nombre en mémoire,
lecture d’un nombre d’une mémoire, etc.).

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 10 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits standards


Les microprocesseurs

Les DSP (Digital Signal Processor ) qui sont des


microprocesseurs optimisés, pour exécuter des applications de
traitement numérique du signal (filtrage, extraction de signaux,
etc) le plus rapidement possible.
Ils sont utilisés dans la plupart des applications du traitement
numérique du signal en temps réel.
On les retrouve notamment dans les Modems (RTC, ADSL), les
téléphones mobiles, les appareils multimédia (lecteur MP3), les
récepteurs GPS, etc.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 11 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits standards


Les mémoires

Une mémoire est un dispositif permettant de stocker puis de restituer


une information. On distingue deux classes de mémoires à
semi-conducteur :
Les mémoires vives qui sont des mémoires volatiles, car on peut
perdre l’information en cas de coupure d’alimentation électrique.
Elles peuvent être lues et écrites.
Les mémoires mortes qui sont des mémoires qui conservent
l’information même en absence de l’alimentation. Donc on peut
les considérer comme des circuits logiques programmables.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 12 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits spécifiques à l’application : ASIC

Apparus au début des années 80, les circuits ASIC constituent la


troisième génération de circuits intégrés.
Ce sont des circuits intégrés qui permettent un câblage direct des
applications spécifiques sur le silicium.
On distingue principalement quatre types de circuits ASIC :
les pré-diffusés (gate array) ;
les circuits à la demande (full custom) ;
les pré-caractérisés (standard cell) et
les circuits à réseau structuré.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 13 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

TRAVAIL À RENDRE

FORMER QUATRE GROUPES, CHAQUE GROUPE AYANT POUR


SUJET L’UN DES TYPES DE CIRCUIT ASIC CITÉ.
TRAVAIL À FAIRE :
historique
principales caractéristiques
intérêt
domaines d’utilisation
etc.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 14 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables

Les circuits logiques programmables ou PLD (Programmable Logic


Device) sont un nom générique donné à l’ensemble des circuits
monolithiques formés de cellules logiques (comportant des fusibles,
des antis fusibles ou de la mémoire) qui peuvent être programmés et
parfois reprogrammés par l’utilisateur.

Il existe trois principales familles de PLD :


les SPLD ;
les CPLD et
les FPGA.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 15 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD

Les SPLD (Simple Programmable Logic Device) sont des circuits


programmables élémentaires, constitués d’un ensemble de portes
« ET » sur lesquelles viennent se connecter les variables d’entrée et
leurs compléments ; ainsi qu’un ensemble de portes « OU » sur
lesquelles les sorties des opérateurs « ET » sont connectées comme
variables d’entrée.

F IGURE 2 – architecture d’un SPLD

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 16 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD : différents types

On rencontre principalement trois types de SPLD :


les PAL (Programmable Array Logic) ;
les GAL (Generic Array Logic) ;
les PLA (Programmable Logic Arrays).

Remarque
Techniquement, les mémoires de types PROM peuvent être également
considérés comme des SPLD.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 17 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD : les PAL

Les PAL (réseaux logiques programmables)


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 du PAL

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 18 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD : les PAL

Les PAL : 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

F IGURE 3 – exemple d’un ou exclusif


Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 19 / 72
LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD : les PAL

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 20 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD : les GAL

L’inconvénient majeur des PAL est qu’ils ne sont programmables


qu’une seule fois. Ce qui a ramené la firme LATTICE à penser à
remplacer les fusibles irréversibles des PAL par des transistors
MOSFET qui peuvent être régénérés.

Ceci a donné naissance aux GAL (Réseau Logique Générique). Ces


circuits peuvent donc être reprogrammés à volonté.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 21 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD : les PLA

Les PLA diffèrent des PAL et GAL par le fait que les fonctions de porte
ET et OU sont programmables.

F IGURE 4 – circuit PLA programmable des deux portes ET et OU


Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 22 / 72
LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


SPLD : comparaison

F IGURE 5 – Comparaison entre les SPLD

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 23 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


CPLD

Les CPLD peuvent être vus comme une intégration de plusieurs SPLD dans une
structure à deux dimensions.
Ils sont composés de blocs logiques répartis autour d’une matrice d’interconnexion
PIA (Programmable Interconnect Array).

F IGURE 6 – circuit CPLD


Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 24 / 72
LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


FPGA (Field Programmable Gate Arrays)

Un FPGA est un circuit programmable composé d’un réseau de blocs


logiques élémentaires de cellules d’entrée-sortie et de ressources
d’interconnexion totalement flexibles.

Ce circuit, qui nécessite un outil de placement-routage, est caractérisé


par son architecture, sa technologie de programmation et les éléments
de base de ses blocs logiques.

La puissance de ces circuits est telle qu’ils peuvent être composés de


plusieurs milliers voire millions de portes logiques et de bascules.

Les dernières générations de FPGA intègrent même d’autres de


circuits numériques.

Les deux plus grands constructeurs de FPGA sont XILINX et ALTERA.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 25 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


FPGA (Field Programmable Gate Arrays)

F IGURE 7 – ressources d’un FPGA


Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 26 / 72
LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


comparaisons FPGA et CPLD

Ressemblances
Les cellules logiques sont placées dans une topologie donnée, et
reliées par une infrastructure d’interconnexion ;
Leur fonction est programmable ;
Les chemins entre 2 cellules sont multiples ;
Les temps ne sont connues qu’après le routage ;
etc.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 27 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


comparaisons FPGA et CPLD

Différences
un FPGA contient jusqu’à 100 000 de minuscules blocs logiques,
tandis que CPLD ne contient que quelques blocs de logique allant
jusqu’à quelques milliers ;
Les FPGA sont parfaits pour des applications très complexes,
tandis que les CPLD sont mieux pour des moins complexes ;
Les FPGA sont constitués de minuscules blocs logiques tandis
que les CPLD sont constitués de blocs plus gros ;
Normalement, les FPGA sont très coûteux alors que les CPLD
sont beaucoup moins chers ;
etc.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 28 / 72


LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Les circuits logiques programmables


comparaisons des technologies

F IGURE 8 – Comparaison des différentes technologies


Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 29 / 72
LES RÉSEAUX LOGIQUES PROGRAMMABLES Classification des circuits numériques

Chapitre 2 : Les technologies des


éléments programmables

Généralité sur les technologies des éléments programmables


Les technologies à fusibles
Les technologies à anti-fusible
Les technologies à SRAM
Les technologies à EPROM/FLASH
Récapitulatif des différentes technologies
Technologies utilisées par les différents fabricants

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 30 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Généralité sur 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).

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 31 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Généralité sur les technologies des éléments programmables

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).

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 32 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Les technologies à fusibles

Les technologies à fusibles


Circuits de faible densité ;
La programmation permet de supprimer la connexion ;
Toutes les connexions sont établies à la fabrication ;
Son principe est d’appliquer une tension de 12 à 25V (tension de
claquage) aux bornes du fusible ;
La programmation dans cette technologie est irréversible.

Remarque
Pour des raisons de manque de fiabilité, c’est une technologie
quasiment abandonnée aujourd’hui. En effet, 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
reprogrammation.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 33 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Les technologies à fusibles

F IGURE 9 – illustration de la technologie à fusibles

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 34 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Les technologies à anti fusibles

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.

avantages de la technologie
Petite taille (grande capacité d’intégration) ;
Basse impédance (rapidité).

inconvénients
Technologie difficile à maîtriser ;
Ne permet pas la reprogrammation.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 35 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Les technologies à anti fusibles

F IGURE 10 – la technologie anti fusible

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 36 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Les technologies à SRAM : Static Random Access Memory

Les technologies à SRAM font appel à une phase de chargement de la


configuration depuis l’extérieur.

avantages de la technologie
Grande possibilité de programmation : les cycles de
développement et de prototypage (test et vérification en
conditions réelles) sont accélérés et même confondus ;
Technologie de type CMOS (très bien maîtrisée).

inconvénients
Place importante ;
Mémoire volatile (reprogrammation obligatoire)

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 37 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Les technologies à SRAM : Static Random Access Memory

Avec les technologies à SRAM, les cycles de développement et de


prototypage (test et vérification en conditions réelles) sont accélérés et
même confondus.

F IGURE 11 – cycle de développement avec la technologie SRAM

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 38 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Les technologies à EPROM/FLASH

On distingue :
l’EPROM : Erasable Programmable ROM et
l’EEPROM : Electrically Erasable Programmable ROM
Les mémoires Flash sont une variété de mémoire EEPROM.

les PLD à EPROM


Ils se programment électriquement et s’effacent aux UV.

les PLD à EEPROM


Ils se programment quasi instantanément, et gardent la configuration
jusqu’à une nouvelle programmation (même en l’absence de tension).

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 39 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Récapitulatif des différentes technologies

Complétons le tableau suivant :


Vitesse de
Reprogram-
Nom reprogram- Volatile Surface Technologie
mabilité
mation
Fusible
Anti Fusible
PROM
EPROM
EEPROM
SRAM

TABLE 1 – Récapitulatif des différentes technologies

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 40 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Récapitulatif des différentes technologies

Vitesse de
Reprogram-
Nom reprogram- Volatile Surface Technologie
mabilité
mation
Fusible non - non ++++ bipolaire
Anti Fusible non - non ++++ CMOS
PROM non - non +++ CMOS
EPROM oui + non +++ UVCMOS
EEPROM oui ++ non ++ EECMOS
SRAM oui +++ oui + CMOS

TABLE 2 – Récapitulatif des différentes technologies

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 41 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Technologies utilisées par les différents fabricants

F IGURE 12 – Technologies utilisées par les différents fabricants

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 42 / 72


LES TECHNOLOGIES DES ÉLÉMENTS PROGRAMMABLES Technologies utilisées par les différents fabricants

Chapitre 3 : Architecture des FPGA

Introduction
Architecture des circuits FPGA
Structure des FPGA
Éléments sur les FPGA

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 43 / 72


ARCHITECTURE DES FPGA

Comme nous l’avons vu dans les précédents chapitres, les éléments


programmables sont à la base des caractéristiques des Circuits
Logiques Programmables (PLD).

Le choix dépendra en général de :


la densité d’intégration ;
la rapidité de fonctionnement ;
la facilité de mise en œuvre (programmation, reprogrammation,
etc.) ;
la possibilité de maintien de l’information.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 44 / 72


ARCHITECTURE DES FPGA Introduction

C’est en 1984 que la société américaine Xilinx lança le premier circuit


FPGA commercial : le XC2000.

le XC2000
capacité maximum de 1500 portes logiques ;
technologie aluminium à 2µm avec 2 niveaux de métallisation ;

Xilinx sera suivi un peu plus tard, et jamais lâché, par son plus sérieux
concurrent Altera qui lança en 1992 la famille de FPGA FLEX 8000
dont la capacité maximum atteignait 15000 portes logiques.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 45 / 72


ARCHITECTURE DES FPGA Introduction

Les fabricants des FPGA ne cessent pas d’améliorer leurs produits par
l’efficacité et la puissance.

Les fabricants qui conçoivent ce type de circuits sont : Actel, Altera,


Atmel Cypress, Latice, Minc, QuicLOgic, Xilinx et autres.

Mais les principaux fabricants qui tiennent une place importante sur le
marché sont :
Altera ;
Xilinx.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 46 / 72


ARCHITECTURE DES FPGA Introduction

F IGURE 13 – Répartition du marché des FPGA*

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 47 / 72


ARCHITECTURE DES FPGA Introduction

Différentes technologies

Technologies de FPGA
Technologie de programmation par RAM ;
Technologie de programmation par EPROM, EEPROM ou
FLASH ;
Technologie de programmation par anti-fusible.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 48 / 72


ARCHITECTURE DES FPGA ARCHITECTURE DES CIRCUITS FPGA

On rencontre principalement quatre (04) architectures de FPGA :


l’architecture en tableau symétrique (Symmetrical Array) ;
l’architecture en colonne (Row-Based) ;
l’architecture en mers de portes (Sea of Gate) ;
l’architecture en PLD hiérarchique (Hierarchical PLD) ;

F IGURE 14 – les différentes architectures de FPGA

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 49 / 72


ARCHITECTURE DES FPGA ARCHITECTURE DES CIRCUITS FPGA

l’architecture en tableau symétrique

F IGURE 15 – l’architecture en tableau symétrique

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 50 / 72


ARCHITECTURE DES FPGA ARCHITECTURE DES CIRCUITS FPGA

l’architecture en colonne

F IGURE 16 – l’architecture en colonne

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 51 / 72


ARCHITECTURE DES FPGA ARCHITECTURE DES CIRCUITS FPGA

l’architecture en mer de portes 1/2

F IGURE 17 – l’architecture en mers de portes

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 52 / 72


ARCHITECTURE DES FPGA ARCHITECTURE DES CIRCUITS FPGA

l’architecture en mer de portes 2/2

F IGURE 18 – l’architecture en mers de portes

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 53 / 72


ARCHITECTURE DES FPGA ARCHITECTURE DES CIRCUITS FPGA

l’architecture en PLD Hiérarchique

F IGURE 19 – l’architecture en PLD hiérarchique

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 54 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

On retrouve dans tous les FPGA, trois éléments de structures


essentiels :
les Blocs Logiques Configurables (CLB) ;
les Blocs d’Entrée Sorties Configurables (I/O Blocks) ;
les Lignes, Blocs ou Matrices d’interconnexion.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 55 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Exemple de structure interne

F IGURE 20 – Exemple de structure interne d’un FPGA

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 56 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Types de blocs logiques

On distingue principalement quatre (04) types de blocs logiques dans


les FPGA :
les cellules symétriques ;
les blocs à multiplexeurs ;
les LUT ;
les macro-cellules.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 57 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Types de blocs logiques


les cellules symétriques
blocs de petites tailles
servent à réaliser des cellules logiques simples
peuvent servir de ressources de connexion

F IGURE 21 – schématique et fonctionnement des cellules symétriques


Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 58 / 72
ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Types de blocs logiques


les blocs à 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 IGURE 22 – exemple de bloc logique séquentiel à multiplexeur


Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 59 / 72
ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Types de blocs logiques

les LUT (Look-Up Table)


Les Look-Up Tables 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 entré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.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 60 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Types de blocs logiques


Exemple de Look-Up Table

F IGURE 23 – Exemple de Look-Up Table

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 61 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Types de blocs logiques

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 FPGA,
car ces cellules occupent une grande surface.
Toutefois, la macro-cellule présente plusieurs intérêts :
grand nombre de variables d’entrées possibles
grand nombre de termes de produits possibles

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 62 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Types de blocs logiques


Exemple de Macro-cellules

F IGURE 24 – Exemple de Macro-cellules

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 63 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Les Blocs d’Entrée Sorties (I/O Blocks)

I/O Blocks
Les Ports d’entrées/sortie des circuits FPGA sont totalement
programmables, et :
Le seuil d’entrée est soit TTL ou CMOS ;
Les entrées et sorties sont directes ou mémorisées ;
L’inverseur est aussi programmable.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 64 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Les Interconnexions

On rencontre principalement trois type d’interconnexions entre les


différents blocs des circuits FPGA :
Interconnexion directe : entre les différents blocs logiques ;
Interconnexions par le biais d’une matrice ;
Interconnexion par les grandes lignes relient tous les CLB dans
les extrémités des circuits FPGA.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 65 / 72


ARCHITECTURE DES FPGA STRUCTURE INTERNE DES CIRCUITS FPGA

Les Interconnexions

F IGURE 25 – Les différents types d’interconnexions

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 66 / 72


ARCHITECTURE DES FPGA ÉLEMENTS SUR LES FPGA

L’horloge
L’horloge est un élément essentiel pour le bon fonctionnement d’un
système électronique. Les circuits FPGA sont prévus pour recevoir
une ou plusieurs horloges.
Des entrées peuvent être spécialement réservées à ce type de
signaux. Ainsi que des ressources de routage spécialement adaptées
au transport d’horloges sur de longues distances.
L’horloge est un oscillateur à quartz : Placé dans un angle de la puce,
il peut être activé lors de la phase de programmation pour réaliser un
oscillateur.
Il utilise deux IOB voisins, pour réaliser l’oscillateur. Cet oscillateur ne
peut être réalisé que dans un angle de la puce où se trouve
l’amplificateur prévu à cet effet.
Il est évident que si l’oscillateur n’est pas utilisé, les deux IOB sont
utilisables au même titre que les autres IOB.
Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 67 / 72
ARCHITECTURE DES FPGA ÉLEMENTS SUR LES FPGA

Les Critères de Choix


Coût de développement

Coût de développement et fabrication


C’est le coût des dépenses engagées pour concevoir le système et
réaliser les outils nécessaires à sa fabrication et son test.

F IGURE 26 – Coût de développement et fabrication de différentes


technologies
Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 68 / 72
ARCHITECTURE DES FPGA ÉLEMENTS SUR LES FPGA

Les Critères de Choix


Temps de développement

Temps de développement et fabrication


Le temps de fabrication à l’aide d’un circuit FPGA se résume à sa
programmation, ce qui est négligeable.
SPEC = Standard Performance Evaluation Corporation (licence ou
cahier de charge des systèmes informatiques).

F IGURE 27 – Temps de développement de différentes technologies

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 69 / 72


ARCHITECTURE DES FPGA ÉLEMENTS SUR LES FPGA

Les Critères de Choix


Taille

Taille
Il y a une forte dépendance entre la taille du système et la densité
d’intégration. L’augmentation de la densité d’intégration produit des
systèmes de taille réduite.

F IGURE 28 – Taille des différentes technologies

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 70 / 72


ARCHITECTURE DES FPGA ÉLEMENTS SUR LES FPGA

Les Critères de Choix


Autres éléments (1/2)

Souplesse d’utilisation
Favorise les circuits programmables (SPLD, CPLD, FPGA) dont on
peut modifier plus facilement des fichiers que des circuits.

Consommation
Critère particulièrement sensible dans les applications possédant une
alimentation autonome. Il conduit à favoriser des solutions ASIC.

Vitesse de fonctionnement
Les CPLD sont des composants pour la plupart reprogrammables
électriquement ou à fusibles, peu chers et très rapides (fréquence de
fonctionnement élevée) mais avec une capacité fonctionnelle moindre
que les FPGA.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 71 / 72


ARCHITECTURE DES FPGA ÉLEMENTS SUR LES FPGA

Les Critères de Choix


Autres éléments (2/2)

Capacité mémoire
Les FPGA à SRAM contiennent des mémoires pour stocker leur
configuration. La plupart des familles récentes offrent à l’utilisateur la
possibilité d’utiliser certaines de ces mémoires en tant que telles.

Yempabou Alex Fabien OUOBA (U-AUBEN) fabien.ouoba@gmail.com 14 décembre 2021 72 / 72

Vous aimerez peut-être aussi