Chapitre I
Circuits logiques num´ eriques : une r´ evision
Ordinateurs Num´ eriques: Notions de base et D´ efinitions
Architecture d’ordinateur: Lorsque l’on parle de l’architecture d’un ordinateur, on se r´ef`ere `a la structure et au comportement de cet ordinateur, du point de vue de l’utilisateur. Ceci inclut les formats de l’information, l’ensemble des instructions, et les techniques d’adressage.
Conception architecturale d’ordinateur: Une conception architecturale d’ordinateur est centr´ee sur les sp´ecifications des diff´erents modules fonctionnels, tels que les processeurs et les m´emoires, ainsi que leur structure commune au sein d’un syst`eme informatique.
programme: Un programme est une s´equence d’instructions destin´ees `a un ordinateur.
Mat´eriel informatique (Hardware):La partie mat´erielle (hardware) d’un ordinateur typique se divise habituellement en trois composantes majeures:
(i) L’unit´e centrale (CPU), qui comprend une unit´e arithm´etique et logique (ALU) pour la manipulation des donn´ees, des registres pour le rangement temporaire des donn´ees, et des circuits de contrˆole pour aller chercher et ex´ecuter les instructions de la machine (machine instructions).
(ii) La m´emoire vive (Random Access Memory, ou RAM), pour le rangement des instructions de la machine et les donn´ees.
(iii) Le processeur d’entr´ees / sorties (IOP), dont la tache consiste `a communiquer et `a contrˆoler le flot d’informations entre l’ordinateur et le monde ext´erieur.
Conception d’ordinateur: Lorsque les sp´ecifications de l’ordinateur sont formul´ees, il s’agit de d´evelopper le mat´eriel approprie pour le syst`eme. Pour la conception d’un ordinateur, il faut d´eterminerquelmat´eriel devrait ˆetre utilis´e pour le syst`eme, etcommentses composantes seront interconnect´ees.
Les Portes Logiques
Alg` ebre Bool´ eenne
(1) x+ 0 =x (2) x·0 = 0
(3) x+ 1 = 1 (4) x·1 =x
(5) x+x=x (6) x·x=x
(7) x+x0= 1 (8) x·x0= 0
(9) x+y=y+x (10) xy=yx
(11) x+ (y+z) = (x+y) +z (12) x(yz) = (xy)z
(13) x(y+z) =xy+xz (14) x+ (yz) = (x+y)(x+z) (15) (x+y)0=x0y0 (16) (xy)0=x0+y0
(17) (x0)0=x
Table 1:Identit´es de base de l’alg`ebre bool´eenne
Theorem 1 (Th´eor`eme de DeMorgan).
Les identit´es (15) et (16) de la Table 1 repr´esentent le th´eor`eme de DeMorgan.
Le th´eor`eme affirme que:
Une porte NON-OU (NOR) qui impl´emente l’op´eration (x+y)0est ´equivalente `ax0y0.
⇒Ceci implique qu’une porte NON-OU poss`ede deux symboles diff´erents, mais´equivalents:
Une porte NON-ET (NAND) qui impl´emente (xy)0est ´equivalente `a (x0+y0).
⇒Par cons´equent, une porte NON-ET poss`ede deux symboles diff´erents mais´equivalents:
Compl´ ement d’une fonction
Dans une table de v´erit´e, le compl´ement de la fonction bool´eenneF s’obtient en interchangeant les 0 et les 1 dans les valeurs deF.
Theorem 2 (Th´eor`eme de DeMorgan—Forme g´en´erale).
(x1+x2+· · ·+xn)0=x10x20· · ·xn0 (x1x2. . .xn)0=x10+x20+· · ·+xn0
A partir de son expression bool´eenne ou de son circuit logique, on peut obtenir le compl´ement d’une fonction bool´eenne en:
changeant les portes/op´erations OU en des portes/op´erations ET, changeant les portes/op´erations ET en des portes/op´erations OU, et en compl´ementant/inversant chaque variable/entr´ee bool´eenne.
Example 3.
Trouvons l’inverse deF=AB+C0D0+B0D. F0= (AB+C0D0+B0D)0
= (AB)0·(C0D0)0·(B0D)0 (en appliquant le th´eor`eme de DeMorgan)
= (A0+B0)·(C+D)·(B+D0) (aussi en appliquant le th´eor`eme de DeMorgan)
Tables de Simplification
Les expressions bool´eennes sont souvent simplifi´ees grˆace `a des tables de Karnaugh (tables-K, ou K-maps)
Les tables-K ont la forme suivante:
F(A,B) :
0 1
2 3
A
B
F(A,B,C) :
0 1
2 3
4 5
6 7
A
B
C
(a) Une table a deux variable (b) Une table a trois variables
F(A,B,C,D) :
0 1
2 3
4 5
6 7
8 9
10 11
12 13
14
A 15
B
C
D
(c) Une table a quatre variables
Lorsque le bord d’une table (colonne et/ou ligne) comporte 4 entr´ees ou plus, il faut noter la s´equence des combinaisons des variables ainsi : 00 01 11 10{au plusun bit qui diff`ere entre deux entr´ees adjacentes}
On peut s’imaginer une table-K comme une “sph`ere”: ses coins et ses bords se “touchent”.
Chaque combinaison de variables dans une table de v´erit´e ou dans une table-K s’appelle un minterm(terme anglo-saxon). Chaque minterm est marqu´e d’un petit num´ero dans chacune des cases des tables-K pr´esent´ees ci-dessus.
Par exemple, la combinaisonABCD= 0100 correspond au minterm 4.
L’information contenue dans une table de v´erit´e ou dans une table-K peut s’´ecrire en une forme compacte en relevant les ´equivalents d´ecimaux des minterms qui produisent un 1 pour la fonction.
Example 4.
Consid´erons la table `a 4 variablesF(A,B,C,D) = Σ(0,1,2,5,8,9,10)
' $
& %
F(A,B,C,D) :
1
0
1
1
1
2
0
3
0
4
1
5
0
6
0
7
1
8
1
9
1
10
0
11
0
12
0
13
0
14
0 A 15
B
C
D
⇒ F(A,B,C,D) =B0D0+B0C0+A0C0D ←forme en somme de produits
Pour obtenirF en produits de sommes, on proc`ede en 2 ´etapes:
1 On exprimeF0en somme de produits, en simplifiant les minterms qui correspondent `a des 0 dans la table-K.
2 On utilise le th´eor`eme de DeMorgan pour compl´ementerF0afin d’obtenir une expression de F en produit de sommes.
Example 5.
Exprimons la fonctionF de l’exemple pr´ec´edent comme produit de sommes.
F(A,B,C,D) :
1
0
1
1
1
2
0
3
0
4
1
5
0
6
0
7
1
8
1
9
1
10
0
11
0
12
0
13
0
14
0 A 15
B
C
D
hence,F0=AB+CD+BD0
F = (F0)0= (AB+CD+BD0)0
= (AB)0·(CD)0·(BD0)0 par le th´eor`eme de DeMorgan
= (A0+B0)·(C0+D0)·(B0+D) ←forme en produit de sommes
Si la fonctionF se pr´esente sous la forme d’une somme de produits:
F(A,B,C,D) =B0D0+B0C0+A0C0D, alors on peut l’impl´ementer de deux fa¸cons diff´erentes, mais´equivalentes: l’une avec des portes ET et OU seulement, l’autre avec des portes NON-ET seulement.
≡
Portes ET et portes OU Impl´ementation avec portes NON-ET
Si la fonctionF se pr´esente sous la forme d’un produit de sommes:
F(A,B,C,D) = (A0+B0)·(C0+D0)·(B0+D), alors on peut l’impl´ementer de deux fa¸cons diff´erentes, mais´equivalentes: l’une avec des portes ET et OU seulement, l’autre avec des portes NON-OU seulement.
≡
Portes ET et portes OU Impl´ementation avec portes NON-OU
Conditions Indiff´ erentes
Les “conditions indiff´erentes” sont des conditions qui correspondent `a une certaine combinaison `a l’entr´ee pour laquelle la valeur de la sortie n’a pas d’importance.
Les minterms qui correspondent `a ces conditions sont repr´esent´ees par un “x” dans la table-K.
Example 6.
F(A,B,C) =X
(0,2,6) ←minterms correspondant `a des 1 d(A,B,C) =X
(1,3,5) ←minterms qui correspondent `a des “x” (minterms indiff´erents)
F(A,B,C) :
1
0
x
1
1
2
x
3
0
4
x
5
1
6
0
7
A
B
C
⇒F=A0+BC0
=X
(0,1,2,3,6)
Circuits Combinatoires
Un circuit combinatoire est un arrangement de portes logiques interconnect´ees qui impl´ementent une relation entre une variable de n entr´ees et une variable de m sorties Un circuit combinatoire est d´ecrit par une table de v´erit´e qui montre la combinaison de sortie correspondant `a chacune des 2ncombinaisons d’entr´ee
Dans un circuit combinatoire, la sortie estind´ependante du temps, et ne d´ependquede l’entr´ee du circuit
Dans un circuit combinatoire, la sortie est “re-calcul´ee” aussitˆot qu’un changement `a l’entr´ee intervient
Proc´ ed´ e de conception de circuits combinatoires
1 D´efinir le probl`eme
2 Assigner diff´erentes lettres symboliques aux variables d’entr´ee et de sortie
3 Obtenir la table de v´erit´e qui d´efinit la relation entre les entr´ees et les sorties
4 Obtenir l’expression bool´eennesimplifi´eepourchaquevariable de sortie
5 Dessiner le diagramme logique du circuit
Example 7 (Demi-additionneur).
Entr´ee Sorties
x y C S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
=⇒ S=x⊕y C=xy
Table de v´erit´e
Diagramme Logique
Example 8 (Exercice: Additionneur complet).
Montrez qu’un additionneur complet peut s’impl´ementer en utilisant deux demi-additionneurs et une porte OU.
Circuits S´ equentiels: Introduction
A la diff´` erence des circuits combinatoires, les circuits s´equentiels sont des circuits logiques dont la sortie n’est pas seulement une fonction des entr´ees du circuit, maisausside signaux logiques d´ependants du temps.
Les circuits s´equentiels les plus courants aujourd’hui sont les circuits s´equentielssynchrones.
La synchronisation des circuits s´equentiels synchrones est assur´ee par desimpulsions d’horloge, g´en´er´ees par une horlogecommune.
Dans les circuits s´equentiels r´egis par une horloge, les sorties sont “calcul´ees”uniquement`a l’arriv´ee d’une impulsion d’horloge de synchronisation.
Entre deux impulsions d’horloge cons´ecutives, la sortie du circuit s´equentiel ne changepas.
Les Bascules (Flip-Flops)
Unebasculeest une cellule binaire capable de ranger un bit d’information entre deux impulsions d’horloge cons´ecutives.
La Bascule SR
R
S Q
Q SR
Symbole graphique
S R Q(t+ 1)
0 0 Q(t) Pas de changement `a l’entr´ee
0 1 0 Remise `a 0
1 0 1 Mise `a 1
1 1 ? Ind´etermin´e (ne peut pas ˆetre pr´edit !) Table caract´eristique
La condition ind´etermin´ee rend la bascule SR difficile `a g´erer, par cons´equent elle est peu utilis´ee en pratique.
La Bascule JK
Une bascule JK est une am´elioration de la bascule SR, en ce sens que la condition ind´etermin´ee y est bien d´efinie.
J1 K1 C
Q
Q JK
Symbole graphique
J K Q(t+ 1)
0 0 Q(t) Pas de changement `a l’entr´ee
0 1 0 Remise `a 0
1 0 1 Mise `a 1
1 1 Q0(t) Compl´ement Table caract´eristique
La bascule D
Une bascule D place l’entr´ee `a sa sortie au d´ebut de chaque cycle d’horloge.
La relation entre l’entr´ee et la sortie d’une bascule D est d´efinie par l’´equation caract´eristique suivante:
Q(t+ 1) =D, o`uD symbolise le signal d’entr´ee
D C
Q
Q D
Symbole graphique
D Q(t+ 1)
0 0
1 1
Table caract´eristique
La bascule T
En plus de l’entr´ee d’horloge, que toutes les bascules poss`edent, la bascule T (aussi appel´ee BasculeToggle) a une entr´eeT qui permet d’inverser la sortie ou de la laisser telle quelle.
La relation entre l’entr´ee et la sortie d’une bascule T est d´efinie par l’´equation caract´eristique suivante:
Q(t+ 1) =Q(t)⊕T, o`uTsymbolise le signal d’entr´ee
Symbole graphique
T Q(t+ 1)
0 Q(t)
1 Q’(t)
Table caract´eristique
Example 9.
Montrez qu’une bascule T est ´equivalente `a une bascule JK pour laquelleJ=K=T.
Les Bascules D´ eclench´ ees par Transition
Les bascules les plus courantes aujourd’hui sont les bascules d´eclench´ees par transition.
Dans les bascules d´eclench´ees par transition montante, les changements `a la sortie ont lieu lorsque l’impulsion passe d’un niveau bas (0 logique) `a un niveau haut (1 logique).
Dans les bascules d´eclench´ees par transition descendante, les changements `a la sortie ont lieu lorsque l’impulsion passe d’un niveau haut (1 logique) `a un niveau bas (0 logique).
Tables d’Excitation
Pour la conception de circuits s´equentiels, la transition requise de l’´etat pr´esent vers l’´etat suivant est g´en´eralement connue.
Le concepteur doit d´eterminer les entr´ees d’excitation qui causent la transition recherch´ee.
Circuits S´ equentiels
La figure suivante montre le diagramme bloc d’un circuit s´equentiel typique.
Clock circuit
Flip−flops
Outputs
Inputs Combinational
Un circuit s´equentiel typique est compos´e d’un circuit combinatoire et de plusieurs bascules.
Les entr´ees des bascules sont prises aux sorties du circuit combinatoire.
Les entr´ees du circuit combinatoire sont prises aux sorties des bascules, ainsi qu’`a des entr´ees externes (si il y en a).
Equations d’Entr´ ee de Bascules
Les´equations d’entr´eede bascules sont des expressions bool´eennes qui d´efinissent les entr´ees de chaque bascule en fonction des variables bool´eennes du circuit.
Figure 1:Diagramme logique du circuit s´equentiel
Dans le diagramme ci-dessus, les ´equations d’entr´ee des bascules sont:
DA=Ax+Bx, et DB=A0x.
Le circuit s´equentiel a une sortie externey. Elle peut s’exprimer par:
y=Ax0+Bx0.
Table d’´ etats
Le comportement des circuits s´equentiels est d´etermin´e par les entr´ees, les sorties, les ´etats pr´esents et les prochains ´etats de leurs bascules.
Les sorties et les prochains ´etats d´ependent tous deux des entr´ees du circuit et des ´etats pr´esents des bascules.
Dans ce contexte, latable d’´etatsest une table qui montre les sorties du circuit et les prochains ´etats pour chaque combinaison des entr´ees/´etats pr´esents du circuit.
Pour un circuit s´equentiel avec m bascules, n variables d’entr´ee, et p variables de sortie, la table d’´etats comprend:
m colonnes qui repr´esentent les ´etats pr´esents des bascules n colonnes qui repr´esentent les entr´ees du circuit
m colonnes qui repr´esentent les prochains ´etats des bascules p colonnes qui repr´esentent les sorties du circuit
2m+nlignes de combinaisons binaires allant de 0 `a 2m+n−1.
Example 10 (Exemple de table d’´etats).
Pour un circuit s´equentiel avec une entr´ee externe, une sortie externe, et deux bascules, une table d’´etats aurait la forme suivante:
Table 2:Exemple de table d’´etats
Etat Etat
Pr´esent Entr´ee Prochain Sortie
A B x A B y
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 0 0 1
0 1 1 1 1 0
1 0 0 0 0 1
1 0 1 1 0 0
1 1 0 0 0 1
1 1 1 1 0 0
Le diagramme logique d’un tel circuit s´equentiel est montr´e sur le sch´ema 1.
Diagramme d’´ etat
Undiagramme d’´etatest un graphe directionnel qui connecte tous les ´etats possibles des circuits s´equentiels, et dans lequel chaque transition a la forme suivante:
Present State Next State
input/output
Le diagramme d’´etat du circuit logique de la Figure 1 est montr´e ci-dessous:
Exemple de conception : Conception d’un compteur binaire
On d´esire mettre au point un circuit s´equentiel r´egit par une horloge pour cr´eer, `a l’aide de bascules JK, un compteur binaire d´ecrit par le diagramme d’´etat suivant.
” A partir du diagramme d’´etat, on peut voir que le circuit s´equentiel a:
4 ´etats d´ecrit parAetB=⇒2 bascules sont n´ecessaires 1 entr´ee externe, que l’on peut appelerx
Pas de sorties externes
Ensuite, on ´erige la table d’excitation du circuit s´equentiel.
Table 3:La table d’excitation du compteur binaire
Etat Prochain
pr´esent Entr´ee Etat Entr´ees des bascules
A B x A B JA KA JB KB
0 0 0 0 0 0 x 0 x
0 0 1 0 1 0 x 0 x
0 1 0 0 0 0 x x 0
0 1 1 1 0 1 x x 1
1 0 0 1 0 x 0 0 x
1 0 1 1 1 x 0 1 x
1 1 0 1 1 x 0 x 0
1 1 1 0 0 x 1 x 1
Notez que les 5 premi`eres colonnes de la table d’excitation correspondent `a la table d’´etat du circuit.
On trouve les ´equations d’entr´ee de la bascule et les ´equations de sortie externe (il n’y en a pas dans ce cas)
JA(A,B,x) :
0
0
0
1
0
2
1
3
x
4
x
5
x
6
x
7
A
B
x KA(A,B,x) :
x
0
x
1
x
2
x
3
0
4
0
5
0
6
1
7
A
B
x
JA=Bx KA=Bx
JB(A,B,x) :
0
0
1
1
x
2
x
3
0
4
1
5
x
6
x
7
A
B
x
KB(A,B,x) :
x
0
x
1
0
2
1
3
x
4
x
5
0
6
1
7
A
B
x
JB=x KB =x
Par cons´equent, les ´equations d’entr´ee des bascules sont:
JA=Bx KA=Bx
JB=x KB=x
On dessine le diagramme logique du circuit