Vous êtes sur la page 1sur 10

16/06/2019

Ecole Nationale Polytechnique –Constantine.


Département EEA
Quatrième Année Ingénieurs –Semestre 2.
Automatique/Electrotechnique
Cours. Circuits Programmables

Chapitre IV. (Partie 1)


Circuits FPGA
Durée du Cours: 1h30
Présenté par: Dr. S. BENSEGUENI
(benskandix@gmail.com)

Année Universitaire. 2018-2019

1. Circuits logiques programmables


Les circuits logiques programmables PLD (Programmable
Logic Device) sont considérés comme une alternative
pour plusieurs circuits électroniques en proposant
diverses possibilités de programmation adaptatives aux
besoins des différentes applications en un délai
relativement réduit et à un faible coût.
Cette adaptabilité réside dans la possibilité de configurer
l'architecture interne et les entrées/sorties des PLD en
fonction des besoins de l'utilisateur, contrairement aux
microcontrôleurs qui ont une architecture interne et des
entrées/sorties prédéfinies par les fabricants.
Circuits Programmables Dr. S. Bensegueni

1. Circuits logiques programmables


La logique programmée peut être représentée sous deux catégories comme
suit:
-Dispositifs programmables en usine,
- Dispositifs programmables sur site (FPD).

Circuits Programmables Dr. S. Bensegueni

1
16/06/2019

1. Circuits logiques programmables


Dans la première catégorie on trouve en plus des
ROM, les MPGA (Mask-Programmable Gate Array) ou
Réseau de portes programmable par masque qui ont
été développé pour gérer des circuits logiques plus
grands. Les MPGA consistent en un réseau de
transistors préfabriqués pouvant être désignés dans le
circuit logique utilisateur en les connectant avec des
fils personnalisés.

Circuits Programmables Dr. S. Bensegueni

1. Circuits logiques programmables


Une MPGA commune est constituée de rangées des transistors
pouvant être interconnectés pour mettre en œuvre les circuits
logiques souhaités. Les connexions spécifiées par l'utilisateur
sont disponibles à la fois dans les lignes et entre les lignes. La
personnalisation est effectuée lors de la fabrication de la carte
en spécifiant l'interconnexion métallique, ce qui signifie que
pour qu'un utilisateur puisse utiliser un MPGA, un coût
d'installation important est impliqué et le temps de fabrication
est long.
Bien que les MPGA ne soient clairement pas des FPD, ceux-ci
ont motivé la conception de l’équivalent programmable par
l’utilisateur : les FPGA (Field-Programmable Gate Arrays).

Circuits Programmables Dr. S. Bensegueni

1. Circuits logiques programmables


Les PLD ont beaucoup évolués depuis les réseaux
logiques programmables PAL (Programmable Array
Logic) jusqu'aux réseaux de cellules logiques
programmables FPGA (Field Programmable Gate
Array). Les PLD représentent alors, un assemblage des
opérateurs de la logique combinatoire comme les
mémoires représentant les réseaux logiques et
comme les portes logiques (ET, OU, …) et les
multiplexeurs qui représentent les fonctions
standards en plus des bascules abritant les fonctions à
réaliser.
Circuits Programmables Dr. S. Bensegueni

2
16/06/2019

1. Circuits logiques programmables


Donc, pour programmer des PLD on suit la même philosophie
que la logique câblée, en réalisant les fonctions logiques par la
définition (ou par la programmation) des interconnexions entre
les bascules et les opérateurs logiques.
Exemple. SPLD

.
Circuits Programmables Dr. S. Bensegueni

1. Circuits logiques programmables


Beaucoup de fonctions logiques complexes sont
remplacées par des PROM, mais en général, une
mémoire n'est pas assez flexible pour convenir à cette
tâche. Les PLA (programmable logic array, 1970) et
PAL (programmable array logic, 1978) sont venus pour
ajouter une flexibilité de programmation en
permettant une à l'usine et une autre par l'utilisateur.
Une version améliorée est apparu pour permettre des
programmations multiples par l'utilisateur et est dite :
GAL (Generic array logic) ou Logique de tableau
générique.
Circuits Programmables Dr. S. Bensegueni

1. Circuits logiques programmables


Exemple. CPLD

.
Circuits Programmables Dr. S. Bensegueni

3
16/06/2019

1. Circuits logiques programmables


