Vous êtes sur la page 1sur 17

Chapitre 2 Technologies d’implémentation des systèmes

électroniques numériques
1.1 Introduction
Les circuits logiques sont mis en œuvre à l'aide de transistors et qu'il existe un certain nombre de
technologies différentes.
Voyons d'abord comment les variables logiques peuvent être physiquement représentées comme des
signaux dans les circuits électroniques. Notre discussion se limitera aux variables binaires, qui ne peuvent
prendre que les valeurs 0 et 1. Dans un circuit ces valeurs peuvent être représentées soit comme des
niveaux de tension ou de courant. Les deux alternatives sont utilisées dans différentes technologies. Nous
nous concentrerons sur la représentation la plus simple et la plus populaire, en utilisant des niveaux de
tension.
La manière la plus évidente de représenter deux valeurs logiques en tant que niveaux de tension est de
définir une tension de seuil; toute tension inférieure au seuil représente une valeur logique et les tensions
supérieures au seuil correspondent à l'autre valeur logique. C'est un choix arbitraire quant à la valeur
logique qui est associée aux niveaux de tension basse et haute. Habituellement, la logique 0 est
représentée par les niveaux de basse tension et la logique 1 par les hautes tensions, connue sous le nom de
système logique positif. Le choix opposé, dans lequel les niveaux de basse tension sont utilisés pour
représenter la logique 1 et les tensions plus élevées sont utilisées pour la logique 0 est connu comme un
système logique négatif. Dans cette partie du cours, nous utilisons uniquement le système de logique
positive. En utilisant le système de logique positive, les valeurs logiques 0 et 1 sont simplement appelées
«basses» et «hautes». Pour mettre en œuvre le concept de seuil de tension, une gamme de niveaux de
tension basse et haute est définie, comme le montre la figure suivante. La tension minimale, appelée V SS,
et la tension maximale, appelée V DD, qui peuvent exister dans le circuit. Nous supposerons que VSS est de
0 volt, correspondant à la masse électrique, notée Gnd.

Figure 2-1 – Représentation des valeurs logiques selon les niveaux de


tensions

Nous utiliserons principalement la valeur VDD = 5 V. Les tensions dans la plage Gnd à V 0, max
représentent la valeur logique 0. Le nom V 0, max signifie le niveau de tension maximum qu'un circuit
logique doit reconnaître comme faible. De même, la plage de V 1, min à VDD correspond à la valeur logique
1 et V1, min est le niveau de tension minimum qu'un circuit logique doit interpréter comme élevé. Les
niveaux exacts de V0, max et V1, min dépendent de la technologie particulière utilisée; un exemple typique
peut définir V0, max à 40% de VDD et V 1, min à 60% de VDD. La plage de tensions entre V 0, max et V1, min n'est
pas définie. Les signaux logiques ne prennent normalement pas des tensions dans cette plage, sauf lors de
la transition d'une valeur logique à l'autre.
1.2 Technologie d’implémentation à transistor
2.2.1 Les Switchs à transistors
Les circuits logiques sont construits avec des transistors. Pour comprendre comment les circuits logiques
sont construits, nous pouvons supposer qu'un transistor fonctionne comme un simple interrupteur. La
Figure 2.2a montre un interrupteur commandé par un signal logique, x. Lorsque x est faible, l'interrupteur
est ouvert et lorsque x est élevé, l'interrupteur est fermé. Le type de transistor le plus populaire pour la
mise en œuvre d'un commutateur simple est le transistor à effet de champ à semi-conducteur à oxyde
métallique (MOSFET). Il existe deux types différents de MOSFET, connus sous le nom de canal-n,
abrégés NMOS et canal-p, appelés PMOS.
La Figure 2.2b donne un symbole graphique pour un transistor NMOS. Il dispose de quatre bornes
électriques, appelées source, drain, grille et substrat. Dans les circuits logiques, la borne du substrat
(également appelée Body) est connectée à Gnd. Nous utiliserons le symbole graphique simplifié de la
Figure 2.2c, qui omet le nœud du substrat. Il n'y a aucune différence physique entre les bornes source et
drain. Ils se distinguent en pratique par les niveaux de tension appliqués au transistor; par convention, la
borne avec le niveau de tension le plus bas est réputée être la source.

