Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cours FPGA

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 47

Circuits

Logiques
Programmables

PLD
PLAN

 Circuits numériques
 Présentation de la logique programmée
 Classification des PLDs
 Opérateurs génériques
 Technologies
 Les PALs
 Les C.P.L.D.s
 Les F.P.G.A.s
 Développement des CPLDs et FPGAs
Circuits numériques

Nous nous intéresserons surtout aux circuits à architecture programmable


à faible temps de développement.

3
Présentation de la logique programmée

Une fonction logique est définie par les interconnexions entre des
opérateurs combinatoires et des bascules, et par les équations des
opérateurs combinatoires.

Ce qui est programmable dans un circuit concerne donc les


interconnexions et les opérateurs combinatoires.

Donc un circuit programmable est un assemblage d’opérateurs logiques


combinatoires et de bascules, présentes physiquement sur le circuit, dans
lequel la fonction réalisée n’est pas fixée lors de la fabrication.

4
Classification des PLDs

Circuits logiques programmable


(Programmable Logic Device)

PAL EPLD-
GAL FPGA
CPLD
Classification des PLDs

 P.A.L. signifie Programmable Array Logic, c- à-d réseau logique


programmable. La programmation de ces circuits s'effectue par
destruction de fusibles. Une fois programmés on ne peut plus les effacer.

On distingue deux sous familles:


 Les P.A.L. combinatoires ou P.A.L. simples. Ils sont constitués de
fonctions de logique combinatoire.
 Les P.A.L. à registres ou F.P.L.S. (Field Programmable Logic
Sequencer) pour séquenceur logique programmable. Ils sont constitués
de logique combinatoire et séquentielle (Registre).

 E.P.L.D.
Les E.P.L.D. (Erasable Programmable Logic Device), c'est à dire circuit
logique programmable et effaçable par UV ou électriquement.

6
Classification des PLDs

 Les G.A.L.(Generic Array Logic) ou encore réseau logique générique.


Leur fonctionnement est identique aux EPLD, ils sont programmables
et effaçables électriquement.
 Les C.P.L.D.(Complex Programmable Logic Device). Ces circuits sont
composés de plusieurs P.A.L.s élémentaires reliés entre eux par une
zone d’interconnexion.
 Les FPGA (Field Programmable Gate Array) à anti fusibles, ils
permettent une plus grande intégration de portes, la programmation
des connexions s'effectue par fermeture de circuits.

Grâce à cette architecture, on peut atteindre des vitesses de


fonctionnement élevées.

7
Opérateurs génériques

 Réseaux Logique Programmables


 Multiplexeurs
 Porte XOR
 Les bascules

8
Opérateurs génériques

1) Réseaux Logique Programmables:


N'importe quelle fonction peut être codée par une somme de produit,
par un produit de somme ou un mélange des deux.

On peut en déduire une structure de circuits, appelé matrice PLA


(Programmable Logic Array).

La figure suivante représente une matrice PLA à 4 entrées et 4 sorties :

9
10
Opérateurs génériques
Le principe de réalisation des fonctions de la matrice ET et de OU est le
suivant :

Chaque croix représente une connexion programmable (un fusible).

11
Opérateurs génériques
a) PAL simple :

Structure simplifiée d’un PAL(2 entrées et 1 sortie)

La programmation du circuit consiste à supprimer certaines des


connexions marquées d’une croix.
Le schéma permet de réaliser des fonctions booléenne s(e1,e2), de deux
variables binaires e1 et e2.
Opérateurs génériques

b) PAL réalisant un XOR:


Représentation de la structure interne de l’opérateur XOR d’un P.A.L.

Les croix représentent les fusibles intacts.


Opérateurs génériques
Le plus simple des PLDs, un 16L8 par exemple, utilise des opérateurs
ET à 32 entrées et des opérateurs OU à 8 entrées. Un schéma tel que
celui des figures précédentes deviendrait illisible.

Pour éviter cet écueil, les notices de circuits utilisent des symboles
simplifiés, pour représenter les réseaux logiques programmables:

symbole d'un PLA 2×4

14
Opérateurs génériques

Le schéma de l’opérateur XOR devient:

15
Opérateurs génériques

2) Multiplexeurs:

Le multiplexeur permet également de coder une fonction combinatoire,


comme le montre la figure suivante :

Multiplexeur élémentaire

16
Opérateurs génériques

On peut décrire la fonction XOR sous forme algorithmique :

ou exclusif réalisé par un multiplexeur

Donc un multiplexeur est un opérateur générique.

17
Opérateurs génériques
3) Porte XOR:

De nombreuses familles de circuits programmables disposent, en plus des


PLAs, d’opérateurs XOR pour faciliter la réalisation des fonctions
arithmétiques.

18
Opérateurs génériques

4) Bascules:
Les circuits programmables actuels offrent tous la possibilité de créer
des fonctions séquentielles, synchrones dans leur immense majorité.
les trois types fondamentaux de bascules:

Les optimiseurs déterminent automatiquement le type de bascule le


mieux adapté à l’application.

19
Technologies

Le premier choix d’un circuit programmable dépond de la technologie


utilisée pour matérialiser les interconnexions:
 maintien (ou non) de la fonction programmée en l’absence d’alimentation,
 possibilité (ou non) de modifier la fonction programmée,
 nécessité (ou non) d’utiliser un programmateur.

20
Technologies
1) Fusibles:
On ne la rencontre plus que dans quelques circuits de faible densité, de
conception ancienne.
Lors de la programmation le circuit est placé dans un mode, dans lequel
des impulsions de courant sont aiguillées successivement vers les
fusibles à détruire.

PLD élémentaire à fusibles


21
Technologies

Pour programmer un circuit, il faut transférer dans le programmateur


