Vous êtes sur la page 1sur 71

Langage de description

matérielle
VHDL
Jalil EL KARI
Docteur de l’Université de
Bordeaux

1 1
LES CIRCUITS LOGIQUES
PROGRAMMABLES
Il y a quelques années la réalisation d’un montage
en électronique numérique impliquait l’utilisation
d’un nombre important de circuits intégrés
logiques. Ceci avait pour conséquences un prix
de revient élevé, une mise en oeuvre complexe
et un circuit imprimé de taille importante.
Un PLD peut intégrer dans un seul circuit
plusieurs fonctions logiques programmables par
l’utilisateur. Sa mise en oeuvre se fait très
facilement à l’aide d’un programmateur, d’un
microordinateur et d’un logiciel adapté.
EL KARI Abdeljalil 8
STRUCTURE DE BASE D’ D’UN PLD

La plupart des PLDs suivent la structure suivante :


• Un ensemble d’opérateurs « ET » sur lesquels
viennent se connecter les variables d’entrée et
leurs compléments.
• Un ensemble d’opérateurs « OU » sur lesquels
les sorties des opérateurs « ET » sont
connectées.
• Une éventuelle structure de sortie (Portes
inverseuses, registres...).

EL KARI Abdeljalil 9
Les deux premiers ensembles forment
chacun ce qu’on appelle une matrice. Les
interconnexions de ces matrices doivent
être programmables. C’est la raison pour
laquelle elles sont assurées par des
fusibles qui sont « grillés » lors de la
programmation. Lorsqu’un PLD est vierge
toutes les connexions sont assurées.

EL KARI Abdeljalil 10
Symbolisation des portes logiques pour
les PLDs

EL KARI Abdeljalil 11
EL KARI Abdeljalil 12
La figure 3 représente la structure interne d’un PLD ayant ses
fusibles intacts. Les équations logiques de Q0 et Q1 sont :

EL KARI Abdeljalil 13
Si on veut obtenir les fonctions :

on « grillera » des fusibles de façon à obtenir le schéma


suivant :

EL KARI Abdeljalil 14
La classification des P.L.D.
• Liste de toutes les familles de P.L.D.
•P.A.L. signifie Programmable Array Logic, c'est à dire
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 Séquencer pour séquenceur logique programmable.
Ils sont constitués de logique combinatoire et
séquentielle (Registre).
EL KARI Abdeljalil 15
• Les P.A.L. effaçables: E.P.L.D.
Les E.P.L.D. Ce qui signifie Erasable Programmable
Logic Device, c'est à dire circuit logique programmable
et effasçable;
Les E.P.L.D. peuvent être effacés par U.V. ou
électriquement. Ils sont encore appelés P.A.L. CMOS.
•Les G.A.L.
Les G.A.L. Ce qui signifie Generic Array Logic ou encore
réseau logique générique ce qui veut dire pas grand
chose mais qui sont aux P.A.L. ce que sont les
E.E.P.R.O.M aux P.R.O.M. Le nom de G.A.L. a été
déposé par LATTICE SEMICONDUCTOR. Leur
fonctionnement est identique aux P.A.L. CMOS, ils sont
programmables et effaçables électriquement.
EL KARI Abdeljalil 16
• Les C.P.L.D.
Les C.P.L.D. Ce qui signifie Complex Programmable Logic
Device. Ces circuits sont composés de plusieurs P.A.L.s
élémentaires.
• Les L.C.A. & F.P.G.A. à anti-fusible.
- Les L.C.A. Ce qui signifie Logic Cell Array ou encore
réseau de cellules logiques. Ces circuits sont composés
de blocs logiques élémentaires de 2000 à 10000 portes
que l'utilisateur peut interconnecter.
- Les F.P.G.A. à anti fusibles sont identiques aux L.C.A
sauf qu'ils permettent une plus grande intégration de
portes et ils ne sont pas effaçables électriquement. Le
nom anti-fusible vient de la programmation des
connexions qui s'effectue par fermeture de circuits,
comparé aux fusibles où l'on ouvre les circuits.
EL KARI Abdeljalil 17
Résumé graphique des
familles de PLD