Figure 2-2 – Transistor NMOS Comme Switch

Une explication détaillée du fonctionnement du transistor est présentée dans plusieurs documents.
Pour l'instant, il est suffisant de savoir qu'il est contrôlé par la tension VG à la borne de la grille. Si VG
est faible, alors il n'y a pas de connexion entre la source et le drain, et nous disons que le transistor est
bloqué. Si VG est élevé, le transistor est passant et agit comme un interrupteur fermé qui connecte les
bornes de source et de drain.
Les transistors PMOS ont le comportement opposé des transistors NMOS Figure 2.3

Figure 2-3 – Transistor PMOS Comme Switch

La Figure 2.4 résume l'utilisation typique des transistors NMOS et PMOS dans les circuits logiques.
Un transistor NMOS est activé lorsque sa borne de grille est élevée, tandis qu'un transistor PMOS est
activé lorsque sa grille est faible. Lorsque le transistor NMOS est activé, son drain est abaissé à Gnd, et
lorsque le transistor PMOS est activé, son drain est tiré à VDD. En raison du fonctionnement des
transistors, un transistor NMOS ne peut pas être utilisé pour tirer complètement sa borne de drain jusqu'à
VDD. De même, un transistor PMOS ne peut pas être utilisé pour tirer complètement sa borne de drain
vers Gnd.
Figure 2-4 – Utilisation typique des transistors NMOS et PMOS dans les circuits logiques

2.2.2 Portes logiques avec les transistors NMOS


Nous décrirons d'abord comment les circuits logiques peuvent être construits à l'aide de transistors NMOS
car ces circuits sont plus faciles à comprendre. De tels circuits sont appelés circuits NMOS. Ensuite, nous
montrerons comment les transistors NMOS et PMOS sont combinés dans la technologie actuellement
populaire connue sous le nom de MOS complémentaire, ou CMOS.
Dans le circuit de la Figure 2.5a, lorsque Vx = 0 V, le transistor NMOS est bloqué. Aucun courant ne
circule à travers la résistance R, et Vf = 5 V. En revanche, lorsque Vx = 5 V, le transistor est passant et
tire Vf à un niveau de tension faible. Le niveau de tension exact de Vf dans ce cas dépend de la quantité
de courant qui circule à travers la résistance et le transistor.
Si Vf est considéré comme une fonction de Vx, alors le circuit est une implémentation NMOS d'une porte
NOT. En termes logiques, le circuit implémente la fonction f =x́ . La Figure 2.5b donne un schéma de
circuit simplifié dans lequel la connexion à la borne positive sur l'alimentation est indiquée par une flèche
étiquetée VDD et la connexion à la borne d'alimentation négative est indiquée par le symbole Gnd.
Le but de la résistance dans le circuit de grille NON est de limiter la quantité de courant qui circule
lorsque Vx = 5 V. Plutôt que d'utiliser une résistance à cet effet, un transistor est normalement utilisé.
Dans les schémas suivants, une boîte en pointillés est dessinée autour de la résistance R pour rappeler
qu'elle est mise en œuvre à l'aide d'un transistor.

Figure 2-5 – Porte logique NON ou inverseur ‘’NOT’’ avec la technologie NMOS

La Figure 2.5c présente les symboles graphiques d'une porte NON. Le symbole de gauche montre les
bornes d'entrée, de sortie, d'alimentation et de masse, et le symbole de droite est simplifié pour n'afficher
que les bornes d'entrée et de sortie. En pratique, seul le symbole simplifié est utilisé.

En utilisant des transistors NMOS, nous pouvons implémenter la connexion série comme illustré sur la
Figure 2.6a. Si Vx1 = Vx2 = 5V, les deux transistors seront passants et Vf sera proche de 0 V. Mais si V x1
ou Vx2 est égal à 0, aucun courant ne traversera les transistors connectés en série et V f sera tiré jusqu'à 5
V. La table de vérité résultante pour f, fourni en termes de valeurs logiques, est donnée dans la Figure
2.6b.
La fonction réalisée est le complément de la fonction ET ‘’AND’’, appelée fonction Non-ET ‘’NAND’’,
pour NOT-AND. Le circuit réalise une porte NAND. Ses symboles graphiques sont représentés dans la
Figure 2.6c.