On sait que n'importe quelle fonction logique peut
s'écrire sous forme de produit de somme ou somme
de produit.
C'est pour cette raison, que les PLD comporte un bloc
combinatoire dit somme des produits parce qu'il
comporte des matrice de portes ET et d'autre de
portes OU liées par des interconnexions
programmables (en désactivant des fusibles et
laissant d'autre actives).

Circuits Programmables Dr. S. Bensegueni

1. Circuits logiques programmables


Les PLD comportent aussi un bloc de entrées ou
sorties en macro-cellules logiques OLMC (Output
Logic Macro Cell) qui peuvent être programmées en
entrée, en sortie, en entrée/sortie ou en haute
impédance. Les macro-cellules peuvent comportées
aussi des porte XOR, des multiplexeurs, de bascules D,
des fusibles de programmation,…

Circuits Programmables Dr. S. Bensegueni

1. Circuits logiques programmables


L'opération de réalisation des interconnexions et de
définition des entrées et des sorties s'appelle l'opération
de routage.

.
Circuits Programmables Dr. S. Bensegueni

4
16/06/2019

2. Evolution des circuits FPGA


Les circuits logiquement programmable, sont des
circuits capables d’exécuter toute fonction logique
simple, et pouvaient être interconnectés de manière
arbitraire, pour être utilisés dans des réseaux pour
mettre en œuvre toute fonctionnalité de logique
numérique. En 1985, Xilinx introduit au marché la
carte XC2064 qui est considéré comme le premier
dispositif FPGA au monde.

Circuits Programmables Dr. S. Bensegueni

2. Evolution des circuits FPGA


Dans l’intervalle, le FPGA a changé radicalement des
simples dispositifs de style logique numérique, à des
plateformes de traitement hétérogènes spécifiques
comprenant des microprocesseurs, des émetteurs-
récepteurs série de plusieurs gigabits, des
communications en réseau et de vastes niveaux de
ressources de calcul sur puce,…
Les principaux facteurs de motivation pour choisir le
FPGA comme plateforme cible pour les applications
DSP sont la performance en temps réel et le coût.
Circuits Programmables Dr. S. Bensegueni

2. Evolution des circuits FPGA


Les processeurs logiciels permet un fonctionnement qui
réalise les exigences de performance de l’application en
temps réel et aux contraintes physiques imposées à la
réalisation intégrée, par exemple en termes de taille ou
de consommation d'énergie, peut être au-delà de ce que
ceux-ci peuvent atteindre. Pour de telles performances et
contrairement aux systèmes DSP à faible volume, la
capacité du FPGA à héberger une informatique
personnalisée en une architecture adaptée aux besoins
en temps réel de l'application et aux exigences physiques
de la mise en œuvre, à un coût relativement faible, est un
avantage clé.
Circuits Programmables Dr. S. Bensegueni

5
16/06/2019

2. Evolution des circuits FPGA


Ce chapitre va explorer les capacités des FPGA de nos
jours à mettre en œuvre des applications DSP de
types d'architectures informatiques qui exploitent au
mieux ces capacités. Les matrices de portes
programmables (FPGA) sont, dans leur forme la plus
simple, des dispositifs contenant un ensemble de
portes, de registres et de ports d’entrée/sortie dont
les interconnexions peuvent être déterminées par
l’utilisateur sur le terrain (d’où le terme:
programmable sur site).
Circuits Programmables Dr. S. Bensegueni

2. Evolution des circuits FPGA


Les FPGA modernes peuvent également inclure une
gamme de ressources supplémentaires telles que des
bascules à trois états, des mémoires, des multiplexeurs et
des réseaux de distribution d’horloges spécialisés
minimisant l’asymétrie. La technologie disponible permet
à un FPGA d'être partiellement reconfiguré lors de
l'exécution afin qu'il puisse se redéfinir pour utiliser la
configuration la plus appropriée la tâche à accomplir. La
fonction effectuée par un FPGA est généralement
déterminé par un modèle de programmation chargé dans
le FPGA à partir d'une ROM lorsque le FPGA démarre.
Circuits Programmables Dr. S. Bensegueni

2. Evolution des circuits FPGA


En règle générale, les mémoires flash sont utilisées de
sorte que la fonction du FPGA peut être changé
simplement en changeant le schéma de programmation
dans la ROM.
Cela diffère de la création d’un nouveau programme dans
un CPU, un DSP ou un microcontrôleur. Dans ce cas, le
changement de programme en mémoire entraînera le
processeur pour exécuter un ensemble d'instructions
différentes (c'est-à-dire exécuter une fonction différente)
à l'aide de configuration interne fixe du processeur.
Changer le modèle de programmation pour un FPGA
entraînera la configuration des connexions internes du
périphérique.
Circuits Programmables Dr. S. Bensegueni

6
16/06/2019

2. Evolution des circuits FPGA


Les FPGA peuvent donc être considérés comme situer à la
frontière entre le matériel et logiciel.
Les FPGA deviennent donc rapidement des alternatives
viables à l’ASIC (Circuit intégré à application spécifique)
par les considérations suivantes :
- La densité logique des FPGA modernes rivalise avec celle
de certains ASIC (autrement dit, vous pouvez adapter
autant de cellule logique sur un FPGA que certains ASIC).
- Le coût unitaire des dispositifs FPGA diminue.
- Les FPGA permettent de modifier la conception sans
aucun frais si une erreur est détectée ou de nouvelles
fonctionnalités sont nécessaires.
Circuits Programmables Dr. S. Bensegueni

3. Architecture générale
La programmabilité du FPGA repose sur 2 principes : l’utilisation de
programmes blocs fonctionnels, et l'interconnexion programmable
qui permet à plusieurs blocs à être connecter pour former des
fonctions logiques plus complexes.
La structure générale d’un FPGA classique mettant en évidence les
composants architecturaux clés, est donnée par:

.
Circuits Programmables Dr. S. Bensegueni

3. Architecture générale
Le bloc principal constituant un FPGA est les blocs
logiques programmables (LookUp Table LUT). Une LUT
est une mémoire en lecture seule pouvant être
programmée pour héberger des fonctions et des
données logiques en stockant la sortie
correspondante dans l'emplacement de mémoire
correspondant aux entrées qui produisent ces sorties.
L'opération de chargement des données dans chaque
LUT de la carte est appelé configuration du FPGA.

Circuits Programmables Dr. S. Bensegueni

7
16/06/2019

3. Architecture générale
Depuis les premières incarnations jusqu'à très
récemment, ces LUT ont quatre à six entrées et une
sortie, autant pour pouvoir reproduire le
comportement de toute fonction logique de cette
mêmes dimensions ou d'une plus petite. En se
connectant ensemble, en utilisant l’interconnexion
programmable, les réseaux de LUT pourraient
implémenter des fonctions logiques de
dimensionnalité supérieure.

Circuits Programmables Dr. S. Bensegueni

3. Architecture générale
Les réseaux résultants sont alors connectés au monde
extérieur via les broches programmables.
Dans les dernières générations contiennent plus de
70.000 LUT. Cette ressource énorme a permis une
exploitation sans contrainte de parallélisme dans les
applications en permettant à un plus grand nombre
d'unités de traitement d'être hébergé sur le
périphérique (dans les limites de ses ressources
physiques), sans étranglement et perturbations des
communications.
Circuits Programmables Dr. S. Bensegueni

3. Architecture générale
Structure interne d'un FPGA

Circuits Programmables Dr. S. Bensegueni

8
16/06/2019

3. Architecture générale
Les appareils actuels ne reposent pas sur une seule
structure. Chaque génération des appareils est
subdivisée en familles, chaque famille présentant des
caractéristiques différentes en fonction du domaine
d'application prévu. Il existe généralement deux types
d’appareils proposés par Xilinx : les dispositifs les plus
performants : Virtex pour les applications plus
importantes, et les dispositifs Spartan à moindre coût
pour des applications plus petites. Ces deux classes
sont ensuite subdivisées en familles, en fonction de
l'application cible souhaitée.
Circuits Programmables Dr. S. Bensegueni

3. Architecture générale
Par exemple, le dispositif FXT Virtex contient jusqu'à deux
processeurs Power PC, vingt-quatre convertisseurs en série,
quatre cartes PCI Express et huit contrôleurs Ethernet, pour une
efficacité élevée, construction rapide d'architectures
personnalisées intégrées en réseau.
Exemple. FXT Virtex-5

.
Circuits Programmables Dr. S. Bensegueni

3. Architecture générale
Les circuits FPGA sont donc, constitués d'une matrice
de blocs logiques programmables entourés de blocs
d'entrée sortie programmable. L'ensemble est relié
par un réseau d'interconnexions programmable.
Il y a 4 principales catégories disponible :
- Tableau symétrique.
- En colonne.
- Mers de portes.
- Les PLD hiérarchique.
Circuits Programmables Dr. S. Bensegueni

9
16/06/2019

3. Architecture générale

Circuits Programmables Dr. S. Bensegueni

3. Architecture générale
Exemple. La structure interne d'un FPGA de type matrice
symétrique des FPGA de la série XC4000 de Xilinx.

.
Circuits Programmables Dr. S. Bensegueni

10

Vous aimerez peut-être aussi