EL KARI Abdeljalil 18
•Bloc de sortie (Macro-cellule) et bloc d'entrée-sortie

Le bloc de sortie est souvent appelé macro-cellule que l'on


nomme OLMC, abréviation anglaise de Output Logic Macro
Cell signifiant macro-cellule logique de sortie.
Les différentes configurations de la macro-cellule et du bloc
d'entrée-sortie associé donnent aux PLD toute leur
souplesse d'exploitation.
Ces configurations sont choisies par le positionnement d'un
certain nombre de fusibles, appelés fusibles de
configuration.
Les logiciels d'aide au développement déduisent
automatiquement la valeur de chaque fusible à partir de la
syntaxe des équations que l'on souhaite réaliser.

EL KARI Abdeljalil 19
La macro-cellule comporte :
- une porte OU exclusif, une bascule D,
- des multiplexeurs, qui permettent de définir
différentes configurations, et un dispositif de
rebouclage sur la matrice ET,
- des fusibles de configuration.
Le bloc d'entrée-sortie comporte une porte
3-états et une broche d'entrée-sortie.
Avant de présenter la structure de la macro-
cellule, on donne une indication sur le symbole
utilisé pour les multiplexeurs.

EL KARI Abdeljalil 20
L'un des deux symboles ci-dessous peut être
utilisé. Dans cette représentation, on indique
le numéro de l'entrée d'information soit en
décimal dans le cas a) soit en binaire dans le
cas b).

EL KARI Abdeljalil 21
Les éléments cités ci-dessus conduisent au
schéma de principe suivant d'une macro-
cellule :

EL KARI Abdeljalil 22
F1, F2, F3 sont des fusibles de
configuration.
La présence ou l'absence d'un fusible peut
être associée à une variable de configuration
dont l'état logique vaut 0 lorsque le fusible
est présent et 1 lorsqu'il est absent.
Pour simplifier, on donnera à la variable le
nom du fusible. Sur les schémas qui vont
suivre, on mentionnera uniquement le nom de
la variable indiquant le fusible.
Dans la suite, on va identifier le fusible à son
état et on dira que le fusible est à 0 s'il est
présent et à 1 s'il est absent.

EL KARI Abdeljalil 23
a) Modes de fonctionnement de la macro-cellule
La macro-cellule permet de réaliser toute fonction
logique écrite sous la forme d'une somme de
termes produit. Les termes produit proviennent de
matrice ET et la somme est réalisée par une porte
OU dont le nombre d'entrées est fixé.
Cette fonction ou son complément peut :
- apparaître directement sur la sortie du
multiplexeur, Mux1. On dit que la macrocellule
produit une sortie combinatoire (fusibie F3
présent).
- être appliqué à l'entrée de la bascule dont la
sortie est aiguillée sur celle du multiplexeur, Mux1.
On dit que la macro-cellule produit une sortie
séquentielle ou par registre (F3 absent).

EL KARI Abdeljalil 24
b) Modes de fonctionnement du bloc d'entrée-
sortie
En entrée, la porte 3-états présente alors un état
haute impédance. Le multiplexeur, Mux2, permet de
ramener cette entrée sur la matrice ET. Pour cela,
le fusible F2 doit être absent.
En sortie, la porte 3-états présente alors un état
basse impédance. Le multiplexeur, Mux1, permet
d'obtenir sur la broche d'entrée-sortie considérée
comme sortie :
- soit la sortie combinatoire,
- soit séquentielle. Dans cette configuration, la
sortie de la bascule devrait être rebouc1ée
sur la matrice ET en laissant le fusible F2
présent.