Figure 2-6 – Porte logique Non-ET ‘’NAND’’ avec la technologie NMOS

La connexion parallèle des transistors NMOS est donnée à la Figure 2.7a. Ici, si V x1 = 5V or Vx2 = 5 V,
alors Vf sera proche de 0 V. Ce n'est que si V x1 et Vx2 sont 0 que Vf sera tiré jusqu'à 5 V. Une table de
vérité correspondante est donnée dans la Figure 2.7b. Il montre que le circuit réalise le complément de la
fonction OU ‘’OR’’, appelée fonction NOR, pour NON-OU. Les symboles graphiques de la porte NOR
apparaissent sur la Figure 2.7c.

Figure 2-7 – Porte logique Non-OU ‘’NOR’’ avec la technologie NMOS

En plus des portes NAND et NOR qui viennent d'être décrites, nous pouvons naturellement être intéressé
par les constructions des portes ET ‘’AND et OU ‘’OR’’. La Figure 2.8 indique comment une porte ET
‘’AND’’ est intégrée dans la technologie NMOS en suivant une porte NAND avec un une porte NOT r.
Le nœud A réalise la NAND des entrées x1 et x2, et f représente la fonction AND. De la même manière,
une porte OU est réalisée en tant que porte NOR suivie d'une porte NOT, comme illustré à la Figure 2.9.
Figure 2-8 Porte OR technologie NMOS Figure 2-9 Porte AND technologie NMOS

2.2.2 Portes logiques avec la technologie CMOS


Jusqu'à présent, nous avons examiné comment implémenter des portes logiques à l'aide de transistors
NMOS. Pour chacun des circuits présentés, il est possible de dériver un circuit équivalent utilisant des
transistors PMOS. Cependant, il est plus intéressant de considérer comment les transistors NMOS et
PMOS peuvent être utilisés ensemble. L'approche la plus populaire est connue sous le nom de technologie
CMOS. La technologie CMOS offre certains avantages pratiques intéressants par rapport à la technologie
NMOS.
Dans les circuits NMOS, les fonctions logiques sont réalisées par des agencements de transistors NMOS,
combinés avec un dispositif de rappel qui agit comme une résistance. Nous ferons référence à la partie du
circuit qui implique des transistors NMOS comme le réseau pull-down (PDN). La structure des circuits
des figures 1.5 à1.9 peut ensuite être caractérisée par le schéma fonctionnel de la Figure 2.10. Le concept
des circuits CMOS est basé sur le remplacement du dispositif de pull-up par un réseau de pull-up (PUN)
construit à l'aide de transistors PMOS, de sorte que les fonctions réalisées par les réseaux PDN et PUN
sont complémentaires. Ensuite, un circuit logique, tel qu'une porte logique typique, est implémenté
comme indiqué sur la Figure 2.11.
Pour toute évaluation donnée des signaux d'entrée, le PDN tire V f vers le bas pour Gnd ou le PUN tire V f
vers le haut pour VDD. Le PDN et le PUN ont un nombre égal de transistors, qui sont disposés de telle
sorte que les deux réseaux sont doubles l'un de l'autre. Partout où le PDN a des transistors NMOS en
série, le PUN a des transistors PMOS en parallèle, et vice versa.
L'exemple le plus simple d'un circuit CMOS, une porte NON, est illustré à la Figure 2.12. Lorsque V x = 0
V, le transistor T2 est bloqué et le transistor T1 est activé. Cela fait Vf = 5 V, et comme T2 est bloqué,
aucun courant ne circule à travers les transistors. Lorsque V x=5 V , T2 est ouvert et T1 est fermé. Ainsi
V f =0 V , et aucun flux de courant car T 1 est éteint. Un point clé est qu'aucun courant ne circule dans un
inverseur CMOS lorsque l'entrée est faible ou élevée. Cela est vrai pour tous les circuits CMOS; pas de
flux de courant et donc aucune puissance n'est dissipée dans des conditions de régime permanent. Cette
propriété a permis au CMOS de devenir la technologie la plus populaire utilisée aujourd'hui pour la
construction de circuits logiques.
Figure 2-10 – Structure d’un circuit NMOS Figure 2-11 – Structure d’un circuit CMOS
La Figure 2.13 fournit un schéma de circuit d'une porte NAND CMOS. Il est similaire au circuit NMOS
présenté sur la Figure 2.6, sauf que le dispositif de rappel a été remplacé par le PUN avec deux transistors
PMOS connectés en parallèle. La table de vérité de la figure spécifie l'état de chacun des quatre
transistors pour chaque évaluation logique des entrées x1 et x2. On peut vérifier que le circuit met
correctement en œuvre la fonction NAND. Dans des conditions statiques, il n'existe aucun chemin pour le
flux de courant de VDD à Gnd.
Le circuit de la Figure 2.13 peut être dérivé de l'expression logique qui définit l'opération NAND,
f = x 1´x 2 . Cette expression spécifie les conditions pour lesquelles f = 1; il définit donc le PUN. Étant
donné que le PUN se compose de transistors PMOS, qui sont activés lorsque leurs entrées de contrôle
(grille) sont définies sur 0, une variable d'entrée xi active un transistor si x i=0 . D'après la loi de
DeMorgan, nous avons : f = x 1´x 2= x´1 + x́ 2.
Ainsi f = 1 lorsque l'entrée x1 ou x2 a la valeur 0, ce qui signifie que le PUN doit avoir deux transistors
PMOS connectés en parallèle. Le PDN doit implémenter le complément de f, qui est : f́ =x 1 . x 2.
Puisque f = 1 lorsque x1 et x2 sont tous les deux égaux à 1, il s'ensuit que le PDN doit avoir deux
transistors NMOS connectés en série. Le circuit d'une porte CMOS NOR est dérivé de l'expression
logique qui dé fi nit l'opération NOR f = x 1+´ x2 = x́1 . x´2

