Académique Documents
Professionnel Documents
Culture Documents
Gaffe
Electronique
Numerique
Cours
Second semestre
C. Belleudy, D.Gaffe
version 4.4
Electronique
Numerique
Chapitre 1
Les circuits arithmetiques
1.1 Additionneur
1.1.1 Principe
0
1
1
2
1
2
2
3
0
0
0
1
0
1
1
1
0
1
1
0
1
0
0
1
1 1 0 1 0 1
1 0 1 1 1 0
1 1 0 0 0 1 1
Comme les manipulations binaires sont les memes pour chaque bits, nous concevons ladditionneur e lementaire ci-dessous et nous le dupliquons autant de fois que necessaire.
3
Electronique
Numerique
Ai
Bi
Ri
Si
R i-1
1
1
propagation
de la
retenue
i
S i
i
i-1
Ri
Remarque :
C.Belleudy, D.Gaffe
1.1.2 Demi-additionneur
Considerons le schema constitue de deux cellules identiques :
Zi
Xi
Ti
Yi
Ui
B
dou
Donc ce montage est e galement un additionneur e lementaire : Chaque cellule est appele demiadditionneur.
dou
Electronique
Numerique
).
Par contre il y a depassement de capacite si la somme de deux nombres positifs devient negative
ou la somme de deux nombre negatifs devient positive. Comme le signe est donne pas le bit le plus a`
gauche, le premier cas secrit :
et le second
.
dou
.
nombre de temps de
avec
cellules
portes a` 2 entrees
temps de
avec
portes a` 2 entrees
"
$%&
temps de
avec temps de
avec
portes a` 3 entrees portes a` 3 entrees
(sauf OU-exclusif)
#
$
!
$
!
$
Le besoin dadditionneurs de plus en plus performants, a conduit a` une nouvelle solution qui anticipe la valeur de la retenue dans les calculs au lieu dattendre sa propagation normale.
Le schema qui suit montre la structure dun tel additionneur. On peut se douter quil necessite
beaucoup plus de portes logiques :
Xn1
Yn1
X0
Y0
Xn
Yn
X0
Y0
Sn
Rn
X2
X1
Y1
X0
Y0
S2
R1
X
S1
R0
X
Y0
S0
Pour concevoir les modules speciaux danticipation de la retenue, il suffit de revenir a` lequation
C.Belleudy, D.Gaffe
de meme
et ainsi de suite...
On remarque que les e quations deviennent rapidement complexes, mais elles peuvent toujours
secrire comme une somme de produits. Donc leur temps devaluation est constant quel que soient
leur complexite ( ). Levaluation global de prend alors un temps de :
)
(retenue
(cellule )
Conclusion :
: additionneur classique a` cellules
: additionneur a` cellules avec retenues anticipees
Dans le cas de ladditionneur a` retenue anticipee, le temps de calcul ne depend plus du nombre
de cellules : il est constant. Ceci est particuli`erement avantageux pour les processeurs actuels qui
manipulent 32 bits de donnees voire plus.
Le miracle vient du fait que beaucoup de calculs se font simultanement en parall`ele. Le prix a`
payer est une explosion du nombre de portes logiques ; mais est-ce encore un probl`eme aujourdhui
avec le taux dintegration actuel de transistors sur un substrat de silicium ?
1.2 Soustraction
Dans un souci deconomie de circuits, la soustraction A-B est realisee, dans la majorite des circuits
numeriques, comme une addition entre A et la representation en complement a` deux de B (A+(-B)).
Le complement a` deux de B est facile a` obtenir car il suffit dinverser B et de lui ajouter globalement
au lieu de
1 et nous pouvons nous appuyer sur la propagation de la retenue en choisissant
!
Electronique
Numerique
A n-1
B n-1
A1
B1
A0
B0
R n-1
S n-1
S1
S0
A
B
1 0 1 0
1 0 1 1
1 0 1 0
1 0 1 0
0 0 0 0
1 0 1 0
1 1 0 1 1 1 0
Chapitre 2
Generateur de fonctions et de mintermes,
Multiplexeurs, Demultiplexeurs
2.1 Introduction
Dans tous les syst`emes numeriques o`u les traitements sur les informations sont effectues, il est
necessaire de les aiguiller suivant la fonction a` realiser. Le principe daiguillage du trafic ferroviaire
represente le mod`ele type de la notion de transfert dinformations. Plusieurs trains peuvent circuler
successivement sur une meme voie en provenance de lieux differents et transitant vers des destinations distinctes. Ces notions daiguillage sont les e lements de base du multiplexage et demultiplexage
numerique.
2.2 Le multiplexeur
2.2.1 La fonction de multiplexage
Le multiplexage est une operation qui consiste a` faire circuler sur un seul conducteur des informations provenant de sources multiples.
Donnes
E0
E1
Ei
aiguiller
Y= E i si S=i
E 2 n -2
E 2 n -1
slection
S n-1
S0
A partir de cette presentation fonctionnelle du multiplexeur, on va maintenant determiner la fonction logique realisee par ce type de circuit. Considerons la table de verite dun multiplexeur a` deux
entrees :
00
01
10
11
9
Electronique
Numerique
10
numero i) represente la fonction qui vaut 1 pour la combinaison dentree
(minterme
. Cest
a` dire :
o`u
Toute fonction logique combinatoire peut se mettre sous la forme canonique disjonctive :
representent les variables dentrees,
la valeur de la fonction lorsquon consid`ere
comme
le codage binaire de et la fonction binaire qui
vaut
1 seulement pour la com
o`u
binaison
consideree (minterme associe a` la combinaison
). En comparant lequation
precedente et celle e tablie pour la sortie dun multiplexeur a` n entrees, il est facile de voir quil est
possible de realiser toutes les fonctions de n variables : les entrees de selection du multiplexeur sont
alors les variables de la fonction et les entrees de donnees du multiplexeur permettent de selectionner
la fonction a` realiser. Prenons a` titre dexemple la table de verite presentee ci-dessous qui poss`ede
sur lequel les entrees du syst`eme traite
trois variables dentrees A, B, C et considerons un mpx "
sont connectees aux entrees de selection du mpx.
ABC
000
001
010
011
100
101
110
111
OUT
0
0
1
1
0
1
1
0
0
0
1
1
0
1
1
0
E0
E1
E2
E 3 MPX8>1
Y
E4
E5
E6
E7 S S S
2
1 0
OUT
A B C
C.Belleudy, D.Gaffe
11
Linconvenient majeur de cette approche reside dans le fait que le choix de laffectation des variables dentrees du syst`eme aux entrees de selection du multiplexeur est aleatoire. Pour obtenir une
solution optimale, il faudrait tester tous les choix possibles et ne retenir que la meilleure solution,
methode exhaustive qui peut-etre tr`es couteuse en temps.
AB=00,C
0
1
AB=01,C
0
1
AB=10,C
0
1
AB=11,C
0
1
E0
0
0
E1
1
1
E2
0
1
E3
1
0
0
1
C
C
E 0 MPX4>1
E1
Y
E2
E3
S1 S0
A
OUT
Les UALs (Unite arithmetique et logique) sont une des briques de base de tout microprocesseur
actuel. Elles sont composees de circuits arithmetiques differents et de multiplexeurs a` n bits de
selections qui permettent de transmettre en sortie, un seul des resultats calcules. Notons que le
nombre de bits occupes par le resultat (par exemple 8 bits) conditionne le nombre de multiplexeurs
necessaires (ici 8) pour transmettre correctement ce resultat.
Electronique
Numerique
12
8 bits
ADDITIONNEUR
8 bits
SOUSTRACTEUR
8
MUX
4 -> 1
8 bits
MAX
VALEUR
ABSOLUE
8 bits
c1 c0
E1
UAL
E2
c1 c0
2.3 Le demultiplexeur
2.3.1 Fonction demultiplexage
A la sortie dun multiplexeur, il faut redistribuer les informations. Le procede de transfert est donc
base sur le phenom`ene inverse du multiplexage. Le demultiplexeur permet de convertir des informations binaires series en informations binaires parall`eles. Il poss`ede une entree pour n sorties. La
C.Belleudy, D.Gaffe
13
difference entre le multiplexeur et le demultiplexeur reside dans le sens de circulation de linformation. Seule la sortie qui porte le bon numero est connectee a` lentree. Les autres sorties sont (suivant
le mod`ele de demultiplexeur choisi) :
deconnectees : on dit alors quelles sont en haute impedance,
ou alors fixees a` une reference logique constante (0 ou 1).
Y0
Y1
E
Yi
Yi = E si S=i
n
Y2 -2
Y2 n -1
n-1
Le demultiplexeur (decodeur) constitue un generateur de mintermes. Un demultiplexeur comportant n entrees de commandes gen`ere les mintermes des n variables dentrees. Il suffit donc de faire
un OU logique entre les sorties pour obtenir nimporte quelle fonction combinatoire. Cette propriete
caracteristique sera dailleurs generalisee dans le prochain chapitre.
Y7
DEMUX
1
1 VERS 8
S
Y0
F IG . 2.6 implementation de
14
Electronique
Numerique
Chapitre 3
Composants logiques programmables
3.1 Notations complementaires
Letude des composants programmables, appele letude de nouvelles fonctions logiques :
y
porte OUI
c
x
y=x si c=1
y en haute impdance si c=0
y=x si c=0
y en haute impdance si c=1
y=x si c=1
y en haute impdance si c=0
y=x si c=0
y en haute impdance si c=1
15
Electronique
Numerique
16
ET
Matrice "ET"
M termes "produit"
somme de produits
Matrice "OU"
F1
F2
Fp-1
Fp
Lidee est de ne conserver que les produits et les sommes qui nous interessent. Pour cela, le
composant programmable prevoit au depart toutes les connexions possibles et laisse a` lutilisateur le
soin de couper (griller les fusibles) les liaisons qui ne linteressent pas.
C.Belleudy, D.Gaffe
17
1
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
0
1
2
3
4
5
6
7
19
2
8
9
10
11
12
13
14
15
18
3
16
17
18
19
20
21
22
23
17
4
24
25
26
27
28
29
30
31
16
5
32
33
34
35
36
37
38
39
15
6
40
41
42
43
44
45
46
47
14
7
48
49
50
51
52
53
54
55
13
8
56
57
58
59
60
61
62
63
12
11
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
Electronique
Numerique
18
3.2.2 rebouclage
La grande majorite des composants programmables actuels permettent de reinjecter les sorties
dans la matrice ET. Ceci a deux consequences principales :
Une fonction logique peut etre e valuee a` partir dune autre sans avoir a` refaire une seconde fois
les calculs.
Si la sortie est configuree en haute impedance, elle peut servir alors dentree supplementaire
au syst`eme. Cest pour cette raison dailleurs que le schema precedent peut accepter au plus 16
entrees.
C.Belleudy, D.Gaffe
19
1
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
0
1
2
3
4
5
6
7
0
(masse)
19
2
8
9
10
11
12
13
14
15
16
5
32
33
34
35
36
37
38
39
17
4
24
25
26
27
28
29
30
31
3
16
17
18
19
20
21
22
23
18
15
6
40
41
42
43
44
45
46
47
14
7
48
49
50
51
52
53
54
55
13
8
56
57
58
59
60
61
62
63
12
11
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
16 17 18 19
20 21 22 23
24 25 26 27
28 29 30 31
20
Electronique
Numerique
Chapitre 4
Introduction aux syst`emes sequentiels :
les bascules
4.1 Introduction
Nous avons e tudie jusquici des reseaux que nous avons appeles combinatoires, cest a` dire qui associent a` toute combinaison binaire dentree une combinaison de sortie qui est unique. De ce type de
fonctionnement il resulte en particulier que chaque fois quon presentera une combinaison C donnee
a` lentree, a` des instants distincts, on verra apparatre la meme combinaison a` la sortie. La correspondance entree-sortie e tablie par un tel reseau est donc ponctuelle, elle est indifferente a` ce qui sest
passe entre les differents instants o`u on a applique la combinaison C : elle ne fait intervenir aucun
phenom`ene de memoire de ce qui sest passe avant. La difference essentielle entre un syst`eme combinatoire et un syst`eme sequentiel est que letat du second ne depend pas uniquement de la combinaison
dentree a` un moment donne mais de la sequence des combinaisons precedentes et de son e tat initial.
Un circuit sequentiel poss`ede donc un e tat interne qui caracterise le chemin chronologique quil a
parcouru depuis sa creation.
En consequence a` une combinaison des variables dentrees (
) correspondent plusieurs e tats
possibles du syst`eme. Pour differencier ces e tats, il faut introduire un certain nombre de variables
), letat du syst`eme e tant fixe par la combinaisupplementaires, appelees variables internes (
). Un syst`eme sequentiel peut alors e tre considere comme constitue dun circuit
son (
, ils apparaissent ainsi comme des syst`emes boucles.
combinatoire ayant pour entree
,
E1
En
partie combinatoire
Y1
S1
Sm
Yp
retard
Systme squentiel
Suivant les conditions de changement des variables de sortie, on distingue deux types de syst`eme
sequentiel :
21
Electronique
Numerique
22
les syst`emes sequentiels asynchrones pour lesquels letat des sorties e volue spontanement a` la
suite dun changement de configuration des variables dentree.
les syst`emes sequentiels synchrones pour lesquels levolution des sorties est assujettie a` une
commande specifique generalement appelee horloge. Le syst`eme est alors synchronise sur le
signal dhorloge.
S
0
0
0
1
1
R
0
0
1
0
1
+
Q
0
1
0
1
0
Q
0
1
x
x
x
Fonction mmoire
Mise 0
Mise 1
non spcifi *
En appelant
la valeur de la sortie a` linstant ,
e volution de la sortie vers une valeur que lon nomme
et
Q
D
Q
H
H
Q+= D
D
0
1
Q
x
x
Q+
0
1
C.Belleudy, D.Gaffe
23
H
Q
K
Q
H
+
Q = J.Q + K.Q
J
0
0
0
0
1
1
1
1
K
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
+
Q
0
1
0
0
1
1
1
0
Fonction mmoire
Mise 0
Mise 1
oscillation
Notation
Q
D
Q
Q
H
H
Q+= D
Electronique
Numerique
24
Cette classe de bascule est e galement appelee matre-esclave (en anglais Flip-Flop) car elle est
constituee de deux bascules dont lune pilote lautre :
Q
D
K
Q
H
Q
J
Ormis son mode de declenchement sur front montant, sa table de verite est conforme a` celle de la
bascule JK asynchrone :
Q
H
+
Q = J.Q + K.Q
J
0
0
0
0
1
1
1
1
K
0
0
1
1
0
0
1
1
Q
0
1
0
1
0
1
0
1
+
Q
0
1
0
0
1
1
1
0
Fonction mmoire
Mise 0
Mise 1
Chapitre 5
Les registres
5.1 Introduction
La bascule nous a permis de mettre en memoire une information binaire e lementaire. Le registre
compose de plusieurs bascules permet de conserver une information de plusieurs digits. De plus
linterconnexion entre les bascules permet certaines manipulations de linformation stockee.
5.2 Fonctionnement
Un registre sert a` memoriser un mot ou nombre binaire. Le schema dun tel syst`eme comporte
autant de bascules type D que delements binaires a` memoriser. Toutes les bascules sont commandees
par le meme signal dhorloge.
Q
D0
Q0
Q
D1
Q1
Q
Dn
Qn
D
Q
H
Moyennant une interconnexion entre les cellules, le registre precedent devient capable doperer
une translation des chiffres du nombre initialement stocke. Le deplacement seffectue soit vers la
droite soit vers la gauche. Le registre est alors appele registre a` decalage. De nombreuses applications
resultent de cette possibilite de decalage :
conversion serie-parall`ele dune information numerique,
division et multiplication par une puissance de 2,
la ligne a` retard.
25
Electronique
Numerique
26
Le schema 5.3 represente un tel syst`eme :
Lorsque lentree de selection est positionnee a` 1, la sortie du registre est reli`ee a` lentree
du registre & et nous obtenons ainsi un decaleur a` droite.
MUX
MUX
MUX
MUX
dG
0
2>1
d
0
D
sens
2>1
1
0
D
2>1
1
0
D
2>1
Bien-sur, cette architecture peut e tre amelioree en prenant des multiplexeurs plus complexes !
Chapitre 6
Analyse et synth`ese de compteurs synchrones
6.1 Introduction
Les compteurs sont des e lements essentiels de logique sequentielle ; ils permettent en effet detablir
une relation dordre de succession devenements. Letat du compteur est defini par le nombre binaire
forme par lensemble de sorties des bascules.
On distingue deux grandes familles de compteurs qualifiees de synchrone et dasynchrone.
Dans les compteurs synchrones, toutes les bascules sont synchronisees sur une seule et meme horloge
H. Dans les compteurs asynchrones, chaque bascule gen`ere un nouveau signal dhorloge pour la
suivante. Le schema qui suit, montre un tel syst`eme (decompteur asynchrone cyclique de 7 a` 0).
Q0
Q1
Q2
Q3
Dans le cas general, on e vitera de multiplier les horloges et de jouer sur les temps de propagation
car ces syst`emes deviennent tr`es rapidement complexes a` concevoir. On leur pref`erera les compteurs
synchrones beaucoup moins sensibles aux transitoires.
Ces compteurs synchrones peuvent toujours se representer sous forme de deux sous-ensembles :
une memoire (registre) dont lelement de base est la bascule et une fonction de calcul du nombre
suivant (letat futur :
).
27
Electronique
Numerique
28
valeur
registre
+
Qn1
Qn1
f
Q0+
Q0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
1
0
De cette table devolution, il est aise den deduire les e quations logiques des variables de sortie,
dans le cas de notre exemple,
Pour obtenir les expressions des entrees des bascules, il faut, dans un second temps, proceder par
identification avec lexpression de la bascule consideree. Par exemple, considerons la bascule JK
dont lequation de sortie est
.
represente alors le terme mis en facteur par rapport a` et par rapport a` . La seule precaution
a` prendre consiste a` exprimer
en fonction de et meme si cela ne represente pas lexpression
minimale de
.
C.Belleudy, D.Gaffe
29
Reprenons lexemple du compteur binaire deux bits et supposons que notre realisation ne comporte que des bascules JK, lidentification nous donne :
Q1
Le principal inconvenient de cette methode reside dans le fait que lequation minimale des variables des sorties des bascules ne permet pas toujours une identification aisee avec lexpression des
entrees.
Si nous reprenons lexemple du compteur binaire 2 bits, nous obtenons la table devolution qui
suit :
Cette table nous permet den deduire aisement les e quations logiques des entrees des bascules
(ici les memes que precedement). En comparaison avec la premi`ere methode, il y a deux fois plus de
fonctions a` simplifier mais on est assure dobtenir des e quations plus simple que lidentification.
Electronique
Numerique
30
Q1
Q0
Q1
D0
D1
Q0
Q1
0
0
1
1
et
,
0
1
0
1
0
1
1
0
0
0
1
1
Nous retrouvons bien le cycle 1,2,3. Par contre 0 conduit a` 0. A la mise sous tension, nous risquons donc de voir notre compteur bloque sur 0.
Q0
Q1
Q1
D1
set Q0
Q1
Q1
D1
D0
Q0
Q0
D0
Q0
Q1
nouvelle synthse
Q0
Chapitre 7
Les sequenceurs
7.1 Constitution
Un sequenceur est a` la base un compteur, qui active a` chaque coup dhorloge, zero, une ou
plusieurs actions particuli`eres. Pour simplifier la realisation technique, on utilise classiquement un
decodeur dont chaque ligne est activee en sequence. Ces lignes viennent ensuite piloter des portes
logiques OU qui fond lunion de tous les e tats o`u laction consideree doit e tre fate.
ligne n-1
n
n -> 2
dcodeur
compteur
action k
action k
ligne 0
squenceur
H
Electronique
Numerique
32
7.2 Applications
7.2.1 Feux de croisement
Le premier exemple simple illustre une mani`ere possible de generer la sequence de feux de croisement :
feu 2
V
V
O
R
R
R
feu pietons 2
r
r
r
r
r
Il necessite un sequenceur a` 6 e tats donc un compteur a` 6 e tats (par exemple de 0 a` 5). Chaque
ligne du sequenceur correspond a` une ligne de la table devolution. Ainsi la premi`ere ligne doit allumer le feu 1 Rouge, le feu 2 Vert, le feu 2 pieton et eteindre le feu 1 pieton ...
Dou le schema suivant :
feup1r
n1
0 -> 5
n2
dcodeur
compteur
n0
feu2V
feu1R
feu2O
feu1V
feu2R
feu1O
feup2r
squenceur
H
C.Belleudy, D.Gaffe
33
A
B
1 0 1 0
1 0 1 1
1
0 0
1 0 1
1 1 0
1
0
0
0
1
0 1 0
1 0
0
1 1 0
Pour selectionner successivement tous les bits de B, une solution consiste a` prendre le bit de poid
faible de B et a` decaler B a` droite. Nous aurons donc besoin de deux registres a` decalage (pour A :
decalage a` gauche, pour B : decalage a` droite). Ces registres ont deux commandes : chargement et
decalage (cf ch.5) synchronises sur horloge.
Le schema ci-dessous montre le multiplieur complet. On remarque la presence de portes ET qui
forcent lentree de ladditionneur a` 0 suivant le bit de poids faible de A.
A
0
4
registre Rsultat
8
x8
8
Reset Rsultat
Chargement A et B
Dcalage de A et B
+
8
chargement Rsultat
dcodeur
0 > 9
compteur
de 0 5
0
n3
n2
n1
n0
9
H
squenceur
F IG . 7.4 Multiplieur
Le sequenceur est cable pour generer la sequence suivante :
Reset Resultat
Chargements A et B
Chargement Resultat
Decalages A et B
Electronique
Numerique
34
Chargement Resultat
Decalages A et B
Chargement Resultat
Decalages A et B
Chargement Resultat
Resultat pr`et
On peut remarquer que ce multiplieur nest pas tr`es performant car il additionne parfois des 0.
En fait nous aurions eu besoin dun sequenceur conditionnel, mais ceci fera lobjet dun cours de
lannee prochaine ...