EL KARI Abdeljalil 25
En entrée-sortie, la porte 3-états est commandée par un
terme produit. Lorsque ce terme vaut 1, le bloc se comporte
en sortie, lorsque le terme vaut 0, le bloc se comporte en
entrée.
c) Polarité des broches d'entrée-sortie
La fonction logique réalisée par la macro-cellule provient de
la sortie de la porte OU exclusif qui reçoit :
- d'une part une somme de termes produit fournie par la
porte OU,
- d'autre part l'état du fusible F1.
Le fusible, F1, de commande de la porte OU exclusif offre
un degré supplémentaire de souplesse des circuits logiques
programmables. Selon l'état de F1, on peut obtenir une
sortie active à zéro ou active à un. On adapte ainsi la
fonction à générer au niveau logique actif du système à
commander. Cette notion de polarité est importante, on
donne une illustration avec l'exemple qui va suivre.

EL KARI Abdeljalil 26
Considérons le cas d'une sortie combinatoire, c'est
à dire le cas où F3 vaut O.
Soit S1 la somme des termes produit que la macro-
cellule reçoit de la porte Ou.
Soit S la broche d'entrée-sortie de la macro-
cellule considérée comme sortie,
- si le fusible F1 est absent (F1 = 1), la broche de
sortie prend la valeur du complément de S1, que
l'on peut écrire S = /S1, on obtient une sortie
active à zéro.
-si le fusible F1 est présent (F1=O), la broche de
sortie prend la valeur de S1, que l'on peut écrire
S = S1, on obtient une sortie active à un.

EL KARI Abdeljalil 27
CIRCUITS PLD SIMPLES DE BASE
.1 Caractéristiques générales des PLD simples
Le nombre maximal des entrées varie entre 16 et
32. Dans ce nombre, on comptabilise les entrées
dédiées et les entrées-sorties puisque ces
dernières peuvent être configurées en entrée. Si
les broches d'entrée-sortie sont considérées
uniquement comme entrées alors on réduit
d'autant le nombre de sorties.
Le nombre maximal de sorties varie entre 8 et 16.
Ce sont les broches d'entrée-sortie considérées
comme sorties. Si les broches d'entrée-sortie sont
considérées uniquement comme sorties alors on
réduit d'autant le nombre maximal d'entrées.
EL KARI Abdeljalil 28
La matrice ET est programmable.
La matrice OU est pré-câblée et le nombre de
termes produit qui alimentent la porte OU varie
entre 8 et 16.
Toutes les bascules sont de type bascule D. Elles
sont commandées par une seule horloge.
On dispose d'un fusible de sécurité considéré
comme fusible de configuration.
Il permet d'interdire les copies du contenu du
GAL. Lorsqu'il est programmé, toute lecture ou
vérification du contenu par un dispositif de
programmation est inhibée.
Seul un effacement complet du GAL peut
permettre de remodifier son état.
EL KARI Abdeljalil 29
2. Dénomination des circuits
Sans que ce soit systématique, la dénomination des PLD
peut être regroupée de la façon suivante : NN EE V SS
• NN : Nom générique
• EE nombre maximal des entrées
• V type de sorties
•SS nombre maximal de sorties
Le nom générique dépend du constructeur de GAL.
Le nombre maximal d'entrées comptabilise aussi bien les
entrées que les entrées-sorties.
V est utilisé comme V pour "Versatile" en anglais qui signifie
souple. Les PLD sont des circuits d'utilisation souple.

EL KARI Abdeljalil 30
Le nombre maximal de sorties représente le nombre de
broches d'entrée-sortie en considérant qu'elles sont
utilisées en sortie.
Cette dénomination est incomplète parce que les
informations supplémentaires dépendent des constructeurs.
On a cherché à donner des indications que l'on retrouve sur
la plupart des circuits et qui permettent de reconnaître le
type de PLD.
Exemples
GAL16V8, PALCE16V8, GAL22V1O, PALCE22V1O