Figure 2-12 –Porte NOT en technologie CMOS Figure 2-13 Porte NAND en technologie CMOS

Puisque f = 1 uniquement si x 1 et x2 ont tous les deux la valeur 0, alors le PUN se compose de deux
transistors PMOS connectés en série. Le PDN, qui réalise f́ =x 1+ x 2, a deux transistors NMOS en
parallèle, conduisant au circuit représenté sur la Figure 2.14.
Une porte CMOS ET est construite en connectant une porte NAND à un onduleur, comme illustré à la
Figure 2.15. De même, une porte OU est construite avec une porte NOR suivie d'une porte NOT.

Figure 2-14 Porte NOR en technologie CMOS Figure 2-15 Porte AND en technologie CMOS

1.3 Technologie d’intégration ‘’Circuits SSI, ²MSI et LSI VLSI VHLSI (Small,
Medium et Large very large very high ScaleIntegration
Les premiers circuits intégrés développés au début des années 60 contenaient moins de 100 transistors sur
une puce et sont appelés circuits intégrés à petite échelle (SSI). Les circuits intégrés à moyenne échelle
(MSI), développés à la fin des années 1960, contiennent jusqu'à plusieurs centaines de transistors sur une
puce. Vers le milieu des années 1970, à grande échelle intégrée (LSI) des circuits contenant plusieurs
milliers de transistors ont été développés. Des circuits intégrés à très grande échelle (VLSI) contenant
plus de 100 000 transistors avaient été développés au début des années 80. Cette tendance s'est poursuivie
jusqu'à nos jours avec 1000000 de transistors sur puce à la fin des années 1980, 10000000 de transistors
sur puce au milieu des années 1990, plus de 100000000 de transistors en 2004 et jusqu'à 10000000000 de
transistors sur puce aujourd'hui. Cette croissance exponentielle de la quantité de logique numérique
pouvant être regroupée dans une seule puce a engendré de sérieux problèmes pour le concepteur
numérique. Comment un ingénieur, voire une équipe d'ingénieurs, peut-il concevoir un circuit logique
numérique qui finira par contenir des millions de transistors?
Une famille de circuits SSI/MSI très populaire jusqu’au début des années 1990 était la série 7400.
Normalisés dans l’industrie, ils étaient manufacturés par plusieurs fournisseurs. Les deux derniers chiffres
reflétaient la fonction logique réalisée et la position des signaux sur les pattes de la puce. Quelques
exemples sont indiqués au Tableau 2-1, et une puce 7400 est illustrée à la Figure 2-26 avec son schéma
interne.

numéro fonction

7400 4 × NON-ET
7402 4 × NON-OU
7404 8 × NON
7411 3 × ET (3 entrées)
7473 2 × bascule JK avec reset
Tableau 2-1 – exemples de la famille 7400
Figure 2-26 – puce 7400

1.4 Mémoires mortes programmables : PROM, EPROM, EEPROM


Les premiers circuits programmables par l’utilisateur étaient des mémoires mortes programmables
(Programmable Read Only Memory – PROM).
Une mémoire morte (ROM) se compose d'un réseau de dispositifs semi-conducteurs qui sont
interconnectés pour stocker un tableau de données binaires. Une fois que les données binaires sont
stockées dans la ROM, elles peuvent être lues à tout moment, mais les données qui sont stockées ne
peuvent pas être modifiées dans des conditions de fonctionnement normales. La Figure 2-17b montre le
block diagramme d’une ROM qui a trois lignes d'entrée et quatre lignes de sortie avec une table de vérité
typique qui relie les entrées et sorties ROM. Pour chaque combinaison de valeurs d'entrée sur les trois
lignes d'entrée, le modèle correspondant de 0 et de 1 apparaît sur les lignes de sortie de la ROM. Par
exemple, si la combinaison ABC = 010 est appliquée aux lignes d'entrée, le motif F 0F1F2F3 = 0111
apparaît sur les lignes de sortie. Chacun des modèles de sortie stockés dans la ROM est appelé un mot.
Parce que la ROM a trois lignes d'entrée, nous avons 2 3 x huit combinaisons différentes de valeurs
d'entrée. Chaque combinaison d'entrée sert d'adresse qui peut sélectionner l'un des huit mots stockés dans
la mémoire. Parce qu'il y a quatre lignes de sortie, chaque mot est long de quatre bits et la taille de cette
ROM est de 8 mots x 4 bits.
Une ROM qui a n lignes d'entrée et m lignes de sortie (Figure 2-17a) contient un tableau de 2 n mots, et
chaque mot a une longueur de m bits. Les lignes d'entrée servent d'adresse pour sélectionner l'un des 2 n
mots. Lorsqu'une combinaison d'entrée est appliquée à la ROM, la donnée de 0 et de 1 qui est stockée
dans le mot correspondant dans la mémoire apparaît sur les lignes de sortie. Pour l'exemple de la Figure
2-17a, si 00 ... 11 est appliqué à l'entrée (lignes d'adresse) de la ROM, le mot 110. . ..010 sera sélectionné
et transféré vers les lignes de sortie. Une ROM de 2 n x m peut réaliser m fonctions de n variables car elle
peut stocker une table de vérité avec 2 n lignes et m colonnes. Les tailles typiques des ROMs disponibles
dans le commerce vont de 32 mots x 4 bits à 512 000 mots x 8 bits ou plus.