une table des fusibles qui indique par un chiffre binaire l’état de chaque
fusible. Cette table est généralement transférée entre le système de CAO
et le programmateur sous forme d’un fichier au format normalisé : le
format JEDEC.

L’exemple suivant présente l’implémentation d’un compteur binaire 10


bits dans un circuit de type 22V10 :

22
23
Technologies

Inconvénients:
La programmation détruit plus de fusibles qu’elle n’en conserve.
Cela se traduit par une mauvaise utilisation du silicium, un temps de
programmation important (quelques secondes) et des contraintes
thermiques sévères imposées au circuit lors de l’opération.

Cette technologie n’est donc pas généralisable à des circuits dépassant


quelques centaines de portes équivalentes.

24
Technologies
2) MOS à grille flottante:

Les fusibles sont remplacés par des transistors à grille isolée (technologie FLASH).

Les Cellules à transistor MOS à grille flottante sont des cellules reprogrammables.

25
Technologies

3) Antifusibles: L’inverse d’un fusible

Ces circuits ne sont programmables qu’une fois.

Les cellules de connexion sont aujourd'hui réalisées en technologie


MOS à grille flottante.

26
Architectures utilisées
La structure de base comprend un circuit PLA dont seule la matrice ET
est programmable.

Structure d’une PLD

La partie nommée OLMC (Output Logic Macro Cell) sur la figure peut être:
 Combinatoire
 Séquentielle
 Versatile

27
Les PALs
Combinatoire : une simple connexion relie la sortie du porte
OU à l'entrée du buffer de sortie, dont la sortie est réinjectée sur
le réseau programmable.
Les PALs

 Séquentielle: le bloc OLMC étant alors une simple bascule D ;


Il existe trois types:
R (Register):
Les PALs

Séquentielle:

X (Register XOR):
Les PALs
Séquentielle:

RA (Register Asynchron):
Les PALs

 Versatile: il est possible par programmation de choisir entre les deux


configurations précédentes.

f1 f0 Configuration des sorties

0 0 Combinatoire, actif bas


0 1 Combinatoire, actif haut
1 0 Registre, actif bas
1 1 Registre, actif haut
Macrocellule configurable
Les PALs

Désignation:
Elle est de la forme : PAL EE T SS
où EE représente le nombre d'entrées,
SS le nombre de sorties
et T le type du PAL

exemple : PAL 22V10.

33
Les PALs
Schéma interne d’un PAL 22V10 de AMD:
Les PALs
Structure et symbole:

Structure générale Symbolisation normalisée


Les CPLDs (Complex Programmable Logic Device)

Structure générale d’un CPLD:


Ces circuits ont une capacité en nombre de portes et en possibilités de
configuration très supérieure à celle des PALs. Leurs architectures sont
basées sur celles des PALS.
Un CPLD c’est l’équivalent de plusieurs PALs mis dans le même circuit
associé à une zone d’interconnexion. Le nombres de portes peut varier
entre 100 et 100 000 portes logiques et entre 16 et 1000 bascules voir plus.
Les FPGAs (Fields Programmable Gate Array)

Les FPGAs sont assimilables à des ASIC (Application Specific Integrated


Circuit) programmables par l’utilisateur. La puissance de ces circuits est
telle qu’ils peuvent être composés de plusieurs milliers voire millions de
portes logiques et de bascules structurés sous forme de matrices.
Les dernières générations de FPGA intègrent même la mémoire RAM.

Les deux plus grands constructeurs de FPGA sont Xilinx et Altera.

37
Les FPGAs

Structure d’un circuit FPGA :

Structure d’un circuit FPGA

38
Les FPGAs

La structure du FPGA présentée est composée :

 De cellules d’E/S modifiables qui servent d’interfaces entre les


broches du circuit et le cœur du FPGA pour adapter les signaux
suivants :
 Alimentation
 Signaux d’horloge
 Signaux de configuration du FPGA
 Signaux de test

 De réseaux d’interconnexions. Ces réseaux relient entre eux les blocs


logiques et les blocs d’E/S.

39
Les FPGAs
 De blocs logiques: contenant les fonctions logiques combinatoires et
séquentielles.
Exemple de blocs logiques: spartan3 XC3S200

40
Les FPGAs

Microprocesseur:
La présence d’un processeur est indispensable pour ordonnancer les
commandes reçues par le FPGA.

Habituellement, ce processeur se trouve à l’extérieur du FPGA, mais des


constructeurs ont intégré ces systèmes directement dans le FPGA. Il
s’agit de processeur « soft-core » on parle aussi de système sur puce
programmable (SoPC).

Il communique avec le FPGA grâce au langage de description matérielle


VHDL. Ce processeur est donc reconfigurable pouvant ainsi d’adapter
aux contraintes de chaque utilisation.

41
Développement des CPLDs et FPGAs

La description du fonctionnement des circuits peut se faire de plusieurs


façons, soit :

 Par un schéma à base de fonctions logique élémentaires (Portes,


bascules, compteurs, registres à décalages).

 En utilisant un langage de description matériel HDL (Hardware


Description Language).

 Par l’utilisation de graphes d’états(FSM : Flow States Machines)

42
Développement des CPLDs et FPGAs
Développement des CPLDs et FPGAs

44
Avantages des FPGAs

 La possibilité de modifier le programme générique de base


afin de le rendre spécifique au circuit utilisé. Une solution de
validation utilisant le FPGA peut alors convenir à beaucoup
de projets et donc diffusée à plusieurs équipes.

 Une réutilisation pour d’autres projets.

 Une reprogrammation quasi-instantanée du circuit.

45
DE2-115 Board

46
Block Diagram of DE2-115

47

Vous aimerez peut-être aussi