EL KARI Abdeljalil 31
3. GAL16V8
a) Caractéristiques
Le GAL16V8 dispose de :
- 8 macro-cellules,
-16 entrées, dont 8 entrées dédiées notées E1 à E8, et 8
autres notées S/E0 à S/E7 sont des entrées-sorties,
- 8 sorties S0-S7, (combinatoires ou séquentielles), qui sont
en fait les 8 entrées-sorties configurées en sorties,
- une horloge commune à toutes les bascules D,
- 8 termes produit au maximum par porte OU, chaque porte
OU commande une macrocellule,
- un fusible de protection de lecture,
- 64 fusibles de signature. Ces 64 fusibles sont lisibles
indépendamment de l'état du fusible de protection de
lecture. Ils permettent à l'utilisateur d'identifier son PLD.
EL KARI Abdeljalil 32
Parmi les 16 entrées, deux sont spéciales.

L'entrée connectée sur la broche, nommée CLK, sert


d'horloge commune à toutes les bascules. Dans certaines
configurations, elle peut servir d'entrée supplémentaire.
Elle est considérée à ce titre comme l'entrée de la broche
d'entrée-sortie numéro 0.

L'entrée connectée sur la broche, nommée /OE, peut servir


de commande globale à toutes les portes 3-états des blocs
d'entrée-sortie. Dans certaines configurations, elle peut
servir d'entrée supplémentaire. Elle est considérée à ce
titre comme l'entrée de la broche d'entréesortie numéro 9.

EL KARI Abdeljalil 33
b) Présentation
Le GAL16V8 utilise une architecture de matrice ET
programmable (64x32) qui comporte 64 termes produit de
32 variables complémentées ou non.
La matrice OU est pré-câblée et les 64 termes produit sont
répartis entre les 8 macrocellules. Chaque macro-cellule
utilisera selon la configuration 7 ou 8 termes produit.

EL KARI Abdeljalil 34
EL KARI Abdeljalil 35
Schéma de connexion de la matrice ET -OU pour une
macro-cellule

EL KARI Abdeljalil 36
c) Macro-cellule (OLMC)

EL KARI Abdeljalil 37
EL KARI Abdeljalil 38
EL KARI Abdeljalil 39
EL KARI Abdeljalil 40
EL KARI Abdeljalil 41
EL KARI Abdeljalil 42
EL KARI Abdeljalil 43
CIRCUITS LOGIQUES PROGRAMMABLES CPLD - FPGA
•1. STRUCTURE DES CPLD
•1.1 Généralités
Les CPLD sont une évolution des PLD simples en ce qui
concerne le niveau d'intégration. Un CPLD renferme au
moins 2 PLD de type GAL22V1O.
Un CPLD est constitué :
- d’un bloc des entrées dédiées, de plusieurs blocs
d’entrée-sortie,
- de plusieurs blocs de macro-cellules,
- d’un réseau d’interconnexion entre les blocs de macro-
cellules.
Contrairement aux PLD simples, la bascule de la macro-
cellule d'un CPLD peut être configurée en bascule de type
D, JK ou RS.
EL KARI Abdeljalil 44
EL KARI Abdeljalil 45
EL KARI Abdeljalil 46
EL KARI Abdeljalil 47
EL KARI Abdeljalil 48
2. CIRCUIT CPLD DE BASE
2.1 LE CIRCUIT EP1810 D’ALTERA

EL KARI Abdeljalil 49
EL KARI Abdeljalil 50
3. STRUCTURE DES FPGA
3.1 Généralités

Les FPGA permettent d'atteindre un niveau


d'intégration plus élevé que celui des CPLD. En
première approximation, un FPGA est un CPLD avec
un très grand nombre de macro-cellules et une
grande souplesse d'interconnexion entre les
macro-cellules.
En plus du niveau d'intégration, la différence
entre CPLD et FPGA réside dans la maîtrise du
temps de propagation dans les couches logiques du
circuit. Ce temps est prédictif dans les CPLD car
les chemins parcourus par les signaux sont connus
alors que dans les FPGA ce temps dépend de
l'organisation et de la distance entre les macro-
cellules interconnectées.
EL KARI Abdeljalil 51
On retrouve dans les FPGA, les ressources
des CPLD enrichies de fonctionnalités
nouvelles.
Entrées-sorties : contrairement aux CPLD,
elles sont indépendantes des macro-cellules
et des groupes de macro-cellules. Leur
structure de base rappelle celle des CPLD,
avec comme élément de base la porte 3-
états.