Il est à signalé que La ROM est une mémoire non volatile (ce qui signifie qu'elle conserve des
informations en cas de panne de courant) qui fournit un accès en lecture seule aux données stockées. Une
représentation sous forme de diagramme d'une ROM est illustrée à la Figure 2.18.
Figure 2.17 Block Diagramme d’une ROM

Une mémoire ROM consiste en :


 un décodeur avec n signaux d’entrée;
 un réseau OU programmé (ou programmable une fois) avec 2 n mots
de m bits chacun ;
 m signaux de sortie.

Figure 2.18 Structure interne d’une PROM


Le réseau programmé comporte 2n lignes de m colonnes chacune. À l’intersection de chaque ligne avec
une colonne on trouve un élément électronique à mémoire. Une fois programmée, la ROM de 2 n mots de
m bits peut générer m fonctions de n variables simultanément.
La 0 illustre une mémoire ROM de 16 octets. L’intérêt d’utiliser une mémoire ROM pour implémenter
des fonctions logiques est que la tâche est facile parce qu’il n’est pas nécessaire de tenter de réduire les
équations. L’inconvénient est que la réalisation finale n’est pas nécessairement la plus efficace. Par
exemple, la illustre comment on pourrait implémenter les équations logiques suivantes, qui sont données
en somme de mintermes et en version réduite :

