Professional Documents
Culture Documents
)21&7,216(7&,5&8,76/2*,48(6
&ODXGH9,//$5'
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
1/ Introduction ...........................................................................................................1
1/ Introduction ........................................................................................................ 11
Tlcom INT I
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
1/ Introduction ........................................................................................................ 39
1/ Introduction ........................................................................................................ 71
Tlcom INT II
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
1/ Introduction
En logique, il y a une question qu'un nombre fini de rponse possibles qui se
rduit souvent deux seulement (oui ou non, vrai ou faux). Dans ce cas, on parle de
logique binaire. Pour dcrire mathmatiquement le comportement de systmes
binaires, on utilise un formalisme mathmatique introduit par Boole au milieu du 19e
sicle.
2/ Algbre de Boole
Dans l'algbre de Boole, une variable A ne peut prendre que deux valeurs que l'on
dsigne par 0 et 1. On dfinit alors :
A = 0 si A = 1
a) Le complment : A de A qui vaut :
A = 1 si A = 0
C'
est l'
opration OU que nous noterons par le signe + :
A + B = 1 si A = 1 OU B =1
Tlcom INT 1
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
En ce qui concerne la fonction logique OU, il faut donc bien prendre garde au fait que
le signe + n'
a pas ici la signification habituelle et qu'
videmment en algbre de Boole :
1+1=1!
B=1 B=1
A=1 A=1
a) Involution : A = A
b) Idempotence : A + A = A
A.A =A
c) Complmentarit : A + A = 1
A. A =0
d) Elments neutres : A + 0 = 0 + A = A
A.1 =1.A =A
e) Commutativit : A + B = B + A
A.B =B.A
f) Associativit :(A+B)+C=A+(B+C)=A+B+C
(A.B).C=A.(B.C)=A.B.C
addition : A . ( B + C ) = A . B + A . C
g) Distributivit par rapport l'
Tlcom INT 2
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
h) Thormes d'
absorption : A + A . B = A
A.(A+B)=A
A.B+A. B =A
A+ A .B=A+B
i) Thormes de De Morgan : A + B = A B
A B = A + B
Le complment d'
une somme est gal au produit des complments des termes.
Le complment d'
un produit est gal la somme des complments des termes.
Tlcom INT 3
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Par exemple :
) fonction ET :
A B A.B
0 0 0
0 1 0
1 0 0
1 1 1
) fonction OU-Exclusif :
A B A B
0 0 0
0 1 1
1 0 1
1 1 0
Exemples :
A\B 0 1 ici A = 0 et B = 1
0
1
A\B 0 1
0 0 1
1 1 0
A = 0 et B = 1
A B = 1 si
A = 1 et B = 0
Tlcom INT 4
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
A\BC 00 01 11 10
0
1
La fonction : S = A B + A C
A.B \ C.D 00 01 11 10
00
01
11
10
A.B \ C.D 00 01 11 10
00 0 0 0 0
01 0 1 0 0
11 0 0 1 1
10 0 0 0 0
Tlcom INT 5
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
DE 00 01 11 10
BC
00
01
11
10
0
A
1
DE DE
BC 00 01 11 10 BC 00 01 11 10
00 00
01 01
11 11
10 10
A=0 A=1
cases adjacentes
e) 6 variables et plus
Avec 6 variables, il faut faire appel un cube ou 4 tableaux carrs. Au-del de 6
variables aucune reprsentation n' est possible et il faudra faire appel d'
autres
procds.
Une fonction boolenne de p variables est mise sous la forme d' une somme
canonique si elle est mise sous la forme d'une somme de termes dont chacun est un
produit des p variables ou de leur complment.
Tlcom INT 6
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
b) Produit canonique
Dans le cas de 5 variables au plus, une mise en forme sous tableau de Karnaugh
facilite grandement la recherche de produits adjacents. En effet, s'ils font partie d'
une
somme canonique (c' est le cas s'
ils sont directement issus d'
une table de vrit), deux
termes produits adjacents correspondent dans un tableau de Karnaugh deux 1
placs dans des cases adjacentes. Regrouper ces deux termes afin d' liminer une
variable revient former ce que l' on appelle une boucle d'
ordre deux.
a) Boucle dordre 2
Il faut remarquer que deux cases doivent tre considres comme adjacentes si
l'
on passe de l'une l'autre en ne modifiant qu'une seule variable ce qui est le cas
lorsque deux cases sont places rellement cte cte mais aussi places aux deux
extrmits d'une ligne ou d'
une colonne.
Tlcom INT 7
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
cases adjacentes
cases adjacentes
cases adjacentes
o : S = B C D + B C D + B C D
d'
b) Boucles imbriques
Tlcom INT 8
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
CD
AB 00 01 11 10
1 2 3 4
00
5 6 7 8
01 1
9 10 11 12
11 1 1
13 14 15 16
10
En effet : S = A B C D + A B C D + A B C D
= A B CD + A B CD + A B CD + A B CD
(10) - (11) (7) - (11)
S = A B D + B C D = B D (A + C)
c) Boucles dordre 4
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 1 00
01 1 01
11 1 11 1 1 1 1
10 1 10
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 00 1 1
01 1 1 01
11 1 1 11
10 10 1 1
Tlcom INT 9
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
CD
AB 00 01 11 10
00 1 1
01
11
10 1 1 1
d) Boucle d'
ordre 8
Si deux boucles dordre 4 sont adjacentes, elles peuvent former une boucle dordre 8
pour laquelle 3 variables disparaissent :
CD CD
AB 00 01 11 10 AB 00 01 11 10
00 1 1 00 1 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 1 10 1 1
Tlcom INT 10
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
1/ Introduction
Dans un systme binaire, la variable peut prendre deux valeurs distinctes. On les
dsigne par les chiffres 0 et 1. En lectronique, ces deux valeurs correspondent deux
tats : bloqu et satur; ou deux niveaux : haut (high, H) et bas (low, L).
Ces tats ou niveaux sont gnralement affects aux valeurs lectriques (tensions ou
courants) de l'lment interrupteur.
La correspondance entre le signal physique et la variable logique peut tre tablie de
deux manires (figure II-1).
V (tension) V (tension)
1 - - - V(1)
0 - - - V(0)
0 - - - V(0)
1 - - - V(1)
t t
(temps) (temps)
logique positive logique ngative
Chaque chiffre binaire ou bit (binary digit) est porteur d'une information. Les mots
binaires sont des groupes bits ayant une signification collective. Un groupe de 8 bits
est appel octet.
Chaque oprateur est prsent par un symbole et sa fonction est dfinie par une
table de vrit.
Tlcom INT 11
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
) - symbole :
A S=A A 1 S=A
(symbole courant) (norme IEEE / ANSI)
) - table de vrit :
A S=A
0 0
1 1
) - symbole :
A S=A A 1 S=A
) - symbole :
A A
S=A.B & S=A.B
B B
) - table de vrit :
A B S = A B
0 0 0
0 1 0
1 0 0
1 1 1
) - symbole :
A A
S=A.B & S=A.B
B B
Tlcom INT 12
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
) - table de vrit : A B S = A B
0 0 1
0 1 1
1 0 1
1 1 0
) - symbole :
A A
S=A+B 1 S=A+B
B B
) - table de vrit : A B S= A +B
0 0 0
0 1 1
1 0 1
1 1 1
) - symbole :
A A
S=A+B 1 S=A+B
B B
) - table de vrit :
A B S=A+B
0 0 1
0 1 0
1 0 0
1 1 0
) - symbole :
A A
S=A B =1 S=A B
B B
) - table de vrit :
A B S= AB
0 0 0
0 1 1
1 0 1
1 1 0
S = AB + AB
Tlcom INT 13
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
) - symbole :
A A
S=A B =1 S=A B
B B
) - table de vrit : A B S= A B
0 0 1
0 1 0
1 0 0
1 1 1
S = A.B + A . B
Ve Vs
Vcc Vcc Plage du 1
Plage du 1 VOHmin en sortie
V en entre
IHmin
V V
ILmax OLmax
Plage du 0 Plage du 0
en entre en sortie
0 t 0 t
Tlcom INT 14
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Vs1 Vs2
(1) (2)
V ILmax(2) V ILmax(2)
V V
OLmax(1) OLmax(1)
0 t 0 t
Vs2 sans bruit Vs2 avec bruit
Vcc Vcc
VOHmin(2) VOHmin(2)
V V
OLmax(2) OLmax(2)
0 t 0 t
L'amplitude maximale de bruit qui peut tre reue par le signal d'
entre sans que la
sortie ragisse dfinit se qu' immunit statique au bruit (figure II-4). Elle
on appelle l'
se calcule dans le pire des cas avec un signal de sortie au niveau haut minimal
(VOHmin) et au niveau bas maximal (VOLmax). Elle vaut :
VOHmin-VIHmin sur le "1" et VILmax-VOLmax sur le "0"
Tlcom INT 15
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Vs1
Vcc
V
OHmin(1)
V immunit au bruit pour le "1"
IHmin(2)
V ILmax(2)
V immunit au bruit pour le "0"
OLmax(1)
0 t
Vs2
Vcc
VOHmin(2)
V
OLmax(2)
0 t
Des bruits d' une ampleur plus grande que l' immunit statique ne provoquent pas de
commutation s' ils ont une faible dure c'
est--dire une dure infrieure au "temps de
raction" d'une porte (appel retard). On parle, dans ce cas, d'
immunit dynamique
(figure II-5). Les constructeurs ne fournissent pas de paramtres garantis pour la
calculer.
Vs1
Vcc
V
OHmin(1)
VIHmin(2)
V
ILmax(2)
V
OLmax(1)
0 t
Vs2
Vcc
VOHmin(2)
VOLmax(2)
0 t
Pour les circuits de la mme famille, les paramtres VOH, VOL, VIH, VIL ne servent
qu' titre d'information car ils sont compatibles par construction. Pour des familles
diffrentes, il faut s'
assurer de la compatibilit des plages de sortie et d'
entre. En cas
d'incompatibilit, il faut faire appel des "adaptateurs" qui assurent les
transformations de niveau.
Tlcom INT 16
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
) Remarque : lorsqu'une porte a plus d'entres qu' il n'en faut pour calculer une
fonction, les entres excdentaires ne doivent pas tre laisses en l'
air
car elles augmentent la sensibilit du circuit au bruit.
Elles sont polarises avec un niveau inactif :
- "1" pour une NAND
- "0" pour une NOR
Un circuit logique peut d'autre part, sans que le niveau de sortie ne sorte des limites
permises, fournir un courant de sortie maximal. Le rapport entre ce courant maximal
et celui correspondant un charge est appel sortance (Fan out) du circuit. La
sortance indique donc le nombre maximal de charges que peut commander une sortie.
Tlcom INT 17
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Signal d'entre
Signal de sortie
tPHL tPLH
tpHL + tpLH
On peut donc dfinir un temps de propagation moyen par : tp = 2
L'
existence du temps de propagation entrane deux consquences :
) chaque famille de portes logiques est donc caractrise par une frquence limite
de fonctionnement au-dessus de laquelle les niveaux logiques n' auront pas le
temps de s'tablir.
) si deux signaux simultanment traversent un nombre diffrent de circuits, il est
naturel que les signaux de sortie soient dcals; ceci entrane la possibilit
d'alas dynamiques.
Les technologies DTL (Diode Transistor Logic) et RTL (Resistor Transistor Logic) sont
trs anciennes et restent utilises seulement dans des applications trs particulires;
elles ne seront pas tudies ici.
Tlcom INT 18
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Chaque familles possde une fonction de base partir de laquelle on fabrique d'autres
fonctions. Le nombre de ces fonctions est aussi une caractristique importante. Parmi
ces caractristiques, deux paramtres constituent les deux objectifs de la recherche
dans le domaine technologique : l' augmentation de la vitesse et la diminution de la
consommation.
Les semiconducteurs sont des corps dont la rsistivit est intermdiaire entre
celle des isolants et des conducteurs. Contrairement aux conducteurs mtalliques leur
rsistivit diminue avec la temprature.
Les matriaux les plus utiliss sont le germanium et le silicium, compte tenu de leur
structure atomique. Par adjonction en trs faible quantit d' autres corps appels
impurets, on modifie considrablement les proprits lectriques de ces corps afin
d'obtenir des semiconducteurs de type N et d' autres de type P. Les semiconducteurs de
type N possdent des lectrons en excs. Les semiconducteurs de type P, quant eux,
ont un manque d' lectrons soit, en d'
autres termes, ils possdent des "trous" en excs.
Jonction
P N
Barrire de potentiel
Tlcom INT 19
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
+ I -
P N
- +
P N
Un transistor est constitu par deux critaux de mme type, P ou N, spars par un
cristal de type contraire de trs faible largeur par rapport aux deux autres (figure II-
10).
P N P N P N
On obtient ainsi des transistors PNP ou NPN comportant deux jonctions et trois
lectrodes (figure II-11).
Emetteur Collecteur
Base
C
B
Tlcom INT 20
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Sur ce symbole, on indique le type de transistor PNP ou NPN en plaant une flche
sur la connexion d'metteur (IB, IC et IE indiquent les sens des courants de base, de
collecteur et d'
metteur) :
Ic Ic
C C
Ib Ib
B NPN B PNP
E E
Ie Ie
Vcc
Rc
Rb
T1 T2
Vs
Ve
Tlcom INT 21
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Fonctionnement :
): - lorsque : Ve = 0, T1 est satur, la tension (VCE)T1 0.2V et le transistor T2 est
bloqu, on a donc Vs=Vcc, d'o un niveau haut (H) en sortie.
- lorsque : Ve = Vcc, la jonction metteur-base de T1 est polarise en inverse, la
jonction base-collecteur est polarise en direct, la courant IB de T1
sature T2 et la tension VS = (VCE)sat 0.2V d'
o un niveau bas (L) en
sortie.
Rc
Rb
T11 T2
Vs
Ve1
T12
Ve2
Les deux transistors d' entre ont leurs bases et collecteurs relies; lors de la
fabrication cette liaison peut aller jusqu' la fusion totale conduisant un transistor
multi-metteur. D' o le circuit d'
entre de la figure II-14.
Rc
Rb
T1 T2
Vs
Ve1
Ve2
Tlcom INT 22
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
a) Sortie en Totem-Ple
Fonctionnement :
R2 R3
R1
T3
T1 T2
Ve1 D
Ve2
T4
Vs C
R4
Tlcom INT 23
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Le montage dit totem-ple est trs utilis pour des charge capacitives rclamant un
courant important.
Il faut noter qu' en ralit, les entres d'une porte TTL sont protges contre les
tension ngatives par des diodes dites d'
crtage (clamping) qui empchent les signaux
d'entrs de descendre trop en-dessous de la masse (figure II-16).
Base
Ve1 T1 Collecteur
Ve2 IK
VI Diodes d'crtage
K
Ces tensions ngatives n' existent pas de manire permente puisque les circuits
focntionnent entre 0v et 5v. Elles apparaissent de manire fugitive lors de la
transition haut vers bas du signal d'
entre surtout lorsque les lignes de transmission
sont mal adaptes.
A
B
S = A.B.C.D
C
D
Dans certains cas, on peut associer plus directement les sorties des deux portes ET
sans dommage pour les circuits.
A
B
A
P B
S = A.B.C.D
C
C D
D
Tlcom INT 24
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
On peut constater que tant que les transistors T3 et T' 3 ainsi que T4 et T'
4 sont dans le
mme tat (c' est--dire que les sorties S1 et S2 sont au mme niveau), il n' y a pas de
problmes. En revanche, si on se trouve dans le cas de figure o S1 et S2 sont de
niveaux diffrents c'est--dire :
T3-T'
4 : bloqus et T4-T'
3 : saturs (cas 1)
T3-T'
4 : saturs et T4-T'
3 : bloqus (cas 2)
un courant ISC (short-circuit) pourrait alors circuler entre : R'
3-T'
3-D'
-T4 (cas 1)
R3-T3-D-T'
4 (cas 2)
Ces diffrents lments ne sont pas dimensionns pour supporter ISC. La sortie totem-
ple ne permet donc pas la runion de plusieurs sorties pour raliser un ET-cabl.
Vcc = 5 V
R3 R3
T3 T3
D D
S1 S2
T4 T4
S=S1.S2
Tlcom INT 25
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Afin de permettre la connexion de plusieurs sorties, les fabricants livrent des circuits
dits collecteur ouvert comme la porte NAND-TTL-7403. Sur le schma lectrique
donn en figure II-18, on peut constater que les lments R3, T3 et D ont disparu.
Vcc = 5 V
R2
T2
T4
Vs
R4
Plusieurs sorties de ce type peuvent tre connectes ensemble pour raliser un ET-
cabl moyennant une rsistance extrieure Rext de rappel au 5V dite de pull-up (figure
II-19).
Certains circuits sont prvus avec un transistor de sortie pouvant supporter une
tension de plusieurs dizaines de volts (30v pour la porte INV-TTL-7404). Ces circuits
sont prcieux comme gnrateurs d' impulsions de grandes amplitude.
Vcc = 5 V
Rext
S1
S=S1.S2. ... .Sn
T41
S2
T42
Sn
T4n
Tlcom INT 26
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
S1
I
S2 R S1 S2 S3 S1 S2
Liaison t
commune
S3
Une solution consiste valider chaque information I1, I2 et I3 par trois signaux V1, V2
et V3 dcals dans le temps et runir les trois produits partiels par une porte OU
(figure II-21).
I1
V1 V1
I t
I2 V2
R
V2 t
Liaison
commune V3
I3
t
V3
S1 S2 S3 S1 S2
t
De la sorte, un instant donn, il n' y a qu' une source mettant sur la liaison
commune. L' information vaut : I = I1 V1 + I 2 V2 + I 3 V3
Des portes collecteur ouvert offrent une fonction semblable en conomisant la porte
de runion (figure II-22).
+Vcc
Rext
I1
V1
I2 I
R
V2
Liaison
commune
I3
V3
Tlcom INT 27
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
): I = I1 V1 I 2 V2 I 3 V3
d'
o :
): - au repos : I = I1 0 I 2 0 I 3 0 = 1 (V1=V2=V3=0)
... ...
Vcc
Bus 8 bits
) VOH : la tension de sortie au niveau haut du 7403 est plus leve que celle du
7400; elle est gale Vcc (5.5V maxi) pour le 7403 contre 3.4V pour le
7400. Ceci premet de commander des circuits ayant des tensions
d'entre VIH leves.
) IOH : le courant de sortie au niveau haut du 7403 n' est pas fourni comme
pour une porte standard (7400) mais absorbe. Il vaut 025mA pour le
7403 au lieu de -0.4mA pour le 7400.
Tlcom INT 28
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Dans le cas du 7403, ces paramtres prsentent une bien plus grande dissymtrie que
dans celui du 7400. Le passage au niveau haut est moins rapide que le passage au
niveau bas. Ceci est d au fait que l' impdance de sortie au niveau haut, gale
pratiquement Rext, peut tre leve (de l'
ordre de quelques kohms). Ce qui implique
une vitesse de commutation notablement diminue.
En rsum donc, les bus de communication raliss avec des portes collecteur ouvert
prsentent l'
inconvnient d' avoir des temps de commutation important et diffrents
pour le passage 1 et 0, dus la dissymtrie des impdances de sortie pour ces deux
cas.
Tlcom INT 29
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Vcc = 5 V
R3
R1
T3
T4
A
T1 T2
signal
D T5
E
T6 Vs
validation R2 R4
Certains buffers sont inhibs par un niveau haut (exemple : le quadruple buffer
74125 non inverseur) d'autres sont inhibs par un niveau bas (exemple : le quadruple
buffer 74126 non inverseur).
Si le signal d'entre d' une porte standard des temps de monte et de descente
trop long, la sortie oscille (figure II-25). Ceci est d aux fluctuations du signal d'
entre.
Entre
Les portes entres Trigger de Schmitt vitent ce dfaut (exmple la porte INV-TTL-
7414). Elles ont deux seuils distincts pour le 0 et le 1. Elles fonctionnent avec
hystrsis : aprs franchissement d' un seuil, le circuit n'
est sensible qu'
l'
autre seuil.
Si celui du 1 a t dpass, la sortie ne change que si l' entre repasse sous celui du 0 et
inversement (figure II-26).
Tlcom INT 30
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
S1
S0
Entre
Sortie
Les variations du signal d'entre autour d' un seuil ne provoquent plus d' oscillations
comme pour une porte ordinaire. Cet hystrsis amliore aussi l' immunit au bruit :
tant qu'
un parasite n'atteint pas l'
autre seuil, la sortie reste insensible (figure II-27)
S1
S0
Entre
Sortie
Par rapport une porte standard, quatre paramtres nouveaux caractrisent les
entres d'
une porte trigger de Schmitt :
) VT+ et VT- : seuils de basculement aux niveaux haut et bas qui remplacent
VIH et VIL
A
A S=A S=A.B
B
(7414) (74132)
Un trigger de Scmitt peut servir fabriquer une impulsion d' initialisation la mise
sous tension d'un systme logique. Le montage comporte un rseau RC branch
l'
entre d'un inverseur (figure II-29). Avant la mise sous tension, la capacit est
dcharge. La tension Vcc s'
tablit : l'
inverseur reoit d'
abord un "0" en entr et fournit
Tlcom INT 31
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Vcc
Vcc
R
A RZ A
RZ
C C
B B
E E
Le gain en vitesse est important, les temps de transit tant de quelques nanosecondes
seulement (exemple : cf. doc. constructeur porte NAND-TTL-74S00).
Tlcom INT 32
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Les familles TTL-AS et TTL-ALS sont des sries TTL-S et TTL-LS perfectionnes o
la puissance dissipe est rduite. Les rsistances associes aux transistors sont leves
pour diminuer la consommation (exemple : cf. doc. constructeur NAND-TTL-74AS00 et
NAND-TTL-74ALS00).
a) La famille ECL
Cette technologie bipolaire doit tre utilise lorsque la vitesse est le paramtre
essentie. Elle est limite, comme la famille TTL-Standard, en densit d' intgration
(300 500 portes pour une puissance de 1W). Cette famille logique Couplage par
Emetteurs (ECL : Emetter-Coupled Logic) est caractrise par le temps de stockage
trs faible des transistors parce que ces derniers ne sont jamais saturs. On atteint
des temps de propagation infrieurs 0.5ns pour des composants perfectionns.
Le montage de base de cette famille ECL est un tage diffrentiel (cf. cours
d'lectronique).
L'inconvnient majeur de la famille ECL est que celle-ci fonctionne avec une tension
ngative et diffrents niveaux logiques (niveau (1) -0.8V, niveau bas (0) -1.8V); ce
qui rend son interconnexion avec d' autres familles TTL (ou CMOS) trs difficile. Ce
problme peut nanmoins tre rsolu de nos jours l' aide des translateurs TTL-ECL
et ECL-TTL fournis par certains fabricants.
Par ailleurs, la grande rapidit des portes ECL exige des prcautions dans la mise en
oeuvre pratique en particulier pour l'interconnexion entre les circuits.
Tlcom INT 33
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Ils sont commands par une tension alors que les bipolaires sont commands par un
courant.
ID
VGS S ID
G B
D
VGS
VT < 0
G = Grille B = Base
S = Source D = Drain
Cette technologie est plus utilise que la prcdente. La mobilit des lectrons
donne une vitesse 2 3 fois plus leve que celle du MOS Canal P o les porteurs
majoritaires sont des trous. L' introduction des techniques d'isolation par oxyde
amliore la densit d' intgration. La consommation des circuits MOS est trs faible
(10 fois plus faible que celle des TTL - cf. doc. constructeurs).
Leur principale infriorit vis vis des TTL est leur faible vitesse.
Les symboles du transistor MOS Canal N enrichissement et sa caractristique
ID=f(VGS) sont indiques figure II-32. Le MOS Canal N est souvent appel NMOS.
Tlcom INT 34
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
ID
D ID
G B
VGS S
VGS
VT > 0
G = Grille B = Base
S = Source D = Drain
La technologie MOS utilisant les MOS Canal N ou P est largement utilise pour
la ralisation de circuits complexes. En revanche, elle n'existe pas sous forme de
famille technologique comme la TTL par exemple. Il n' en est pas de mme avec la
technologie CMOS.
+VDD
S ID
G
B PMOS
D
Ve Vs
D
B NMOS
G
S
): - lorsque : Ve = 1 (niveau haut > VT), le NMOS conduit tandis que le PMOS
est bloqu, VS se trouve au niveau bas, le courant ID est pratiquement nul.
): - lorsque : Ve = 0 (niveau bas voisin de 0V), le PMOS conduit tandis que le
NMOS est bloqu, VS se trouve au niveau haut (pratiquement gal VDD).
Les rles prcdents de NMOS et de PMOS sont donc permuts.
Quel que soit l' tat logique, il y a toujours un transistor ouvert, la consommation au
repos (dite statique) est nulle sinon ngligeable. En revanche, au cours de rgimes
transitoires, il existe une certaine consommation (dite dynamique).
Tlcom INT 35
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
L'
analyse des portes CMOS estimmdiate; prenons l'
exemple de la porte NOR :
): - si maintenant Ve1 et Ve2 sont l'tat 0, les PMOS seront ferms, la sortie
sera au niveau 1 parce qu' elle est relie VDD tandis que les NMOS sont
bloqus.
+VDD
D
PMOS S
D
Vs
D D
S S
Vss
+VDD
S S
D D
Vss
D
NMOS
S
D
S
Vs
Il faut noter que tout comme la famille TTL qui possde des portes sorties
collecteur ouvert et trois tats ainsi que des portes entres trigger de Schmitt, il
existe dans la famille CMOS des portes sorties drain-ouvert et trois tats ainsi
que des portes entre trigger de Schmitt (cf. doc. constructeurs).
Tlcom INT 36
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
4000 74 C
SERIE 74 HC 74HCT
V+ = 5V V+ = 5V
Plage de tension dalimentation (V) 3 15 3 15 26 4.5 5.5
Entre :
VEL max (V) V+ = 5V 1.5 1.5 0.9 0.8
VEH min (V) V+ = 5V 3.5 3.5 3.15 2
Sortie :
IS < 1 A 0.05
VSL (V) IS 20 A 4.5 4.4 4.4
ISH max 4.6 3.76 3.76
IS < 1 A 4.95
VSH (V) IS 20 A 4.5 4.4 4.4
ISH max 4.6 3.76 3.76
tP max (ns) 35 90 35 8 10
Tlcom INT 37
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
100m
10m TTL 74 S
TTL 74 AS
TTL 74 LS
1m TTL 74 ALS
100
10 CMOS 74 HC 74 HCT
100n
CMOS 4000
10n
1n
Tlcom INT 38
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
1/ Introduction
Un circuit est dit combinatoire si sa sortie ne dpend que de la combinaison de
ses entres. A une seule combinaison des variables d' entre correspond une seule
combinaison de sortie. En particulier, la variable temps n' intervient pas dans la
dtermination de l' tat des sorties, le circuit ne conserve aucune mmoire de l' tat
prcdent et toute nouvelle combinaison des entres donne naissance une nouvelle et
unique combinaison des sorties.
En fait, le temps de propagation intervient videmment au niveau de chaque
oprateur mais ces retards n' ont pour effet que de diffrer l' obtention de la
combinaison des sorties qui reste alors stable si on maintient la mme combinaison
des entres. Ce temps n' agira qu' au niveau de la frquence des changements de
combinaison l'entre. Ces tats transitoires ne sont pas pris en considration dans
l'
tude intrinsque des circuits.
N = Bn.2n+Bn-1.2n-1+...+B1.21+B0.20
BnBn-1...B1B0 avec Bi = 0 ou 1
Bn est le bit de plus fort poids ou le bit le plus significatif (MSB : Most Significiant
Bit), tandis que B0 est le bit le moins significatif (LSB : Least Significant Bit).
Pour obtenir le nombre binaire, on peut prendre les restes successifs et le dernier
rsultat de la division du nombre en base 10 par 2.
) Exemple : 14 2
0 7 2
1 3 2
1 1
Tlcom INT 39
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Pour viter les nombres trop levs de bits pour les nombres de grandes valeurs,
on utilise le code octal et le code hexadcimal.
Le nombre octal quivalent un nombre binaire s' obtient en dcoupant ce dernier en
tranches de trois chiffres partir de la droite et en convertissant chaque tranches en
octal. Le passage de l'octal au binaire s'effectue par le processus inverse.
Le passage de l' hexadcimal au binaire s' effectue avec une rgle voisine, en dcoupant
le nombre binaire en tranche de quatre chiffres.
Le code hexadcimal qui consiste utiliser les lettres A, B, C, D, E et F pour coder les
nombres entre 10 et 15 est trs utilis dans les microprocesseurs.
Tlcom INT 40
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
c) Code BCD
C'est le code dcimal cod binaire (Binary Coded Decimal), il est trs commode pour
visualiser des chiffres, il trouve une application importante dans les appareils de
mesures numriques. Cependant, il s' avre peu commode dans les oprations
mathmatiques. En effet, dans le cas o il y a une retenue on peut obtenir un rsultat
qui ne correspond aucune combinaison de ce code.
) Exemple :
1000 810
+ 0101 + 510
1101 1310
Le rsultat 1101 ne correspond aucune valeur du code BCD. Pour tablir le rsultat
correct, il faut qu'
on ait :
BCD : 1 0011
dcimal : 1 3
Ce rsultat sera obtenu en ajoutant au rsultat initial 0110 (= 610).
On a donc :
1101
+ 0110
1.0011
Tlcom INT 41
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
810 1011BCD+3
+ 510 + 1000BCD+3
1310 1 . 0011BCD+3 ?
+3 +3
0100 0110BCD+3 0100 0110 1310
e) Code 2 parmi 5
Chaque chiffre dcimal est cod par 5 bits dont deux seulement ont la valeur 1.
La tableau d'
quivalences est indiqu ci-dessous :
Tlcom INT 42
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
f) Code Gray
Tlcom INT 43
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
C'est un code BCD qui garde la priorit du code Gray consistant un changement
d'
un seul bit lorsqu'
on passe d'un nombre au suivant. Le tableau d' quivalence est
donn ci-dessous :
a) Signe et Module
La valeur absolue ou le module est cod en binaire pur, le signe est reprsent
par un bit : 0 pour positif, 1 pour ngatif. L'
inconvnient est d'
avoir deux zros : + 0 et
- 0. De plus, les oprations d' addition et de soustraction doivent tre faites par des
circuits diffrents.
b) Complment 1
Tlcom INT 44
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
(+13)10 0011012
+ (+11)10 + 0010112
(+24)10 0110002
(les nombres sont cods sur 6 bits pour pouvoir compt de +31= -32 et
que : 64 = 26)
(-13)10 1100102
+ (-11)10 + 1101002
(-24)10 c 1001102 = (-25)10
+ 12 retenue
1001112 = (-24)10
(-13)10 1100102
+ (+11)10 + 0010112
(-2)10 1111012 = (-2)10
(+13)10 0011012
+ (-11)10 + 1101002
(+2)10 c 0000012 = (+1)10
+ 12 retenue
0000102 = (+2)10
Pour obtenir des rsultats corrects, il faut donc prendre en compte la retenue des bits
de "signe".
c) Complment 2
Le premier bit indique toujours le signe (0 pour + et 1 pour -). Pour les nombres
positifs on utilise encore le code binaire pur. Mais pour les nombres ngatifs, on
remplace les bits du nombre positifs par leur complment puis on ajoute 1. Ce code se
distingue donc du code prcdent par l' addition de 1. L' intrt de ce code est tout
d'abord la suppression de l'inconvnient du double zro du code prcdent et ensuite la
possibilit d'
utiliser des additionneurs pour effectuer les soustractions.
) Exemples d'additions :
(-13)10 1100112
+ (-11)10 + 1101012
(-24)10 c 1010002 = -2410
Tlcom INT 45
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
(+13)10 0011012
+ (-11)10 + 1101012
(+2)10 c 0000102 = +210
(-13)10 1100112
+ (+11)10 + 0010112
(-2)10 1111102 = -210
) Exemples de soustractions :
(+13)10 0011012
- (+11)10 - 0010112
(+2)10 0011012
+ 1101002
+ 1
c 0000102 = +210
(+13)10 0011012
- (-11)10 - 1101012
(+24)10 0011012
+ 0010102
+ 12
0110002 = +2410
Cest le code complment 2 dont les bits "signes" sont inverss : 1 pour + et 0
pour - . Ce code est commode pour la conversion numrique-analogique : la valeur
maximale positive est code par tous les bits 1, la valeur minimale ngative par tous
les bits 0.
a) Virgule fixe
On a tudi des nombres entiers pour lesquels on a constat que tous les bits
associs ont des poids en puissance de 2 croissant partir de 0 inclus (20, 21, 22, ...).
L'utilisation des bits de poids en puissances de 2 dcroissants partir de 0 (2-1, 2-2, ...)
Tlcom INT 46
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
3 , 625
0 1 1 1 0 1
22 21 20 2-1 2-2 2-3
0 2 1 0.5 0 0.125
La virgule se trouve entre les bits correspondant 20 et 2-1, elle se trouve au milieu
du nombre binaire. Cette reprsentation est certes trs simple, donc facile mettre en
oeuvre; son utilisation est cependant rapidement limite lorsqu' on a traiter des
oprandes d' ordres de grandeurs trs diffrents car on devra prendre un grand nombre
de bits de part et d'autre de la virgule, la position de la virgule tant la mme pour
toutes les oprandes.
b) Virgule flottante
Suppossons qu' on utilise deux mots de 16 bits chacun, le nombre peut se prsenter
sous la forme suivante :
bit signe exposant
Avec 8 bits d' exposant, le plus grand exposant est gal 127, ce code permet donc de
reprsenter des nombres entre 2127 (1038) et 2-128 (10-38). Le zros est en gnral
reprsent par une mantisse et un exposant nul. On caractrise souvent une
reprsentation par sa prcision. Cette dernire est dfinie par le nombre de bits de la
mantisse. Dans le cas de l' exemple considr d' une mantisse de 24 bits, l' erreur
maximale est gale 2 -23 -7
(10 ), cela correspond une prcision avec 7 chiffres
significatifs en dcimal. Pour augmenter la prcision, on doit utiliser une mantisse
plus longue qui ncessite d' autres mots supplmentaires.
Tlcom INT 47
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
2.2/ L'
addition sur des entiers
2.2.1/ Demi-Additionneur
C'
est un additionneur 1 bit. Il prsente deux entres A et B et deux sorties S
(Somme) et R (Retenue). La table de vrit est la suivante :
A B S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
D'
o : S = AB + AB = A B (3-1)
R = AB (3-2)
Ce qui nous donne le schma suivant :
A
S
B
Entres Sorties
An Bn Rn-1 Sn Rn
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Tlcom INT 48
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Sn Rn-1
AnBn 0 1
1 2
00 0 1
3 4
01 1 0 Sn = An Bn Rn-1 (3-4)
7 8
11 0 1
5 6
10 1 0
Rn Rn-1
AnBn 0 1
1 2 Rn = AnBn + (An + Bn).Rn-1 (3-5a)
00 0 0
3 4 (avec 3 boucles dordre 2 : 4-8, 6-8, 7-8)
01 0 1
7 8
11 1 1 Rn = AnBn + (An Bn).Rn-1 (3-5b)
5 6
10 0 1 (avec 1 boucle dordre 2 : 7-8)
Rn-1
A Sn
B
Rn
Rn-1 Sn
An A.C.
Bn Rn
Tlcom INT 49
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
A3 B3 R2 A2 B2 R1 A1 B1 R0 A0 B0
R3 S3 R2 S2 R1 S1 R0 S0
Cette addition de deux nombres A et B quatre bits est ralises en parallle car on
additionne les bits de poids identiques en mme temps. Le circuit AC0 effectue
l'
opration sur les bits les moins significatifs, il n' y a donc pas de retenue. On voit
immdiatement l' inconvnient majeur de cette mthode : le temps de calcul est trs
long. En effet, pour obtenir un calcul correct, il faut donc laisser le temps la retenue
de se propager des poids faibles vers les poids forts. Ce temps videmment sera
d'autant plus long que les nombres additionner seront plus grands.
Dans la technologie intgre, les additionneurs ne sont pas raliss partir des
demi-additionneurs comme nous l' avons montr.
Si on prend la table de vrit d'
un additionneur complet, on peut crire :
S n = A n B n R n-1 + A n B n R n -1 + A n B n R n -1 + A n B n R n -1 (3-6)
R n = A n B n R n 1 + A n B n R n 1 + A n B n R n 1 + A n B n R n 1
R n = A n R n-1 + B n R n -1 + A n B n (3-7)
que l'
on peut aussi crire sous la forme :
R n = A n .R n -1 + B n .R n -1 + A n .B n
R n = A n .R n-1 .B n .R n -1 .A n .B n
( )( )(
R n = A n + R n -1 . B n + R n -1 . A n + B n )
Rn = (A .B
n n )(
+ A n .R n -1 + B n .R n-1 + R n 1 . A n + B n )
Rn = (A .B
n n )(
+ R n-1 . A n + B n )
R n = A n .B n + A n . R n-1 + B n . R n -1 (3-8)
Tlcom INT 50
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Or l'
quation (3-6) nous dit que :
S n = A n B n R n-1 + A n B n R n -1 + A n B n R n -1 + A n B n R n -1
mais : ( )
A n . B n . R n-1 = A n . B n + A n . R n -1 + B n . R n-1 . R n -1 = R n . R n -1
A n . B n . R n-1 = (A n . B n + A n . R n -1 + B n . R n-1 ). B n = R n . B n
A n. . B n . R n -1 = (A n . B n + A n . R n-1 + B n . R n -1 ). A n = R n . A n
d'
o : S n = A n . R n + B n . R n + R n-1 . R n + A n .B n . R n-1 (3-9)
D'
o : NON-OU + INV = 10.5 + 6 = 16.5 ns
3 x OU = 3 x 12 = 36 ns
Tlcom INT 51
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
An
Bn
Rn-1
Rn
Rn Sn
Sn
La structure reprsente figure III-4 est certes plus complexe que celle de la
figure III-2, cependant elle permet de rduire le temps de propagation de la retenue.
En effet, les temps de propagation moyen fournis par les constructeurs sont par
exemple :
- 74ALS08 (4 x ET 2 entres) = 8ns
- 74ALS27 (3 x NON-OU 3 entres) = 8ns
- 74ALS32 (4 x OU 2 entres) = 8ns
- 74ALS86 (4 x OU-EXclusif 2 entres) = 8ns
d'o les temps d'
obtention de la retenue Rn :
- figure III-2 : 1 x OU-EXclusif + 1 x ET + 1 x OU = 24ns
- figure III-4 : 1 x ET + 1 x NON-OU = 16ns
Cette structure (figure III-4) est utilise dans les AC 2 bits (7482) et 4bits (7483).
Dans l' exemple du 7482 (figure III-5), on peut constater que l' on dispose des sorties
somme () pour chaque bit et que la retenue rsultante est obtenue partir du second
bit. Le retenue d'entre C0 permet la mise en cascade de nombreux dispositifs pour la
construction d'additionneurs plus grand nombre de bits. La retenue de sortie du bit
infrieur devient la retenue d' entre du bit suprieur, ce circuit est donc dit
additionneur propagation de retenue. Il est employ pour des applications vitesse
moyenne. Il faut bien noter, par ailleurs, que C1 est directement applique l' tage
suivant sans aucune inversion pralable; en revanche, les entres A2 et B2 sont
complmentes avant d' tre appliques cet tage. Cette inversion n' a aucune
influence sur le temps de propagation. Dans cette condition, les sorties 2 et C2 seront
obtenues sans aucun inverseur.
Tlcom INT 52
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Les quations (3-1) et (3-2) nous fournissent comme expressions de la somme (S) et de
la retenue (R) d'
un demi-additionneur :
S = A B et R = A. B
Tlcom INT 53
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Les quations (3-5a) et (3-5b) nous ont montres que pour un additionneur complet :
Gn = An.Bn (3-10)
Pn = An + Bn (3-11)
Il vient : R n = G n + Pn . R n -1 (3-12)
Par extension : R n -1 = G n -1 + Pn -1 . R n -2
Ce qui donne : R n = G n + Pn .G n-1 + Pn .Pn-1 .R n-2
Rn = Gn+Pn.Gn-1+Pn.Pn-1.Gn-2+...+Pn.Pn-1...P2.P1.G0+Pn.Pn-1...P1.P0.Rin (3-13)
Ce rsultat montre que le bit de retenue transmis un tage n est une fonction
logique des bits additionner d'ordre infrieur ou gal n (A0, A1, ... , An, B0, B1, ... ,
Bn) et qu'il peut tre obtenu par une opration purement combinatoire entre ces bits.
Les sommes s' obtiennent aussi en parallle partir des bits additionner et de la
retenue entrante.
En effet, l'
quation (3-4) nous donne :
S n = A n Bn R n -1
( )
S n = A n . B n + A n . B n R n -1
S n = (A n . B n + A n . B n + A n . A n + B n . B n ) R n -1
S n = [(A n + B n ). (A n + B n )] Rn -1
S n = [(A n + B n ). (A n . B n )] R n -1
( )
S n = Pn . G n R n-1 (3-14)
Tlcom INT 54
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
tage, le chemin logique est le mme pour toutes les sommes : calcul de P et G, calcul
de R et calcul de S.
A3 B3 A2 B2 A1 B1 A0 B0
R in
Calcul de Calcul de Calcul de Calcul de
R3 R2 R1 R0
R out
Calcul de Calcul de Calcul de Calcul de
S3 S2 S1 S0
A3 A2 A1 A0 B3 B2 B1 B0 Cin
6
Cout S3 S2 S1 S0
A0 0
Entres A A1
A2 P
A3 3 0 S0
S1 Sorties somme
S2
0 3 S3
B0
Entres B B1 Q
B2
B3 3
) Remarques :
- La lettre est utilise pour dsigner l'
opration d'
addition
- Les lettres P et Q sont employes pour reprsenter les entres 4 bits
- La lettre sert aussi pour indiquer la somme fournie en sortie
- Les lettres P, Q et prescrites dans la norme IEEE / ANSI et doivent figurer
l'
intrieur du primtre du symbole
- Les dsignations ou indications l' extrieur du primtre du symbole ne sont
pas normalises et peuvent varier d' un fabricant de circuits intgrs un l'
autre
Tlcom INT 55
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Ladditionneur 74LS283 (figure III-7) traite des nombres de quatre bits avec une
retenue entrante C0. Il fournit la somme et une retenue sortante C4. Les retenues sont
calcules en parallle.
Tlcom INT 56
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
A3 A2 A1 A0 B3 B2 B1 B0 Cin
6
Cout S3 S2 S1 S0
Entres ( d'information )
3 i
1
2 ... ... N = 2n
Sortie
Tlcom INT 57
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
L'
quation de la sortie Y est donc : Y = B. A. D 0 + B. A. D1 + B. A. D 2 + B. A. D 3
G C B A D7 D6 D5 D4 D3 D2 D1 D0
MUX
Y W
avec : W = Y
Tlcom INT 58
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
S0 0
S1 G 0/7 Z
S2 2
Z
I0 0
I1 1
I2 2
I3 3
I4 4
I5 5
I6 6
I7 7
Tlcom INT 59
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
3.2/ Le codage
3.2.1/ Rle d'
un codeur
Code 1 parmi N
3 i
1
2 ... ... N = 2n
Encodeur
Code binaire de i
Toutefois, pour viter tout ambigut dans le cas o plusieurs entres sont
simultanment actives, les constructeurs proposent des encodeurs dits priorit.
Dans ces conditions, l' encodeur dlivre en sortie le code binaire de l'
entre de poids (ou
de rang) le plus lev.
Tlcom INT 60
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Adresse
Entre
n
n
Dcodeur Dmultiplexeur
Adresse
1
2 ... ... N = 2n 1
2 3 ... ... N = 2n
3 i i
Sorties Sorties
n
(2 sorties mais une seule active la fois )
Entres Sorties
Validation Adresse
G B A Y0 Y1 Y2 Y3 L = Low (bas)
H X X H H H H
L L L L H H H H = High (haut)
L L H H L H H
L H L H H L H X = irrelevant
(indtermine)
L H H H H H L
Tlcom INT 61
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Y0 Y1 Y2 Y3
G C B A
X / Y ou DMUX
Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
ou :
DEMUX
O0
A0 0
A1 O1
G 0/7
A2 2 O2
O3
O4
E1 O5
E2 & EN O6
O7
) Remarques :
E3
Tlcom INT 62
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Tlcom INT 63
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
3.4/ Le transcodage
3.4.1/ Rle d'
un transcodeur
) Les plus connus sont les dcodeurs BCD - Afficheurs 7 segments comme le
circuit 74LS48.
3.5/ La comparaison
3.5.1/ Rle d'
un comparateur
a) Dtection de P = Q
P = Q si P1 = Q1 ET P0 = Q0
or :
P0 Q0 P 0 = Q0
0 0 1
0 1 0
1 0 0
1 1 1
(P0 = Q 0 ) = P0 Q 0
Tlcom INT 64
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
o la fonction : (P = Q) = P0 Q 0 . P1 Q1
D' (voir figure III-16)
P1
Q1
P0
Q0
P=Q
b) Dtection de P>Q
P > Q si : P1 > Q1 OU P1 = Q1 ET P0 > Q0 or :
P0 Q0 P 0 > Q0
0 0 0
0 1 0
1 0 1
1 1 0
(P0 Q 0 ) = P0 .Q 0
(
o la fonction : (P Q) = P1 .Q1 + P0 .Q 0 . P1 Q1
D' ) (voir figure III-17)
c) Dtection de P < Q
P < Q si : P1 < Q1 OU P1 = Q1 ET P0 < Q0 or :
P0 Q0 P 0 < Q0
0 0 0
0 1 1
1 0 0
1 1 0
(P0 Q 0 ) = P0 .Q 0
Tlcom INT 65
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
P1
Q1
P0
Q0
P>Q
P1
Q1
P0
Q0
P<Q
P3 P2 P1 P0 Q3 Q2 Q1 Q0 G
COMP
P>Q P=Q P<Q
Tlcom INT 66
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Tlcom INT 67
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
La protection par parit (even parity) consiste ajouter un bit de parit au mot
transmettre (l'information utile) de faon ce que le nombre de 1 du mot total
transmettre (information utile + 1 bit de parit) soit pair. Il existe aussi une protection
par imparit (odd parity) telle que le nombre total de bits 1 soit impair.
Ce bit de parit est parfois appel bit de parit pair pour traduire une protection par
parit et bit de parit impaire pour traduire une protection par imparit.
A
B
Pout
Pin
Tlcom INT 68
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
A A
Emetteur Recepteur
B B
E R
Pout Pout
Bit de parit
E R
Pin Pin
A B C D E F G H I G
2k
even odd
Tlcom INT 69
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Tlcom INT 70
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
1/ Introduction
Les circuits tudis dans le chapitre prcdent sont de type combinatoire. Leur
tat stable de sortie dpend seulement de la combinaison des entres (figure IV-1).
X(t) F Y(t)
Y(t)
X(t) F Retard Y(t+ )
Dans le fonctionnement asynchrone, les sorties ragissent directement sur les entres
(figure IV-3).
Sortie du composant idal
Sortie du composant rel
Variables d'entre
ou Y(t)
Variables primaires X(t) Systme Logique Retard Y(t+ )
Combinatoire Idal
Variables secondaires
Tlcom INT 71
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
) Remarque : - dans certain synoptique, le bloc de retard pur figure dans la boucle
de retour ce qui conduit alors s'intresser la sortie Y(t) au lieu de
celle de Y(t+) comme c'
est le cas sur les figures IV-3 et IV-4.
Ce qui donne :
X(t) Systme Logique Y(t)
Y(t- ) Combinatoire Idal
Retard
Tlcom INT 72
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Les deux premires bascules entrent dans des systmes qui fournissent des impulsions
de dures dtermines (exemple : horloge). C' est la dernire de ces bascules qui nous
intresse ici car elle est le dispositif lmentaire fondamental des circuits logiques tels
que les compteurs, les registres dcalage, les mmoires,...et figure de ce fait parmi
les dispositifs les plus rpandus de l' lectronique numrique.
2.2/ La bascule RS
2.2.1/ Principe
Ce circuit (figure IV-6) mmorise une information lmentaire (0 ou 1). Il possde une
entre S (Set) pour la mise 1, une entre R (Reset) pour la mise 0 et une sortie Q
donnant l'tat de l'information mmorise.
S
Mise 1 S Q Sortie
R
Mise 0 R
Q
Mise 1 Mise 0
Tlcom INT 73
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
S
S Q S
Q S
Q
R R Q
Q
R R
S R S R Q Q'
0 1
0 0 1 1 1 0
1 0 0 1 1 0
0 1 1 0 0 1
1 1 0 0 1 1
S Q S Q
R R Q
R S Q Q'
0 1
0 0 1 0
0 1 1 0
1 0 0 1
1 1 0 0
Tlcom INT 74
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
a) Circuit anti-rebonds
Vcc
V
V(B)
R
B t
Travail
A Repos
V
V(B)
Vcc
t
R
V
V(A)
S
Q
B
t
A V
Q
V(Q)
R
R t
V
Vcc V( Q )
Tlcom INT 75
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Le signal d'
horloge est retard d'un temps qui permet d'
engendrer sur les deux
sorties Q1 et Q2 de la bascule deux signaux sans recouvrement (figure IV-11).
V
V( S )
t
V
V( R )
Horloge
S Q1
t
V
V(Q1)
R Q2
V
V(Q2)
Tlcom INT 76
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
S S
Q S Q
H
H
Q Q
R
R R
Cette bascule peut encore admettre R=S=1 aussi pour liminer dfinitivement cet
inconvnient, il y a la bascule D.
D S Q D Q
Validation C C
R Q Q
Tlcom INT 77
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Comme nous l' avons mentionn au chapitre prcdent, la bascule D-latch est dite
transparente, c'est--dire que son entre D et de ce fait sa sortie Q suit toutes les
ventuelles variations du signal qui lui est impos en entre de commande D tant que
son entre de commande (ou de validation) demeure sur son niveau actif (haut ou bas).
Pour minimiser l' influence de ces parasites potentiels, on fait appel des bascules D-
edge c'est--dire des bascules qui "enregistrent" l'
tat de l' entre de commande D sur
un front d'horloge voire une impulsion.
La table de vrit d'une bascule D-edge demeure donc identique celle d' une bascule
D-latch seule sa plage de temps de rceptivit des entres diffre. Comme cette
plage de rceptivit des entres est trs brve (dure d'un front ou d'
une impulsion) les
bascules D-edge autorisent les montages rtroaction (la commande d' entre D
dpend de la sortie). Elles offrent par ailleurs la possibilit d'
enregistrer des signaux
de commande trs brefs. Ces caractristiques font qu' on rencontre souvent cette
bascule dans les systmes microprocesseur.
Le symbole logique d' une bascule D-edge est identique celui d' une bascule D-latch
sauf qu' en lieu et place de l'
entre de validation C il y a une entre d'
horloge CLK. La
prsence d' un petit triangle sur l' entre CLK signale que la bascule D-edge
fonctionne sur un front dhorloge ou dimpulsion. La prsence supplmentaire d' un
petit rond prcise que le front actif est un front descendant. Son absence indique
que le front actif est un front montant (figure IV-14).
D Q D Q
CLK CLK
Q Q
Dclenchement sur Dclenchement sur
front montant front descendant
Tlcom INT 78
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
2.6/ La bascule JK
La bascule JK est une bascule bistable possdant une entre d'
horloge caractrise par
la table de vrit suivante :
Jn Kn Qn+1
0 0 Qn
0 1 0
1 0 1
1 1 Qn
On peut constater que les entres J et K jouent les mmes rles que les entres S et R
de la bascule RS. La diffrence est que la combinaison J = K = 1 n' est pas interdite et
donne systmatiquement l' inversion de l'tat de la sortie. La table de fonctionnement
qui indique les valeurs qu'il faut appliquer sur les entres (durant la plage de temps
de rceptivit) pour obtenir les sorties souhaites montre de nombreuses cases
d'
indiffrences () :
Qn Qn+1 Jn Kn
0 0 0
0 1 1
1 0 1
1 1 0
Ces entres de commande indiffrentes peuvent tre utilises bon escient pour
simplifier les expressions logiques de Jn et Kn.
La table de vrit d' une bascule JK peut aussi tre rsume par l'
quation
caractristique suivante :
Q n+1 = J n .Q n + K n . Q n
Quoi qu' il en soit, il existe un grand nombre de circuits de technologies diffrentes qui
permettent d' obtenir la table de vrit d'une bascule JK. Comme l' objectif de ce cours
n'est pas la construction proprement dit de circuits logiques mais plutt leur
utilisation, on considrera, pour notre part, la bascule JK comme une boite noire dont
on connat le fonctionnement grce sa table de vrit. Le seul point qui nous
intresse proprement parl en tant qu' utilisateur c'
est la nature de la plage de temps
de rceptivit des entres. En d' autres termes, est-ce-que la bascule est dclenche par
niveau ou par front et quelle est la nature de ce niveau actif (haut ou bas) ou de ce
front actif (ascendant ou descendant).
Tlcom INT 79
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Matre Esclave
S S Q S Q
H H
R R Q R Q
) Lorsque H = 0, l' tage matre est isol des commandes d'entre R et S mais l'tage
esclave est sensible l'
tat de sortie du matre parce que le signal d'
horloge de ce
dernier est gal 1.
) Lorsque H = 1, l'esclave est isol en revanche les entres sur R et S agissent sur le
matre et l'
esclave continue de garder l' tat acquis prcdemment jusqu' ce que H
retourne 0.
Si on essaye de construire une telle bascule avec des portes en circuits intgrs, on
risque d'obtenir des rsultats fort dcevant si on ne prend pas garde au seuil de
commutation des portes et que l'on utilise un signal d'
horloge avec des temps de mont
et de descente trop lents.
En effet, au cours d' une transition lente du signal d' horloge, les tages matre et
esclave peuvent tre simultanment activs si le seuil de commutation de l' inverseur
utilis sur le signal d'horloge est plus haut que celui de l'
tage matre. Il s'
en suit alors
une srie d' oscillations sur la sortie qui peut donne un rsultat totalement diffrent
de celui escompt. Pour vaincre cet obstacle, il faut faire appel un inverseur qui
prsente la particularit d' avoir un seuil haut plus bas que celui de tous les autres
circuits; ce qui veut dire que si on applique simultanment l' entre de tous les
circuits utilises une tension croissant partir de 0, la tension de sortie de l'
inverseur
basculera de 1 0 avant les autres. Ainsi, pendant le temps de mont du signal
d'horloge nous aurons deux tats diffrents de la bascule aux instants t1 et t2 de mme
durant le temps de descente o nous aurons deux autres tats diffrents de la bascule
aux instants t3 et t4 (figure IV-16).
Signal appliqu t2 t3
l'entre d'horloge t1 t4
Tlcom INT 80
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Sur ce principe les constructeurs proposent des bascules matre-esclave de type JK. Il
faut noter que parmi celles-ci, il existe des bascules JK matre esclave dites
verrouillage (types 74110, 74111) qui, au lieu de laisser la bascule matre
transparente durant le niveau haut de l'horloge, la verrouille sur le front ascendant de
l'
impulsion d'horloge; ce qui se traduit par le fait que lorsque l'entre d' horloge est
l'
tat haut, un changement d' tat des entres J et K n'a plus aucun effet sur l' tat de
la bascule.
Quoi qu' il en soit, du point de vue de l' utilisateur, utiliser une bascule JK matre-
esclave revient, comme nous l' avons dj dit, utiliser une boite noire qui possde la
table de vrit de la bascule JK dfinie prcdemment et qui :
- dans le cas d'
une bascule JK matre-esclave non verrouillage fonctionnant sur
niveau haut par exemple, ncessite le maintien des signaux J et K durant le
niveau haut de l' horloge (comme toute bascule fonctionnant sur niveau), pour que
la sortie bascule correctement sur le front descendant.
- dans le cas d' une bascule JK matre-esclave verrouillage fonctionnant aussi
sur un niveau haut, ncessite le maintien des signaux J et K au minimum au
moment du front montant de l' horloge, pour que sa sortie bascule correctement
sur le front descendant suivant.
Il faut donc bien retenir que ce type de bascule fonctionne en deux temps. Pour
rappeler cette caractristique, sur les sorties des bascules matre-esclave est indiqu le
symbole :
2.8/ La bascule T
Cette bascule change d' tat chaque signal actif d'
horloge. Le nom T vient de
toggle (bascule). A l' aide d'une bascule JK avec J = K = 1 on a : Q n+1 = Q n . Ainsi,
cette bascule est ralisable avec une bascule JK.
Tlcom INT 81
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Pour lever toute ambigut, on rappellera les symboles utiliss par la norme en
vigueur :
En plus de ces symboles, les constructeurs reprsentent aussi la nature du signal actif
C attendu dans la colonne CLK de la table de vrit du composant.
Le symbole :
prcise qu'
il s'
agit d'
un niveau haut,
d'
un niveau bas,
n d'
un front montant ou d'
une impulsion ascendante,
p d'
un front descendant ou d'
une impulsion descendante.
J Q
K Q
Tlcom INT 82
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Horloge
t setup t hold
Entres
Synchrone
Tlcom INT 83
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
D Q
validation C Q
)- Symbole IEEE/ANSI du circuit intgr TTL 7475 qui contient quatre lments de
mmoire D (figure IV-20) :
7475
1D 1D 1Q
validation C1 1Q
C2 2Q
2D 2D 2Q
3D 3D 3Q
validation C3 3Q
C4 4Q
4D 4D 4Q
Tlcom INT 84
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
- Les deux mmoires du haut ont une entre de validation commune, soit C1
et C2 raccordes en interne et combines sur une seule broche du boitier
du circuit intgr;
- De mme, les deux mmoires du bas partagent une entre de validation
commune.
)- Symbole IEEE/ANSI d' une bascule D simple dclenche par un front montant et
munie d'
entres asynchrones (figure IV-21) :
RAU
S
D Q
CLK C Q
R
RAZ
)- Symbole IEEE/ANSI du circuit intgr TTL 74175 qui contient quatre bascules D
avec horloge et remise zro communes (figure IV-22) :
74175
RAZ R
CLK C
1Q
1D 1D
1Q
2Q
2D
2Q
3Q
3D
3Q
4Q
4D
4Q
Tlcom INT 85
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
)- Symbole IEEE/ANSI d' une bascule JK simple dclenche par un front descendant
et munie d'
entres asynchrones (figure IV-23) :
RAU
S
J Q
CLK C
K Q
R
RAZ
)- Symbole IEEE/ANSI du circuit intgr TTL 74112 qui contient deux bascules JK
dclenches par un front descendant dotes d'
entres asynchrones pour la mise
1 et la remise 0 (figure IV-24) :
74112
1RAU S 1Q
1J 1J
1CLK C1
1K 1K
1RAZ R
1Q
2RAU 2Q
2J
2CLK
2K
2RAZ 2Q
Tlcom INT 86
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
3/ Les compteurs
3.1/ Introduction
Les compteurs sont les applications directes des bascules tudies prcdemment.
Il ne faut pas croire que les compteurs soient destins uniquement au comptage, ils
jouent en lectronique numrique un rle fondamental car ils grent les
squencements des oprations, ils divisent les frquences, ils participent de
nombreuses manipulations mathmatiques, des conversions de code, des
conversions analogiques-numriques et numriques-analogiques...
Ces compteurs sont trs simples. Ils sont trs nombreux sous formes de circuits
intgrs. Le terme asynchrone est justifi par le fait que toutes les bascules du
compteur ne sont pas commandes par les impulsions d' une seule horloge. La
simplicit du compteur est contrebalance par la limitation de sa vitesse de
fonctionnement.
Tlcom INT 87
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Q Q Q Q
1 0 1 1 1 2 1 3
J Q J Q J Q J Q
H
Q0
Q1
Q2
Q3
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
Tlcom INT 88
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Comme nous l' avons remarqu prcdemment, dans le cas o N = 2n, il suffit de
mettre n bascules en cascade et laisser le compteur compter. Intressons nous plutt
au cas o : 2 n-1 < N < 2 n (N n'
est pas une puissance de 2).
Une mthode simple pour concevoir ce type de compteur appel parfois compteur
cycle incomplet est la suivante :
d) Les sorties des bascules correspondant aux bits 1 du nombre binaire sont
envoys l'
entre d'
une porte NAND.
e) La sortie de la porte NAND est ensuite applique toutes les entres directes
CL (clear ou reset) des bascules.
La remise zro est effectue lorsque le nombre N est atteint car la sortie de
la porte NAND qui est alors gale 0 remet les bascules zro.
Q Q Q Q
1 0 1 1 1 2 1 3
J Q J Q J Q J Q
K K K K
Clear Clear Clear Clear
Tlcom INT 89
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Il faut noter toutefois que le principe de la remise zro que nous avons vu
prcdemment fonctionne correctement si :
- l'
tat 10 n'
apparat pas de faon transitoire en cours de fonctionnement,
- le top de RAZ peut tre maintenu assez longtemps (car il disparat ds que l'
on
quitte l'
tat 10).
Si le top de RAZ ne dure pas assez longtemps, on peut toujours l'allonger au moyen
d'
un circuit annexe comme un monostable par exemple (cf. Cours d'lectronique).
Une autre technique pour raliser un compteur par N avec 2 n-1 < N < 2 n consiste
intervenir directement sur les entres de commande Ji et Ki de telle manire que le
passage de N-1 0 se fasse logiquement. Pour ce faire on conditionne le changement
d'tat des entres Ji et Ki au moyen de portes logiques ralisant pour chaqu'
une de ces
entres la fonction logique souhaite obtenue pralablement partir de la table de
fonctionnement du compteur raliser.
Dans un compteur, si les bascules utilises sont d' un mme type et si la lecture
du contenu s' effectue la fin de chaque comptage, la vitesse de fonctionnement du
comptage dpend surtout de la premire bascule (qui est la bascule donnant le bit
LSB). Il est donc ncessaire de vrifier la compatibilit des caractristiques
dynamiques fmax et les divers temps de la bascule avec la forme et la frquence du
signal de comptage. Aussi faut-il noter que la condition "frquence du signal fmax"est
ncessaire mais souvent insuffisante. La forme du signal (symtrique ou asymtrique)
peut jouer un rle important.
Le problme peut devenir dlicat lorsqu' on doit travailler des frquences limites avec
un compteur constitu de bascules de types diffrents. Dans ce cas, il est souvent utile
de dterminer le diagramme temporel l' aide des paramtres de chaque bascule et
vrifier que les contraintes temporelles sont satisfaisante.
Tlcom INT 90
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Q Q Q
1 0 1 1 1 2
J Q J Q J Q
K Q K Q K Q
C=0 C=2
Q0
Q
1
Q 7 0 1 2 3 4 5 6 7 0
2
6 4 0 2 0 4 6 4
C=0
C=2
t r (retard d'un tage)
parasites de dcodage
Ces parasites de dcodage peuvent avoir des effets gnant et provoquer des alas de
fonctionnement comme dans le cas de la figure IV-28 ou le compteur C trois tages
prcdent commande un bistable.
Tlcom INT 91
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
H CLK
Compteur
Q2 Q1 Q0
(C=0)
S Q B
(C=2)
R Q B
Le diagramme des temps (figure IV-29) montre que le parasite de dcodage sur C = 0
qui se produit la transition 3 vers 4 peut dclencher par erreur la mise 1 du
bistable et provoquer un alas de fonctionnement.
Q
0
Q
1
Q 7 0 1 2 3 4 5 6 7 0
2
6 4 0 2 0 4 6 4
C=0
(Set)
C=2
(Reset)
Ala : B = 1 au lieu de 0
H CLK
Compteur
Q2 Q1 Q0
(C=0).H
S Q B
(C=2).H
R Q B
Tlcom INT 92
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Q0
Q
1
Q 0 1 2 3 0
7 4 5 6 7
2
6 4 0 2 0 4 6 4
C=0
(Set)
C=2
(Reset)
(C=0).H
(C=2).H
Toutes les bascules reoivent en mme temps le mme signal d' horloge H.
L'inconvnient des impulsions parasites des compteurs asynchrones est supprim car
les tats des bascules changent simultanment. Certes les compteurs synchrones sont
plus complexes que les compteurs asynchrones cependant leurs performances et leur
souplesse d'emploi les rendent plus populaires que les autres; en plus leur complexit
devient de moins en moins significative avec l'
volution de la technologie intgre.
L'elaboration d'
un compteur synchrone est plus complique que celle d'un
compteur asynchrone. Le problme rsoudre consiste en la dtermination des
fonctions de programmation Ji et Ki.
Pour expliquer la dmarche suivre, nous allons prendre le cas de la construction d'
un
compteur asynchrone modulo 16. Dmarche qui sera gnralisable par la suite.
Tlcom INT 93
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Dans le cas gnral, une bascule JK est dcrite par sa table de vrit. Ici, il est
ncessaire de dterminer la table des valeurs des entres J et K connaissant
l'
volution dsire des sorties. Il est donc prfrable de faire appel la table de
fonctionnement d'une bascule JK, c'est--dire comme nous l'
avons vu :
Qn Qn+1 Jn Kn
0 0 0 On rappelle que dans la table de
0 1 1 fonctionnement de la bascule JK, les
1 0 1 tats indiffrents sont reprs par .
1 1 0
Dans le cas de notre exemple du compteur modulo 16, cela donne les tables de
fonctionnement et des tats suivantes :
Etat Q3 Q2 Q1 Q0 J0 K0 J1 K1 J2 K2 J3 K3
0 0 0 0 0 1 0 0 0
1 0 0 0 1 1 1 0 0
2 0 0 1 0 1 0 0 0
3 0 0 1 1 1 1 1 0
4 0 1 0 0 1 0 0 0
5 0 1 0 1 1 1 0 0
6 0 1 1 0 1 0 0 0
7 0 1 1 1 1 1 1 1
8 1 0 0 0 1 0 0 0
9 1 0 0 1 1 1 0 0
10 1 0 1 0 1 0 0 0
11 1 0 1 1 1 1 1 0
12 1 1 0 0 1 0 0 0
13 1 1 0 1 1 1 0 0
14 1 1 1 0 1 0 0 0
15 1 1 1 1 1 1 1 1
0
table de fonctionnement tables des tats Ji et Ki
Tlcom INT 94
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
) Pour la bascule B0 :
J0 K0
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 1 1 00 1 1
01 1 1 01 1 1
11 1 1 11 1 1
10 1 1 10 1 1
J0 = 1 K0 = 1
) Pour la bascule B1 :
J1 K1
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 0 1 00 1 0
01 0 1 01 1 0
11 0 1 11 1 0
10 0 1 10 1 0
J 1 = Q0 K1 = Q0
Tlcom INT 95
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
) Pour la bascule B2 :
J2 K2
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 0 0 1 0 00
01 01 0 0 1 0
11 11 0 0 1 0
10 0 0 1 0 10
J2 = Q1.Q0 K2 = Q1.Q0
) Pour la bascule B3 :
J3 K3
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 0 0 0 0 00
01 0 0 1 0 01
11 11 0 0 1 0
10 10 0 0 0 0
J3 = Q2.Q1.Q0 K3 = Q2.Q1.Q0
d) Ralisation des liaisons entre les bascules en tenant compte des expressions
logiques des entres J et K de chaque bascule.
Dans le cas d' un compteur modulo N = 2n, il existe deux modes de ralisation
des fonctions de programmation des entres Ji et Ki : une dite srie et l'
autre
dite parallle.
Dans le cas de notre compteur modulo 16, il vient (figures IV-32 et IV-33) :
Tlcom INT 96
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
J0 Q0 J1 Q1 J2 Q2 J3 Q3
H0 H1 H2 H3
K0 K1 K2 K3
J0 Q0 J1 Q1 J2 Q2 J3 Q3
H0 H1 H2 H3
K0 K1 K2 K3
Les rsultats obtenus avec notre compteur par 16 sont tout fait gnralisable dans le
un compteur synchrone modulo 2n :
cas d'
- les entres Ji et Ki ne dpendent que des sorties de rang < i,
- J 0 = K0 = 1
- Ji = Ki = Q0.Q1. ... . Qi-1 avec : i = 1, 2, ... , n
Soit N tel que : 2n-1 < N <2n. Dans ce cas l, comme nous l' avons vu
prcdemment, le nombre de bascules ncessaire la ralisation du compteur modulo
N sera de n.
La mthode que nous avons prsente lors de la ralisation d' un compteur synchrone
modulo N = 2n demeure parfaitement applicable ceci prs qu' il sera ncessaire dans
n
le cas du compteur synchrone modulo N 2 (avec 2 n-1 < N <2n) "d' interrompre" la
n
squence normale du comptage du compteur modulo 2 en effectuant une remise
arrive du Nime signal dhorloge actif.
zro du compteur l'
Tlcom INT 97
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Pour raliser cette remise zro trois techniques sont envisageables partir des
un compteur modulo 2n :
tables compltes de fonctionnement et des tats Ji et Ki d'
) Mthode 1 : Effectuer une action sur les entres de forage (Clear, Reset, R)
l'
arrive de l'
tat N.
Quelle que soit la mthode utilise, il faut vrifier que si, la suite de la mise sous
tension ou la suite de perturbations dues l'environnement, le compteur vient se
retrouver dans un tat m tel que N m 2n alors il retourne bien de lui-mme au bout
de quelques impulsions sa squence normale de fonctionnement et ne risque donc
pas de rester dans un cycle parasite.
F
Q1
Q3 Q0 00 01 11 10
Q2
00 1 1 1 1
01 cases correspondant
1 1 1 1
aux tats (11) (15)
11
10 1 1 0 Soit pour expression : F = Q1 + Q3 = Q1 .Q3
Tlcom INT 98
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
Cette expression est simplifie par le fait que les tats (11) (15) ne doivent pas
intervenir ce qui permet de mettre des tats indtermins dans les cases
correspondante du tableau de Karnaugh.
Dans le cas prsent, les expressions logiques des entres synchrones J et K non pas t
modifies. De ce fait, le compteur est normalement cabl pour fonctionner en modulo
16 s'
il n'
y avait pas de forage zro arriv l'
tat "furtif" (10) qui conduit de manire
quasi-immdiate et asynchrone l' tat (0).
11 1 0 1 1 0 0 (asynchrone)
12 1 1 0 0 1 13 (synchrone)
13 1 1 0 1 1 14 (synchrone)
14 1 1 1 0 0 0 (asynchrone)
15 1 1 1 1 0 0 (asynchrone)
Ici, on peut constater que le compteur ne reste jamais dans un tat anormal et qu' il
finit, au pire au bout de deux signaux actifs d'
horloge, par retourner l'
tat (0). Si l'
on
veut que cela se passe plus rapidement, il faudrait alors remplacer les 1 dans les cases
12 et 13 du tableau de Karnaugh par des 0 ce qui donnerait alors comme expression
plus complexe de F : F = Q1 .Q 2 + Q3 .
Tlcom INT 99
C. VILLARD FONCTIONS ET CIRCUITS LOGIQUES
12
13
14
11 15
0
10
1
9
2
4
6
5
J0 Q0 J1 Q1 J2 Q2 J3 Q3
H0 H1 H2 H3
K0 K1 K2 K3
R R R R
F = Q1 . Q3
L'avantage de cette mthode repose sur sa simplicit nanmoins elle souffre de deux
inconvnients :
- Si les temps de propagation entre les entres de forage zro et les sorties
varient entre les bascules, l'impulsion de remise zro peut ne pas tre
suffisamment longue pour remettre zro toutes les bascules et seules celles
ayant un temps de propagation faibles seront remises zro.
Etat Q3 Q2 Q1 Q0 J0 K0 J1 K1 J2 K2 J3 K3
8 1 0 0 0 1 0 0 0
9 1 0 0 1 1 0 0 1
0 0 0 0 0
Compar au tableau d' un compteur modulo 16, seules les entres J1 et K3 sont
modifies. Il vient donc :
- Pour J1 :
J1
Q1
Q3 Q0 00 01 11 10
Q2
00 0 1 J1 = Q 0 .Q3 + Q 0 .Q 2
01 0 1
11 0 1 (
J1 = Q 0 . Q 2 + Q3 )
10 0 0
- Pour K3 :
K3
Q1
Q3 Q0 00 01 11 10
Q2
00 K 3 = Q 0 .Q1 .Q 2 + Q 0 .Q1 .Q 2
01
K 3 = J 3 + Q 0 .Q1 .Q 2
11 0 0 1 0
10 0 1 0 0
J0 Q0 J1 Q1 J2 Q2 J3 Q3
H0 H1 H2 H3
K0 Q0 K1 Q1 K2 Q2 K3 Q3
L'inconvnient bien videmment de cette mthode est qu' on obtient pour certaines des
entres Ji et Ki des expressions plus complexes que celles qui seraient obtenues si pour
les tats non utiliss m (N m < 2n) on mettait systmatiquement des dans les cases
Ji et Ki.
) Pour la bascule B0 :
J0 K0
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 1 1 00 1 1
01 1 1 01 1 1
11 11
10 1 10 1
J0 = 1 K0 = 1
) Pour la bascule B1 :
J1 K1
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 0 1 00 1 0
01 0 1 01 1 0
11 11
10 0 0 10
J1 = Q 0 .Q3 K1 = Q0
) Pour la bascule B2 :
J2 K2
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 0 0 1 0 00
01 01 0 0 1 0
11 11
10 0 0 10
J2 = Q1.Q0 K2 = Q1.Q0
) Pour la bascule B3 :
J3 K3
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 0 0 0 0 00
01 0 0 1 0 01
11 11
10 10 0 1
J3 = Q2.Q1.Q0 K3 = Q0
Etat suivant
Etat prsent Q3 Q2 Q1 Q0 J 0 K0 J 1 K1 J 2 K2 J 3 K3
(synchrone)
10 1 0 1 0 1 1 0 0 0 0 0 0 1011 (11)
11 1 0 1 1 1 1 0 1 1 1 0 1 0100 (4)
12 1 1 0 0 1 1 0 0 0 0 0 0 1101 (13)
13 1 1 0 1 1 1 0 1 0 0 0 1 0100 (4)
14 1 1 1 0 1 1 0 0 0 0 0 0 1111 (15)
15 1 1 1 1 1 1 0 1 1 1 1 1 0000 (0)
En conclusion donc le graphe complet des tats de notre compteur modulo 10 peut-tre
dans le cas prsent schmatis comme sur la figure IV-37.
14
15
0
9 1
8 2
7
3
6
4 11 10
5
13
12
On constate donc que le compteur ne reste jamais bloqu dans un tat anormal, d'
o le
schma de la figure IV-38.
J0 Q0 J1 Q1 J2 Q2 J3 Q3
H0 H1 H2 H3
K0 Q0 K1 Q1 K2 Q2 K3 Q3
Remarque : Au lieu dutiliser des portes logiques ET, on peut aussi utiliser des
bascules JK plusieurs entres J et K comme sur les boitiers : 7470, 7472, 74105, ...
3.3.4/ Compteur-Dcompteur
Le comptage dans la progression directe (up counter) est une opration normale.
Dans de nombreuses applications, on peut tre amen donner l' ordre de dcompter
(ou de compter dans la progression inverse) au moment o le comptage atteint une
valeur bien dfinie. Il faut pour cela un systme permettant les deux oprations :
comptage - dcomptage (up down counting). Pour comprendre la mthode utilise pour
ce type de compteur, supposons que l'on ait raliser un compteur-dcompteur binaire
quatre bits command par une variable X telle que :
- lorsque X = 1 on obtient le comptage;
- lorsque X = 0 on obtient le dcomptage.
La mthode des tableaux de Karnaugh dcrite aux chapitres 3.2.2/ et 3.2.3/ peut tre
parfaitement applique pour dterminer les expressions logiques Ji et Ki de ce
Compteur-Dcompteur, il vient :
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 1 1 1 1 00 1 0 0 1
X=0 01 1 1 1 1 X=0 01 1 0 0 1
11 1 1 1 1 11 1 0 0 1
10 1 1 1 1 10 1 0 0 1
J 0 = K0 = 1 J1 = K 1 = X.Q 0 + X.Q 0
Q1 Q1
Q3 Q0 00 01 11 10 Q3 Q0 00 01 11 10
Q2 Q2
00 1 0 0 0 00 1 0 0 0
X=0 01 1 0 0 0 X=0 01 0 0 0 0
11 1 0 0 0 11 0 0 0 0
10 1 0 0 0 10 1 0 0 0
Ceci nous amne constater qu'une demande de commutation entre une opration de
comptage (X = 1) et une opration de dcomptage (X = 0) au moyen de la variable d
commande X a pour effet de remplacer dans les expressions logiques de Ji et Ki les
variables Q0, Q1, Q2, Q3 par Q 0 , Q1 , Q 2 , Q3 et inversement pour le passage entre
une opration de dcomptage et de comptage.
X
1
J0 J1 J2 J3
Q0 Q1 Q2 Q3
H0 H1 H2 H3
Q0 Q1 Q2 Q3
K0 K1 K2 K3
J 3 = J 2 .Q 2 .X + J 2 .Q 2 .X = J 2 .Q 2 .X.J 2 .Q 2 .X
X
1
J0 J1 J2 J3
Q0 Q1 Q2 Q3
H0 H1 H2 H3
Q0 Q1 Q2 Q3
K0 K1 K2 K3
Compte tenu de la symtrie du montage, il est possible d' tudier une partie (relative
Q3 Q2 Q1 Q0 par exemple) et en dduire ensuite l' autre ( Q3 Q 2 Q1 Q 0 ). Cela revient
dire que les rsultats des mthodes des paragraphes 3.2.2/ et 3.2.3/ sont tout fait
applicables ici condition bien sr d'
ajouter la variable supplmentaire X.
En effet, on obtient :
On en dduit l'
autre partie du montage :
De mme, les compteurs programmables possdent une sortie spciale appele RCO
(Ripple Carry Out = Sortie du crneau de retenue) qui envoie une impulsion chaque
fois qu'
il y a dbordement. Ce qui permet de mettre plusieurs compteurs en cascade.
Pour les compteur-dcompteurs, il y a deux sorties de dbordement dont l' une est
appele CO (Carry-Out) pour signaler la fin de comptage et l' autre appele BO
(Borrow-Out) pour signaler la fin de dcomptage.
Prenons, par exemple, trois bascule D interconnectes comme sur la figure IV-41.
Entre DA QA DB QB QC
Donnes DC Sortie
HA HB HC
Horloge
Les entres HA, HB, HC sont commandes en mme temps par le signal d' horloge H.
Sachant, comme nous l' avons vu aux chapitres 2.3/ et 2.4/, que dans une bascule D
l'
tat suivant Qn+1 de la sortie Q est gal l'
tat prsent Dn de l'
entre D, on a donc :
Q A n+1 = D A n = information l'
entre
Q B n+1 = D B n = Q A n
QC n+1 = DC n = Q B n
Le fonctionnement du registre tudi est illustr figure IV-42 pour un signal d'
horloge
H et un signal d'
entre donns.
H
1 2 3 4 5 6 7
t
Signal
d'entre
t
QA retard
t
QB
t
QC
Horloge 1 2 3 4 5 6 7
Entres 0 0 1 0 0 0 0
QA 0 0 0 1 0 0 0
QB 0 0 0 0 1 0 0
QC 0 0 0 0 0 1 0
Ce qui montre que l'information applique l'entre est dcale au fur et mesure (au
rythme des coups d' horloge) de gauche droite.
L'entre du premier tage, sans antcdent, s' appelle entre srie tandis que la
appelle sortie srie.
sortie du premier tage, sans successeur, s'
Une information peut tre introduite d' un seul coup dans le registre dcalage par le
biais des entres des bascules. Gnralement un signal de validation
( SH / LD = Shift/Load) permet d' autoriser le chargement parallle ou le chargement
srie (c'
est--dire l'
opration de dcalage). Dans ce cas, on dit que le registre possde
une entre parallle. Quoi qu' il en soit, le dcalage s' effectue toujours en
synchronisation avec l'horloge.
Sorties parallles
Sortie srie Sortie srie
(dcalage gauche) (dcalage droite)
droite
Dcalage Entres parallles
gauche
ES SS SS ES
0 0 1 1 0 (info = 6) 0 1 1 0 0 (info = 6)
avant avant
ES SS SS ES
0 0 0 1 1 (info = 3 = 6/2) 1 1 0 0 0 (info =12 = 6x2)
aprs aprs
Dcalage logique droite sans sauvegarde Dcalage logique gauche sans sauvegarde
ES SS SS ES
0 0 1 1 0 X X 0 1 1 0 0
avant bascule bascule avant
ES SS SS ES
0 0 0 1 1 0 0 1 1 0 0 0
aprs aprs
Dcalage logique droite avec sauvegarde Dcalage logique gauche avec sauvegarde
ES SS SS ES
0 1 1 0 0 1 1 0
avant avant
ES SS SS ES
0 0 1 1 1 1 0 0
aprs aprs
Dans le cas d'un dcalage arithmtique droite cela ne pose pas de problme; le bit de
signe est rinject ce qui revient dire qu'un 1 est mis sur l'entre srie. En d' autres
termes le bit de signe est propag. Dans le cas d'un dcalage arithmtique gauche, le
bit de signe doit tre vacuer; ce qui sous-entend que l' information "signe" peut
devenir fausse. Il est donc ncessaire d'informer l'utilisateur lorsqu'un changement de
signe est survenue la suite d' un dcalage arithmtique gauche. Ce problme que
pose donc la perte potentielle du bit de signe et la ncessit d'en informer l'utilisateur
fait qu'il n'existe pas de boitier "tout fait" offrant la possibilit d' effectuer une
opration de dcalage arithmtique gauche. A ce jour, seul le boitier 74322 offre une
solution intgre en ce qui concerne la fonction dcalage arithmtique doite. En
revanche, la fonction dcalage arithmtique gauche fait gnralement partie, tout
comme les autres types d' oprations de dcalage que nous venons de voir, de la
palettes des instructions disponibles sur des composants logiques beaucoup plus
complexes que les simples circuits intgrs classiques que nous avons vu jusqu'
prsent (portes, bascules, compteurs, registres,...) et que l'
on nomme microprocesseurs
ou microcontrleurs (cf. chapitre VI). Ces composants, "plus intelligents", informent le
cas chant l' utilisateur d'un changement de signe intervenu la suite d' une
instruction de dcalage arithmtique gauche.
a) Le compteur en anneau
Entre DA QA DB QB QC
Donnes DC
HA HB HC
Horloge
Schma
H
1 2 3 4 5
DA t
100
t
QA
t 010 001
QB
t
QC
Diagramme Temporel
On doit remarquer tout de suite que pour sassurer quune seule des bascules soit dans
l'
tat 1, il faut initialiser le compteur l'
aide des entres asynchrones : on envoie une
impulsion sur l' entre "Clear" (= R = Reset = Remise zro) de n-1 bascules et sur
l'
entre "Preset" ( = S = Set = Praffichage) de la bascule restante dans le cas d' un
compteur n bascules. Cette impulsion de positionnement initial peut tre applique
au moment de la mise sous tension du montage l' aide d'un circuit simple permettant
de gnrer une impulsion partir de l' alimentation Vcc comme nous l' avons vu au
chapitre II-5.1.2.1.f ) et qui est rappel ci-dessous (figure IV-48).
Vcc
Vcc
R
A RZ A
RZ
b) Le compteur de Johnson
Le registre dcalage est toujours boucl sur lui-mme mais ici (figure IV-49) la
sortie Q de la dernire bascule est relie l'
entre srie de la premire bascule.
Entre DA QA DB QB QC
Donnes DC
HA HB HC
QC
Horloge
Schma
Impulsion A B C
0 0 0 0
1 1 0 0
2 1 1 0
3 1 1 1
4 0 1 1
5 0 0 1
ES
Q0 Q1 Q2 Q3
T0
T1
T2
T3
T0 T1 T2 T3
L'echange d' informations entre deux systmes par des bus parallles n fils
convient pour des liaisons courtes (quelques mtres). Au-del, l' information se
transmet sous forme srie. Un registre dcalage, en fait, sert principalement
transmettre ou recevoir une information en srie. En transmission, il est charg
paralllement avec l' information transmettre puis dcal bit bit. En transmission,
il reoit les bits en srie et reconstitue l'
information parallle. On les retrouve dans ce
qu' on appelle des circuits UART (Universal Asynchronous Receiver Transmitter) ou
USART (Universal Synchronous Asynchronous Receiver Transmitter) voire DUART
(Dual Universal Asynchronous Receiver Transmitter). Ces circuits prennent en charge
la conversion parallle-srie et srie-parallle (figure IV-51).
ES = Emission en Srie
UTILISATEUR UTILISATEUR
RS = Reception en Srie
A B
UART UART
Commandes Commandes
ES RS
Donnes
Srie
Donnes parallles RS ES Donnes parallles
Une mmoire FIFO (First In, First Out) reoit de l' information en entre et la
restitue en sortie dans l'
ordre d' arrive (premier entr, premier sorti). Le plus souvent
elle sert harmoniser les diffrences de dbits instantans entre deux systmes.
Si S1, systme rapide, envoie directement de l' information S2, systme lent, il
travail au rythme de S2. En revanche, avec une mmoire FIFO entre S1 et S2, chacun
travail sa vitesse propre. Il faut toutefois veiller ce que la FIFO ne s'
engorge pas
(figure IV-52).
Systme S1 Systme S2
(rapide) (lent)
Systme S1 Systme S2
FIFO
(rapide) (lent)
1 1 2 . . . n
2
1 2 . . . n
Ecriture
Logique de gestion
Lecture
N = nombre de mots
n = nombre de bits par mots
74174
MR R
CP C1
D0 1D Q0
D1 Q1
D2 Q2
D3 Q3
D4 Q4
D5 Q5
74164
SRG 8
MR R
CP C1 / -->
A
& 1D Q0
B
Q1
Q2
Q3
Q4
Q5
Q6
Q7
1/ Introduction
Dans les chapitres prcdents, nous avons vu qu' il existait en technologie
intgre des circuits spcialiss (codeurs, comparateurs, compteurs, ...) prts
l'
emploi. Un utilisateur qui a besoin par exemple de raliser une fonction comptage
peut parfaitement choisir dans un catalogue de circuits le compteur qui lui convient le
mieux et l'utiliser dans son application sans se proccuper de sa structure interne qui,
quant elle, a t l'
affaire du constructeur. En tant qu' utilisateur, son seul soucis est
alors de faire en sorte que les conditions d'exploitations spcifies par le constructeur
soient respectes.
Dans ce chapitre, nous allons voir qu' il existe des circuits personnalisables qui ne
remplissent pas une fonction dtermine comme les circuits spcialiss prcdents
mais qui s' adaptent dans une large mesure un trs grand nombre de fonctions. Pour
cela, il faut programmer sa structure interne qui comprend des portes ET , OU,
INVerseuses et des bascules.
Pour personnaliser lui-mme ses rseaux logiques, l' utilisateur besoin d' un
quipement simple qui se rsume d' une part un logiciel de dveloppement (parfois
gratuit) tournant sur ordinateur et d' un programmateur. Le logiciel prend en charge
la programmation des rseaux en fonction de la description des fonctions logiques
devant tre obtenues ainsi que leur vrification par "simulation logique". Le
programmateur est une sorte de "boite noire" sur laquelle apparat un (ou des)
support(s) de composant. Cette boite contient un certain nombre de circuits capables
de reproduire sur les pattes du rseau programmables enfich ce(s) support(s) les
signaux ncessaire sa programmation. Le programmateur est pilot par le logiciel de
dveloppement et est gnralement reli l' ordinateur via une liaison parallle. Il
faut noter que certains rseaux programmables (les EPLDs = Erasable Programmable
Logic Device) sont effaables et donc reprogrammables souhait.
Derrire le sigle PLD ou Programmable Logic Device qui est un nom gnral pour
dsigner les circuits programmables se cachent d'
autres sigles :
On remarque sur cette figure V-1 que les portes ET ainsi que les portes OU n' ont
plus qu' une entre quivalente symbolise et que des croix marquent les
connexions avec les variables directes et inverses. Ces croix indiquent la prsence
de fusibles. Programmer un circuit logique programmable revient donc dtruire
ou non ces fusibles et ce afin d'
obtenir en sortie la fonction logique souhaite.
Ce symbolisme condens est propre aux circuits programmables. La figure V-2 ci-
dessous donne une vue agrandie d' une porte ET dont les connexions apparaissent
suivant ce symbolisme condens. Les fusibles intacts relient les variables A, B, C
aux entres de la porte ET. Les fusibles enlevs donnent un "1" sur les autres
entres de sorte que la porte ET calcule : 1. A.B.1.C = A.B.C
A A
B B
Connexion par
micro-fusible
C C
Les FPLAs et les FPLSs ont t les prcurseurs des circuits programmables.
Initialement crs par le constructeur MMI (Monolithic Memories Incorporation) vers
les annes 1970, les PAL ont t les successeurs des FPLAs et FPLSs. Ils sont ce
jour les plus rpandus.
3/ Les PALs
Les PALs (Programmable Array Logic) possdent un rseau programmable de
portes ET et un rseau fixe de portes OU (figure V-3). Comme le montre en partie la
figure V-3, un rseau PAL se compose donc des "couches" logiques suivantes :
- un certain nombre de broches d' entre, quipe chacune d' un inverseur
permettant de disposer la fois du signal d'
entre et de son complment.
- un rseau "fixe" de portes OU recevant chacune les sorties d'
un certain nombre
de portes ET.
L'architecture interne des circuits PAL dcoule de la constatation selon laquelle toute
fonction logique combinatoire peut se ramener un "somme de produits" Rappelons
que le terme "somme" dsigne conventionnellement le OU logique et le terme "produit"
le ET logique. Les sorties des portes ET se nomment "termes de produits" et sont
regroupes (typiquement par 8) au niveau des portes OU attaquant les sorties du
PAL; c' est l que s'
effectue la "somme de produits" finale.
La rfrence de chaque PAL, outre des informations d' intrt secondaire, contient une
"racine" capable de renseigner sur l'
organisation interne du composant. Le circuit PAL
16L8, par exemple, dispose d' une matrice 16 entres (soit 32 verticales avec les
complments) et de 8 sorties actives l'
tat bas (active Low). Mme capacit en ce qui
concerne le circuit PAL 16R8 ceci prs que les sorties sont quipes de bascules
(Registered).
En lieu et place des lettres L (pour Low) ou R (pour Registered) qui apparaissent sur
la rfrence du PAL et qui indiquent la configuration des sorties peuvent aussi figurer
d'autres lettres identifiant d'
autres types de sorties comme un H pour spcifier des
sorties actives au niveau Haut, un X quant les sorties sont quipes de bascules dont
les entres se font sur des portes OU-EXclusives ou bien un P pour des sorties
polarit Programmable. Il existe aussi des PALs "V" comme variable ou "G" comme
gnrique qui peuvent tre programmes pour "muler" plusieurs rfrences
courantes. Pour ce faire, une "macrocellule" elle-mme programmable remplace le
circuit de sortie habituel.
La socit ALTERA propose, pour sa part, des EPLD universels effaables aux
ultraviolets dont l'EP330 capable de simuler 18 rfrences courantes de PALs. Des
utilitaires gratuits sont disponibles pour convertir les programmes crits pour les
PALs standards (mais videmment pas l' inverse !).
D'
autres marques disposent de PALs universelles standardises : les GALs
L'inconvnient majeur de tous ces composants par rapport aux PALs standards est
qu'il est trs difficile sinon impossible d'
avoir connaissance des donnes ncessaire la
ralisation d' un programmateur "maison"; il faut donc utiliser un programmateur
"agr" par la marque (infiniment plus coteux) ou bien encore faire programmer ses
pices l'extrieur.
Ceci explique le succs des PALs standards malgr leur manque de souplesse
1/ Qu'
est-ce qu'
un systme microprocesseur ?
Pour simplifier l'
extrme, on peut dire qu'
un microprocesseur est un circuit qui
sait excuter toutes les fonctions logiques courantes : fonction OU, fonction ET,
fonction OU-EXCLUSIF, etc. Le choix de la succession des fonctions excuter est
dfini par un programme.
RegistresAccumulateur
ALU
Les lments que doit traiter le microprocesseur sont puiss dans des registres. Ces
registres sont des bascules de type "latch" regroupes par nombre de 8, 16, 3 ou 64
selon le microprocesseur. Le rsultat de chaque opration est aussi plac dans un
registre.
Le plus souvent le rsultat est plac dans un registre spcial. Ce registre est souvent
utilis comme source et destination pour les donnes qui seront traites par l' ALU. Ce
registre, en raison de son rle intensif, est appel accumulateur. Toutes les donnes du
programme transitent par ce registre, du moins temporairement.
Pour circuler entre les diffrents registres du microprocesseur, les donnes transitent
sur ce qu'on appelle un "bus". Le bus des donnes est commun tous les registres du
microprocesseur. Il est donc ncessaire de grer les transferts qui ont lieux sur ce bus.
Il est important de respecter des temps prcis pour que les donnes s' acheminent sans
encombre. Une logique de contrle est intgre dans le microprocesseur. Elle se charge
d'arbitrer ces oprations de faon transparente par le monde extrieur.
vnements internes du microprocesseur. C' est cette unit qui active, entre autres
choses, les signaux d' criture des diffrents registres. Le squenceur est rythm par
une horloge. C'est de la frquence de cette horloge que dpendra la vitesse d'excution
du microprocesseur.
Le circuit qui contient la case mmoire demande en place le contenu sur le bus des
donnes. Toujours grce au squenceur, la valeur prsente sur le bus des donnes (le
code de l'instruction) est ensuite achemine vers un lment dont nous n' avons pas
encore parl : le dcodeur d'
instructions.
Pour que le programme puisse progresser d' instructions en instructions, il faut bien
videmment mettre jour le registre PC. On parle d' incrmentation du registre PC.
Certaines instructions complexes peuvent occuper plusieurs cases mmoires. Le
dcodeur d'instructions doit donc indiquer au squenceur la valeur qui sera ajoute au
registre PC. Sans entrer plus en avant dans le dtail des mcanismes qui font
fonctionner un microprocesseur, sachez que la mise jour du registre PC s' effectue
avant l'excution de l' instruction demande. Cette faon de faire est ncessaire
puisque certaine instructions peuvent modifier le contenu du registre PC (par exemple
appel un sous-programme).
Les instructions que le microprocesseur excute concernent des donnes qui viennent
du monde extrieur. De plus, le rsultat des oprations est inutile si on ne peut pas
transmettre aussi vers le monde extrieur. Il est donc ncessaire de disposer
d'informations concernant la provenance et la destination des donnes qui sont
concernes par une instruction.
Ces informations sont associes chaque instruction au moyen d' un format dfini
d'avance par le constructeur du microprocesseur. Par exemple, de nombreuses
instructions sont dfinies pour utiliser la ou les donnes qui suivent le code de
l'
instruction.
Les cases mmoires sont donc une succession de codes d' instructions et de donnes
associes aux instructions. Les donnes en questions peuvent tre des adresses de
cases mmoires o le microprocesseur rangera le rsultat des oprations demandes.
Toutes ces possibilits sont figes, une fois pour toutes, par le jeu d'
instructions que
reconnat le microprocesseur.
Le microprocesseur doit changer les donnes avec des dispositifs extrieurs par
l'
intermdiaire des bus. Il faut donc que le squenceur puisse informer ces dispositifs
du sens du transfert. Le squenceur doit aussi indiquer quel moment les signaux sur
les bus sont valides car comme nous l' avons vu aux chapitres prcdents rien n' est
instantan. C'est pourquoi on trouve toujours des signaux de commande associs aux
bus de donnes et au bus d' adresses. En plus du signal d' horloge et du signal de reset,
on trouve au moins des signaux d' criture et/ou de lecture. Toujours parmi les signaux
de commande associs un microprocesseur on trouve aussi des signaux
d'interruption. Par ce moyen, on fait savoir au microprocesseur qu' un dispositif
extrieur demande une action immdiate. Les interruptions permettent de partager le
temps d' excution du microprocesseur entre diffrentes tches de priorits diffrentes.
Tous ces lments apparaissent sur la figure VI-2 qui donne un synoptique simplifi
d'
un microprocesseur.
Bus de Donnes
Horloge Dcodeur
d'Instructions
Bus de
Squenceur Compteur Registre
Commande de de
Programme Donnes
ALU
Reset
Accumulateur
Bus d'Adresses
Comme nous l' avons laiss entendre, un microprocesseur besoin pour travailler
correctement d' un certain nombre de circuits logiques annexes commenc par un
circuit mmoire qui contient le programme de l'utilisateur c'
est--dire l'
ensemble des
instructions excuter. Pour un petit systme microprocesseur, ce programme est
gnralement stock dans ce qu' on appelle une mmoire morte tandis que les donnes
et rsultats des oprations sont souvent stocks dans ce qu' on appelle une mmoire
vive. Mais les botiers de mmoire ne sont gnralement pas les seuls composants
prsents dans un systme microprocesseur. On retrouve aussi d' autres botiers de
circuits logiques dits d' entres/sorties qui ont pour vocation de permettre la
transmission et/ou la rception de donnes entre le systme microprocesseur et
d'autres dispositifs extrieurs. Ces dispositifs extrieurs peuvent, par exemple, tre un
clavier, un cran, un lecteur de disquette, de disque dur, une imprimante, etc., voire
un autre systme microprocesseur.
Quoi qu' il en soit, ces circuits logiques ddis la communication sont vues par le
microprocesseur comme des cases mmoires plus ou moins nombreuses selon la nature
du dispositif. C'est au programme (donc l' utilisateur) de savoir de quelle faon et
dans quel ordre il faut envoyer des donnes dans ces cases mmoires.
En rsum donc du point de vue du microprocesseur tout n' est que de la mmoire
ajoute. Recevoir une donne (qui peut tre une instruction) revient lire dans une
case mmoire. Transmettre une donne revient crire dans une case mmoire.
Cependant, comme nous venons de le voir physiquement cela se traduit par la
prsence effective de botiers mmoires mortes ou vives mais aussi par la prsence de
botiers rservs la communication entre le microprocesseur et des dispositifs
extrieurs.
En consquence de quoi, il n' existe pas un seul et unique botier mmoire mais
plusieurs. C'
est pourquoi il apparat toujours dans un systme microprocesseur un
certain nombre d' autres botiers logiques destins raliser la fonction logique de
dcodage qui assure la slection de tel ou tel botier "mmoire" suivant la valeur
prsente sur le bus d'
adresses.
Bus d'Adresses
Horloge
Reset
Bus de Donnes
Bus de Commande
2/ Les mmoires
Comme nous venons de le voir, dans un systme microprocesseur, les mmoires
permettent le stockage et la conservation des donnes. Une mmoire peut tre
considre comme une collection de cases; chaque case est caractrise par une
adresse et contient une information. La taille de la mmoire dtermine le nombre
d'adresses possibles (figure VI-4). Chaque mmoire est constitue de mots eux mme
constitus de bits. Un mots de 8 bits est appel octet. La figure VI-4, montre une
mmoire dont la capacit est de 2048 mots (211 = 2048) dont la taille est de 8 bits.
Une mmoire de 4 Koctets indique une capacit de 4 x 1024 mots de 8 bits
(1 K = 1024).
Sans entrer trop dans les dtails, on peut dire qu' ce jour la mmoire idale aussi
facile crire qu' lire et qui conserve son contenu en cas de coupure de tension
d'alimentation n' existe pas. Il y a des mmoires dites mortes ou permanentes qui sont
faciles lire, difficiles crire mais qui gardent leur contenu en cas de coupure de
tension. Il y a des mmoires dites vives qui sont faciles lire et crire mais qui
perdent leur contenu en cas de coupure de tension.
Taille du mot = 8 bits
7 6 5 4 3 2 1 0
Mot 0
Mot 1
Mot 2
Capacit
2048 mots
Mot 2046
Mot 2047
3/ Les microcontrleurs
Un microcontrleur est tout simplement un circuit logique intgr rassemblant
dans un seul et mme botier un microprocesseur, de la mmoire et des circuits
d'entres-sorties. L'
architecture matrielle de ce composant et son jeu d'
instruction
sont en gnrale optimiss pour des applications orientes vers le domaine des
automatismes logiques.
Les microcontrleurs munis d' une mmoire ROM interne "masque" conviennent des
fabrications en grandes sries (lectromnager, automobile, etc.).
Il s'
agit souvent de microcontrleurs choisis parmi les plus rpandus et donc faciles
se procurer des prix raisonnables.
Parmi ceux-ci :
) les membres de la famille 8051 (AMD, Intel, Philipps, Siemens, Temic, etc.).
Les versions EPROM se nomment 8751 (4K octets) et 8752 (8K octets). Leur
structure interne ainsi que leur brochage sont indiqus sur la figure VI-6. On
constate que 32 broches sur 40 sont affectes 4 ports d'entres/sorties (P0,
P1, P2, P3) de 8 lignes chacun ce qui ne laisse que 8 broches pour
l'alimentation (Vcc, Vss), le quartz de l'
horloge (XTAL1, XTAL2) et quelques
(
lignes de signaux annexes PSEN, ALE / PROG, EA / VPP, RST . )
) le 68HC11 de chez Motorola.
Il est quip d'une EEPROM (512 octets) c' est--dire d'
une EPROM effaable
lectriquement. Il est disponible en botier plastique 48 ou 52 broches qui
offre assez de place pour 5 ports d'
entres/sorties dont 3 8 lignes chacun (PA,
PB, PC), 1 6 lignes (PD) et 1 4 ou 8 lignes (PE) suivant qu' il s'
agit de la
version 48 broches ou 52 broches. Un convertisseur Analogique / Numrique
est par ailleurs intgr dans ce microcontrleur et accessible par le port E qui
perd alors sa fonction de port d'
entres/sorties numriques (cf. figure VI-7).