EL KARI Abdeljalil 52
Macro-cellules : elles sont plus nombreuses, et il n'y
a pas de matrice ET et Ou. La macro-cellule est
constituée d'une partie combinatoire et d'une partie
séquentielle.
- La partie combinatoire permet de réaliser des
fonctions de complexité moyenne. Les constructeurs
ont proposé chacun une ou plusieurs solutions de
synthèse dont les principales sont :
. la synthèse de fonctions à 4 ou 5 variables avec
des portes classiques ET, OU et NON,
. la synthèse de fonctions à l'aide de multiplexeurs,
. la synthèse de fonctions combinatoires à l'aide de
mémoire vive.
EL KARI Abdeljalil 53
-La partie séquentielle comporte une ou deux bascules
généralement de type D.
Compte tenu du nombre de macro-cellules et de leur
structure, leur association permet la réalisation de n'importe
quel autre type de bascule.
Les macro-cellules sont appelées :
- soit CLB, abréviation anglaise de Configurable Logic Block,
signifiant bloc logique conflgurable. C'est la dénomination
adoptée par Xilinx,
- soit LC, abréviation anglaise de Logic Cell; signifiant cellule
logique. C'est le nom choisi par Cypress,
-soit LE, abréviation anglaise de Logic Element, signifiant
élément logique. C'est l'appellation d'Altera.
-On utilisera indifféremment ces dénominations pour
désigner une macro-cellule mais on note que CLB est la plus
courante. A cet effet, on appelle souvent les FPGA, LCA,
abréviation anglaise de Logic Cell Array signifiant réseau de
cellules logiques. Cette dénomination des FPGA est déposée
comme marque par Xilinx.
EL KARI Abdeljalil 54
- Réseau d'interconnexion : il est l'équivalent du PIA des CPLD
mais plus général et plus complexe. Il doit permettre de connecter
n'importe quelle CLB à une autre ou à une cellule d'entrée-sortie. Pour
cela, un ensemble de lignes horizontales et verticales et un ensemble de
points de connexion sont utilisés.

Les interconnexions à usage


général sont composées des
segments verticaux et
horizontaux qui encadrent
chaque CLB et qui peuvent être
reliés entre eux par une
matrice de commutation.
Chaque segment peut être
connecté à des segments qui lui
sont adjacents ou
perpendiculaires en utilisant
des points de connexion.

EL KARI Abdeljalil 55
L'ensemble des points de connexion est appelé PIP,
abréviation anglaise de Programmable Interconnect
Points.

Chaque point de connexion peut être réalisé selon 2


techniques qui définissent deux classes de FPGA :
- les FPGA à anti-fusible,
- les FPGA à SRAM.

EL KARI Abdeljalil 56
3.2 FPGA à anti-fusible
Le point de connexion est de type ROM, c'est-à-dire que la
modification du point est irréversible. Pour comprendre le
mécanisme de connexion sans rentrer dans le détail des semi-
conducteurs, on considère que le point de connexion est le
point de rencontre de deux segments conducteurs ou lignes
conductrices à connecter. L'un des segments est placé au
dessus d'une couche isolante et l'autre au-dessous. Pour
établir le contact, on crée un trou et une métallisation entre
les deux segments. D'où le nom d'anti-fusible puisque dans
l'état initial le fusible (couche isolante) est présent et il n'y a
pas de contact. Pour établir ce contact, il faut détruire le
fusible ce qui est contraire au fonctionnement habituel d'un
fusible.
L'avantage des FPGA à anti-fusible est le nombre important
de points de connexion à cause de la surface réduite du
fusible.
L'inconvénient est la non réversibilité de la liaison.
EL KARI Abdeljalil 57
3.3 FPGA à SRAM

Le point de connexion est un ensemble de transistors de