F0 =∑ m(0,1,4,6 )= A B+ A C
F1 =∑ m(2,3,4,6,7 )=B+ A C
F2 =∑ m(0,1,2,6 )= A B+BC
F3 =∑ m(2,3,5,6,7 )= AC+B
La montre un décodeur avec trois entrées et huit sorties. Chaque minterme des entrées A, B et C est
disponible sur une ligne horizontale. Quatre lignes verticales peuvent être reliées à chacune des lignes
horizontales des mintermes (line word). Il y a quatre lignes parce que c’est une mémoire de quatre bits
seulement. Les quatre lignes verticales sont mises à zéro par défaut par l’entremise de résistances reliées à
la masse (pull-down resistors). Si une ligne verticale n’est pas reliée à aucune ligne horizontale, sa sortie
est donc zéro.
Pour relier une ligne verticale à une ligne horizontale, il faut un dispositif de programmation, montré à la
par une flèche dans une boîte. Le dispositif doit être directionnel, comme montré dans la figure, pour
empêcher une ligne horizontale d’en mener une autre par l’entremise de leurs connexions respectives. On
peut donc utiliser des diodes, ou, en pratique, des transistors. Effectivement, la combinaison des lignes
horizontales et verticales et des dispositifs de programmation implémente des portes OU tel que montré à
la 0.

Figure 2.20 – mémoire ROM 16 × 8 bits

Figure 2.21 – programmer une ROM 8 × 4 bits (source : Roth, 5e éd., fig. 9-20, © Brooks/Cole 2004)
On distingue trois sortes de mémoire ROM, différenciées par leurs technologies de programmation.
 PROM : Programmable Read Only Memory, programmable
uneseulefois;
 EPROM : Erasable Programmable Read Only Memory,
programmable à plusieurs reprises, et effaçable à l’aide de rayons ultraviolets (facile à reconnaître à
sa petite fenêtre); et
 EEPROM : ElectricallyErasable Programmable Read Only Memory,
programmable à plusieurs reprises, et effaçable à l’aide d’impulsions électriques.

1.5 Circuits Logiques programmables Simples (Simple Programmable-logic-


device : SPLD)
La fonction fournie par chacune des composants de la série 7400 est fixe et ne peut pas être adaptée pour
convenir à une situation de conception particulière. Ce fait, couplé à la limitation que chaque puce ne
contient que quelques portes logiques, rend ces puces inefficaces pour construire de grands circuits
logiques. Il est possible de fabriquer des puces qui contiennent des quantités relativement importantes de
circuits logiques avec une structure qui n'est pas fixe. Ces puces ont été introduites pour la première fois
dans les années 1970 et sont appelées dispositifs logiques programmables (PLD). Un PLD est une puce à
usage général pour la mise en œuvre de circuits logiques. Il contient une collection d'éléments de circuits
logiques qui peuvent être personnalisés de différentes manières. Un PLD peut être vu comme une «boîte
noire» contenant des portes logiques et des commutateurs programmables, comme illustré à la Figure
2.22. Les commutateurs programmables permettent aux portes logiques à l'intérieur du PLD d'être
connectées ensemble pour mettre en œuvre le circuit logique nécessaire.

Figure 2.22 –structure d’un PLDà gauche avec un exemple d’un PLD- PLA à 4 entrées, 6 termes et 3 sorties

2.5.1 Réseaux Programmable-Logique-Array : PLA


Plusieurs types de PLD sont disponibles dans le commerce. Le premier développé a été le réseau logique
programmable (PLA). La structure générale d'une PLA est illustrée à la Figure 2.23. Basé sur l'idée que
les fonctions logiques peuvent être réalisées sous forme de somme de produits, un PLA comprend une
collection de portes ET qui alimente un ensemble de portes OU. Comme le montre la figure, les entrées
du PLA x1, ..., xn passent par un ensemble de tampons (qui fournissent à la fois la valeur réelle et le
complément de chaque entrée) dans un bloc de circuits appelé Réseau ou plan AND ou encore tableau
AND. Le réseau AND produit un ensemble de termes de produit P 1, ..., Pk. Chacun de ces termes peut être
configuré pour implémenter n'importe quelle fonction AND de x 1, ..., xn. Les termes du produit servent
d'entrées au réseau ou Plan OR, qui produit les sorties f 1, ..., fm. Chaque sortie peut être configurée pour
réaliser n'importe quelle somme de P 1, ..., Pk et donc toute fonction de somme de produits des entrées
PLA.

Figure 2.23 –structure


Donc un PLA (Programmable LogicArray) est similaire à une ROM, mais il ne réalise pas tous les
produits de termes comme une ROM. Un PLA à n entrées et m sorties peut réaliser m fonctions de n
variables, en autant que chacune requiert un nombre limité de produits des variables en entrée. (En
pratique, c’est presque toujours le cas). Un PLA est composé de deux réseaux programmables, ET et OU,
tel que montré à la Figure 3 -3. Le réseau ET programmable est effectivement un décodeur
programmable incomplet.
La Figure 3 -4 illustre comment on peut utiliser un PLA à trois entrées, cinq termes et quatre sorties pour
implémenter les mêmes équations logiques qu’avec la ROM de la . Le nombre de termes du PLA
correspond au nombre de lignes horizontales. Pour trois entrées, une ROM aurait huit lignes horizontales.
Chaque ligne horizontale a une valeur par défaut de ‘1’ logique, puisqu’elle est reliée à l’alimentation par
une résistance. Les lignes de sorties (verticales) ont des valeurs par défaut de ‘0’ comme pour la ROM.
Des éléments de programmation peuvent être activés entre les lignes horizontales et verticales.
Pour le réseau programmable ET, il y a deux lignes verticales par entrées, pour les valeurs naturelles et
complémentées des entrées. Pour forcer une ligne horizontale à zéro, on place un élément de
programmation entre cette ligne et l’une des deux lignes verticales d’une entrée. Par exemple, le premier
terme (la ligne horizontale du haut) correspond à la fonction logique A’B’. Si A’ et B’ sont vrais, alors les
lignes verticales correspondantes auront une valeur de ‘1’, et le premier terme aussi. Dans tous les autres
cas, le premier terme aura une valeur de ‘0’.
Figure 2.24
Figure 3-3 – PLA à 4 entrées, 6 termes et 3 sorties

Figure 3-4 – programmer un PLA à 3 entrées, 5 termes et 4 sorties


(source : Roth, 5e éd., fig. 9-25, © Brooks/Cole 2004)

2.5.2 Réseaux programmable-ArrayLogique : PAL


Un PAL (Programmable ArrayLogic) est un cas particulier de PLA. Dans un PAL, seulement le réseau
ET est programmable, alors que le réseau OU est fixe. Par conséquent, aucun produit de termes ne peut
être partagé par plus d’une fonction. Chaque fonction peut donc être optimisée séparément. La Figure 3
-5 illustre une partie d’un PAL. Les entrées sont à gauche de la figure et il y a une sortie unique à droite.
La sortie est menée par une porte OU dont les deux entrées proviennent de portes ET. Les entrées de ces
portes ET ont des valeurs par défaut de ‘1’ grâce aux résistances reliées à l’alimentation. Par défaut, les
entrées de portes ET sont reliées aux versions naturelles et complémentées des entrées. Pour programmer
le dispositif, il faut briser des liens montrés sur la figure par des symboles ‘S’ couchés à l’horizontale,
représentant des fusibles.

Figure 3-5 – partie d’un PAL


Un PAL 16L8 est montré à la Figure 3 -6. Dans la désignation « 16L8 », le « 16 » donne le nombre
maximal d’entrées, le « L » indique que les sorties sont en logique inversée, et le « 8 » donne le nombre
maximal de sorties.

2.5.3 Réseaux GenericArrayLogic : GAL


Un GAL (GenericArrayLogic), de la compagnie LatticeSemiconductors, est un dispositif programmable
et configurable pouvant émuler différents types de PAL. Les pattes de sorties peuvent inclure un registre
et un signal de rétroaction vers le réseau programmable OU, et peuvent être configurées comme des ports
d’entrée ou d’entrée et sortie. Les circuits GAL remplacent aujourd’hui effectivement les composantes
SSI-LSI.
Les ROM, PAL, PLA et GAL sont composés de deux réseaux : un réseau ET qui génère des mintermes,
et un réseau OU qui permet de combiner plusieurs mintermes. La possibilité de programmer chacun de
ces réseaux détermine de quel type de dispositif il s’agit. Le tableau suivant résume la situation.
type de dispositif réseau ET réseau OU
fixe
ROM programmable
(tous les mintermes sont générés par un décodeur)

programmable
PLA programmable
(un nombre limité de mintermes peuvent être générés)