commutation commandé.
On comprend aisément que cet ensemble occupe plus de place
que les fusibles du FPGA à anti-fusible. On compte néanmoins
un nombre important de points de connexion.
On peut considérer que le FPGA à SRAM est constitué de
deux couches superposées :
- une couche comportant toutes les ressources du FPGA
(blocs entrées-sorties, CLB, réseau de connexion).
- une couche comportant la commande de chaque point de
connexion. Le point de commande est une cellule de type
mémoire vive (SRAM ) et qui peut être assimilée à une
bascule D. D'où le qualificatif de FPGA à SRAM que l'on a
donné à ces circuits.

EL KARI Abdeljalil 58
L'ensemble des points de commande est un grand
registre à décalage qu'il suffit de charger pour
établir les connexions souhaitées et obtenir le
système programmé.
Le point de commande étant de type mémoire vive, la
souplesse d'utilisation des FPGA à SRAM est
importante. Contrairement aux CPLD à EPROM ou
EEPROM, l'effacement est beaucoup plus rapide. En
cours d'exploitation in situ, on peut changer
complètement la fonction d'un système en
rechargeant le registre à décalage. On peut faire
remarquer que certains CPLD, en l'occurrence la
famille ispLSI de LATTICE, offrent la possibilité de
recharger le système en cours d'exploitation.

EL KARI Abdeljalil 59
Le dernier problème à résoudre est celui du
chargement de la configuration à la mise sous
tension puisque chaque absence d'alimentation se
traduit par la perte du contenu du registre à
décalage. Le problème a été résolu par tous les
constructeurs de FPGA à SRAM. Tous ces
dispositifs sont dotés d'une logique d'auto-
chargement après une mise sous tension ou une
demande d'auto-chargement. Pour cela, ils sont
connectés à des mémoires mortes de type EEPROM
A la mise sous tension ou sur une demande d'auto-
chargement, le FPGA inhibe le fonctionnement des
ressources, il transfère le contenu de l'EEPROM
série dans le registre à décalage puis il valide le
fonctionnement des ressources

EL KARI Abdeljalil 60
L'utilisateur décrit les fonctions à réaliser soit par
des schémas, soit le plus souvent par un langage, par
exemple le langage VHDL abréviation anglaise de
Very High speed integrated circuits Hardware
Description Language qui signifie langage de
description du comportement des circuits intégrés
à très grande vitesse.

EL KARI Abdeljalil 61
4. CIRCUITS FPGA DE BASE
4.1 Circuit EPF8282 d'Altera
a) Caractéristiques
Ce circuit contient:
- 208 cellules logiques (LE)
- 78 broches d'entrée-sortie
- 282 bascules actives sur front
- des connexions commandées par des cellules de
type SRAM

EL KARI Abdeljalil 62
b) Présentation
Le circuit EPF8282 fait partie de la famille
FLEX8000 des FPGA d'Altera. FLEX est
l'abréviation anglaise de Flexible Logic Element
matriX signifiant matrice d'éléments logiques
flexibles. Pour rendre les circuits de la famille
FLEX adaptables à une large gamme d'applications,
cette famille combine pour les CPLD, les avantages
de grande vitesse de fonctionnement et de temps
de propagation prédictible, et pour les FPGA, le
nombre important de registres et la souplesse de
connexion.

EL KARI Abdeljalil 63
Ce circuit contient 208 cellules logiques (LE)
organisées en 26 LAB de 8 LE. Les LAB sont
organisés en deux lignes de 13 colonnes. Comme il a
été indiqué dans la présentation générale, il n'y a
pas de matrice ET et Ou.
Chaque LE comporte une partie combinatoire et une
partie séquentielle.
La partie combinatoire est constituée de 3 blocs :
un bloc pour la synthèse de toute fonction logique
de 4 variables, un bloc pour le calcul anticipé de la
retenue pour les opérations arithmétiques et un
bloc pour la mise en cascade rapide dans les
fonctions de décodage.

EL KARI Abdeljalil 64
La partie séquentielle est constituée d'un registre
qui peut être configuré en bascule D, JK ou RS.
Ce circuit dispose de 78 blocs d'entrée-sortie qui
sont placés aux extrémités (colonnes et lignes) du
réseau d'interconnexion.

EL KARI Abdeljalil 65
LAB et Cellule logique (LE)
Un LAB comprend 8 cellules logiques (LE), ses signaux de
commande et un réseau local de connexion.
La cellule logique est l'élément de base de ce circuit. Il a une
taille compacte et peut être divisé en deux parties.
La partie combinatoire : elle comporte 3 blocs.
- Un bloc pour la synthèse de toute fonction logique de 4
variables. Elle repose sur l'utilisation d'une mémoire (LUT)
pour réaliser toutes les fonctions logiques de quatre entrées.
- Un bloc pour le calcul anticipé de la retenue pour les
opérations arithmétiques. La retenue anticipée permet de
réaliser, à grande vitesse, des compteurs ou des opérations
arithmétiques.
- Un bloc pour la mise en cascade rapide dans les fonctions
de décodage.

EL KARI Abdeljalil 66
La partie séquentielle : elle est constituée d'un registre qui
peut être configuré en bascule D, JK ou RS. On dispose de
commandes du LAB pour l'horloge et pour mettre à zéro ou à
un de toutes les bascules du LAB.
Cette cellule logique est très proche de la macro-cellule déjà
évoquée sauf que les matrices ET et OU sont remplacées par
le LUT.

EL KARI Abdeljalil 67
Bloc d'entrée-sortie
Le bloc d'entrée-sortie comporte deux parties : la broche
d'entrée-sortie et la logique de commande du bloc. Les blocs
sont placés aux extrémités des lignes ou des colonnes.
Lorsque le bloc est configuré en entrée, il est connectables à
deux lignes ou à deux colonnes en fonction de son point de
connexion.
Lorsqu'il est configuré en sortie, un multiplexeur est utilisé
pour aiguiller une ligne ou une colonne vers la broche. Selon le
point de connexion, les deux structures de la logique de
commande diffèrent par la taille du multiplexeur d'aiguillage.

EL KARI Abdeljalil 68
Réseau d'interconnexion
Le réseau d'interconnexion est constitué de deux groupes de
lignes, treize groupes de colonnes et des multiplexeurs de
connexion entre lignes et colonnes. Chaque groupe de lignes
comporte 168 lignes et chaque groupe de colonnes compte 16
colonnes.
Les LAB sont organisés en une matrice de 2 groupes de
lignes et 13 groupes de colonnes. Chaque LAB dispose d'un
groupe local de connexion constitué de 32 colonnes.
Chaque colonne de LAB utilise un groupe de colonnes pour la
connexion des sorties des LE. Il n'y a que 16 colonnes par
groupe correspondant aux 16 sorties possibles des deux LAB
de la colonne. Si on compte en plus des sorties des LE, la
retenue anticipée et la donnée de mise en cascade, on
comprend que ce soit une ressource qui doit être utilisée
judicieusement car elle peut bloquer le processus de
placement routage. On note que dans un LAB, il existe un
trajet particulier pour la retenue et la donnée de mise en
cascade.
EL KARI Abdeljalil 69
EL KARI Abdeljalil 70
Chaque LAB est associé à un groupe de lignes et un groupe de
colonnes. Les entrées des LE proviennent du réseau local du
LAB, alimenté par 24 lignes des 168 du groupe correspondant
et les 8 sorties des LE. La sortie du LE est connectable
d'une part au groupe de lignes et d'autre part à deux
colonnes du groupe associés au LAB.
La connexion des sorties de LE sur les lignes du groupe
utilise un multiplexeur qui aiguille soit les 16 colonnes soit les
sorties 8 des LE d'un LAB sur les lignes.
Le principe de connexion des blocs d'entrée-sortie a été
exposé au paragraphe précédent.

EL KARI Abdeljalil 71

Vous aimerez peut-être aussi