fixe
programmable (un nombre limité de
PAL
(un nombre limité de mintermes peuvent être générés) mintermes peuvent être
combinés)

GAL comme PAL comme PAL


Tableau 3-2 – distinctions entre ROM, PAL, PLA et GAL
Les PALs, PLAs et GALs incorporent aussi des registres dans des blocs configurables associés aux pattes
de sortie. Il est donc possible d’implémenter un circuit séquentiel complet sur un seul dispositif.

Figure 3-6 – PAL 16L8

1.6 Circuits logiques programmables complexes (CPLD)


Les ROMs, PLAs, PALs et GALs sont parfois appelés des circuits logique programmable simples
(Simple Programmable LogicDevices – SPLD). Les PLA et PAL sont utiles pour mettre en œuvre une
grande variété de petits circuits numériques. Chaque composant peut être utilisé pour mettre en œuvre des
circuits qui ne nécessitent pas plus que le nombre d'entrées, les termes du produit et les sorties qui sont
fournis dans la puce particulière. Ces puces sont limitées à des tailles assez modestes, prenant
généralement en charge un nombre combiné d'entrées et de sorties ne dépassant pas 32. Pour la mise en
œuvre de circuits qui nécessitent plus d'entrées et de sorties, nous avons le choix entre d’utiliser plusieurs
PLA ou PAL ou bien un type de puce plus sophistiqué, appelé circuit logique programmable complexe
(CPLD). Un CPLD comprend plusieurs blocs de circuits sur une seule puce, avec des ressources de
câblage interne pour connecter les blocs de circuits. Chaque bloc de circuits est similaire à un PLA ou un
PAL; nous désignerons les blocs de circuits comme des blocs de type PAL. Un exemple de CPLD est
donné à la figure 3.32. Il comprend quatre blocs de type PAL qui sont connectés à un ensemble de fils
d'interconnexion. Chaque bloc de type PAL est également connecté à un bloc d'E/S étiqueté en sous-
circuit, qui est attaché à un certain nombre de broches d'entrée et de sortie de la puce.

Figure 3-7 – architecture d’un CPLD de Xilinx XCR3064XL


(source : Roth, 5e éd., fig. 9-30, © Brooks/Cole 2004)
Le système comprend quatre blocs fonctionnels qui sont des PALs à 36 entrées et 16 sorties. Les sorties
proviennent de macro-cellules contenant un élément programmable à mémoire. Le réseau
d’interconnexions permet d’établir des connexions entre les blocs d’entrées-sorties, les blocs fonctionnels
et les macro-cellules.
La Figure 3 -8 montre des détails du CPLD de la Figure 3 -7, c.à.d. comment un signal généré dans le
PLA est acheminé vers une broche d'E/S via une macro-cellule. N'importe laquelle des 36 sorties de l'IA
(ou leurs compléments) peut être connectée à n'importe quelle entrée des 48 portes ET. Chaque porte OU
peut accepter jusqu'à 48 entrées de termes de produit de la matrice ET. La logique macro-cellulaire dans
ce diagramme est une version simplifiée de la logique réelle. Le premier MUX (1) peut être programmé
pour sélectionner la sortie de la porte OU ou son complément.. Le MUX (2) à la sortie de la macro-cellule
peut être programmé pour sélectionner la sortie combinatoire (G) ou la sortie de la bascule (Q). Cette
sortie va à la matrice d'interconnexion et à la cellule de sortie. La cellule de sortie comprend un tampon à
trois états (3) pour piloter la broche d'E/S. L'entrée d'activation du tampon peut être programmée à partir
de plusieurs sources. Lorsque la broche d'E/S est utilisée comme entrée, le tampon doit être désactivé.
Figure 3-8 – Bloc fonction CPLD et Macrocell (une version simplifiée de XCR3064XL
(source : Roth, 5e éd., fig. 9-31, © Brooks/Cole 2004)

On voit les 36 entrées en versions naturelle et complémentée qui alimentent 48 portes ET à connexions
programmables. Les 48 portes ET alimentent 16 portes OU à connexions programmables. La macro-
cellule permet d’activer ou non la bascule avec un signal naturel ou complémenté. La cellule de sortie
contient un tampon à trois états.

Vous aimerez peut-être aussi