Circuits logiques numériques

publicité
Chapitre I
Circuits logiques numériques : une révision
Ordinateurs Numériques
Ordinateurs Numériques: Notions de base et Définitions
Architecture d’ordinateur: Lorsque l’on parle de l’architecture d’un ordinateur, on se réfère à
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ée sur les spécifications des différents modules fonctionnels, tels que les processeurs et
les mémoires, ainsi que leur structure commune au sein d’un système informatique.
programme: Un programme est une séquence d’instructions destinées à un ordinateur.
Ordinateurs Numériques
Matériel informatique (Hardware): La partie matérielle (hardware) d’un ordinateur typique
se divise habituellement en trois composantes majeures:
(i) L’unité centrale (CPU), qui comprend une unité arithmétique et logique (ALU) pour la manipulation
des données, des registres pour le rangement temporaire des données, et des circuits de contrôle
pour aller chercher et exécuter les instructions de la machine (machine instructions).
(ii) La mémoire vive (Random Access Memory, ou RAM), pour le rangement des instructions de la
machine et les données.
(iii) Le processeur d’entrées / sorties (IOP), dont la tache consiste à communiquer et à contrôler le flot
d’informations entre l’ordinateur et le monde extérieur.
Ordinateurs Numériques
Conception d’ordinateur: Lorsque les spécifications de l’ordinateur sont formulées, il s’agit
de développer le matériel approprie pour le système. Pour la conception d’un ordinateur, il
faut déterminer quel matériel devrait être utilisé pour le système, et comment ses
composantes seront interconnectées.
Les Portes Logiques
Les Portes Logiques
Algèbre Booléenne
Algèbre Booléenne
(1)
(3)
(5)
(7)
(9)
(11)
(13)
(15)
(17)
x +0=x
x +1=1
x +x =x
x + x0 = 1
x +y =y +x
x + (y + z) = (x + y ) + z
x(y + z) = xy + xz
(x + y )0 = x 0 y 0
(x 0 )0 = x
(2)
(4)
(6)
(8)
(10)
(12)
(14)
(16)
x ·0=0
x ·1=x
x ·x =x
x · x0 = 0
xy = yx
x(yz) = (xy )z
x + (yz) = (x + y )(x + z)
(xy )0 = x 0 + y 0
Table 1: Identités de base de l’algèbre booléenne
Algèbre Booléenne
Theorem 1 (Théorème de DeMorgan).
Les identités (15) et (16) de la Table 1 représentent le théorème de DeMorgan.
Le théorème affirme que:
Une porte NON-OU (NOR) qui implémente l’opération (x + y )0 est équivalente à x 0 y 0 .
⇒ Ceci implique qu’une porte NON-OU possède deux symboles différents, mais équivalents:
Une porte NON-ET (NAND) qui implémente (xy )0 est équivalente à (x 0 + y 0 ).
⇒ Par conséquent, une porte NON-ET possède deux symboles différents mais équivalents:
Algèbre Booléenne
Complément d’une fonction
Complément d’une fonction
Dans une table de vérité, le complément de la fonction booléenne F s’obtient en
interchangeant les 0 et les 1 dans les valeurs de F .
Theorem 2 (Théorème de DeMorgan—Forme générale).
(x1 + x2 + · · · + xn )0 = x10 x20 · · · xn0
(x1 x2 . . . xn )0 = x10 + x20 + · · · + xn0
A partir de son expression booléenne ou de son circuit logique, on peut obtenir le
complément d’une fonction booléenne en:
changeant les portes/opérations OU en des portes/opérations ET,
changeant les portes/opérations ET en des portes/opérations OU, et en
complémentant/inversant chaque variable/entrée booléenne.
Example 3.
Trouvons l’inverse de F = AB + C 0 D 0 + B 0 D.
F 0 = (AB + C 0 D 0 + B 0 D)0
= (AB)0 · (C 0 D 0 )0 · (B 0 D)0 (en appliquant le théorème de DeMorgan)
= (A0 + B 0 ) · (C + D) · (B + D 0 ) (aussi en appliquant le théorème de DeMorgan)
Tables de Simplification
Tables de Simplification
Les expressions booléennes sont souvent simplifiées grâce à des tables de Karnaugh
(tables-K, ou K-maps)
Les tables-K ont la forme suivante:
A
F (A, B, C ) :
B
F (A, B) :
0
1
2
3
C
0
1
5
4
2
3
7
6
B
A
(a) Une table a deux variable
(b) Une table a trois variables
Tables de Simplification
B
F (A, B, C , D) :
D
C
A
0
1
5
4
2
3
7
6
10
11
15
14
8
9
13
12
(c) Une table a quatre variables
Tables de Simplification
Lorsque le bord d’une table (colonne et/ou ligne) comporte 4 entrées ou plus, il faut noter la
séquence des combinaisons des variables ainsi : 00 01 11 10 {au plus un bit qui diffère entre
deux entrées adjacentes}
On peut s’imaginer une table-K comme une “sphère”: ses coins et ses bords se “touchent”.
Chaque combinaison de variables dans une table de vérité ou dans une table-K s’appelle un
minterm (terme anglo-saxon). Chaque minterm est marqué d’un petit numéro dans chacune
des cases des tables-K présentées ci-dessus.
Par exemple, la combinaison ABCD = 0100 correspond au minterm 4.
L’information contenue dans une table de vérité ou dans une table-K peut s’écrire en une
forme compacte en relevant les équivalents décimaux des minterms qui produisent un 1 pour
la fonction.
Tables de Simplification
Example 4.
Considérons la table à 4 variables F (A, B, C , D) = Σ(0, 1, 2, 5, 8, 9, 10)
B
F (A, B, C , D) :
D
1
1
1
0
0
1
5
4
&
%
1
C
2
0
3
1
A
0
7
0
0
6
0
0
10
11
15
14
'
$
1
8
⇒ F (A, B, C , D) = B 0 D 0 + B 0 C 0 + A0 C 0 D
1
9
0
13
0
12
← forme en somme de produits
Tables de Simplification
Pour obtenir F en produits de sommes, on procède en 2 étapes:
1
2
On exprime F 0 en somme de produits, en simplifiant les minterms qui correspondent à des 0
dans la table-K.
On utilise le théorème de DeMorgan pour complémenter F 0 afin d’obtenir une expression de
F en produit de sommes.
Tables de Simplification
Tables de Simplification
Example 5.
Exprimons la fonction F de l’exemple précédent comme produit de sommes.
B
F (A, B, C , D) :
D
1
0
1
1
1
C
2
0
3
1
A
10
0
0
0
6
0
15
1
9
0
4
7
11
1
8
1
5
0
14
0
13
0
12
hence, F 0 = AB + CD + BD 0
F = (F 0 )0 = (AB + CD + BD 0 )0
= (AB)0 · (CD)0 · (BD 0 )0 par le théorème de DeMorgan
= (A0 + B 0 ) · (C 0 + D 0 ) · (B 0 + D) ← forme en produit de sommes
Tables de Simplification
Si la fonction F se présente sous la forme d’une somme de produits:
F (A, B, C , D) = B 0 D 0 + B 0 C 0 + A0 C 0 D, alors on peut l’implémenter de deux façons
différentes, mais équivalentes: l’une avec des portes ET et OU seulement, l’autre avec des
portes NON-ET seulement.
≡
Portes ET et portes OU
Implémentation avec portes NON-ET
Tables de Simplification
Si la fonction F se présente sous la forme d’un produit de sommes:
F (A, B, C , D) = (A0 + B 0 ) · (C 0 + D 0 ) · (B 0 + D), alors on peut l’implémenter de deux façons
différentes, mais équivalentes: l’une avec des portes ET et OU seulement, l’autre avec des
portes NON-OU seulement.
≡
Portes ET et portes OU
Implémentation avec portes NON-OU
Tables de Simplification
Conditions Indifférentes
Conditions Indifférentes
Les “conditions indifférentes” sont des conditions qui correspondent à une certaine
combinaison à l’entrée pour laquelle la valeur de la sortie n’a pas d’importance.
Les minterms qui correspondent à ces conditions sont représentées par un “x” dans la
table-K.
Tables de Simplification
Conditions Indifférentes
Example 6.
X
(0, 2, 6) ← minterms correspondant à des 1
X
d(A, B, C ) =
(1, 3, 5) ← minterms qui correspondent à des “x” (minterms indifférents)
F (A, B, C ) =
A
F (A, B, C ) :
C
x
1
0
1
1
B
2
x
3
x
5
0
7
0
4
1
6
⇒ F = A0 + BC 0
X
=
(0, 1, 2, 3, 6)
Circuits Combinatoires
Circuits Combinatoires
Un circuit combinatoire est un arrangement de portes logiques interconnectées qui
implémentent une relation entre une variable de n entrées et une variable de m sorties
Un circuit combinatoire est décrit par une table de vérité qui montre la combinaison de sortie
correspondant à chacune des 2n combinaisons d’entrée
Dans un circuit combinatoire, la sortie est indépendante du temps, et ne dépend que de
l’entrée du circuit
Dans un circuit combinatoire, la sortie est “re-calculée” aussitôt qu’un changement à l’entrée
intervient
Circuits Combinatoires
Procédé de conception de circuits combinatoires
Procédé de conception de circuits combinatoires
1
Définir le problème
2
Assigner différentes lettres symboliques aux variables d’entrée et de sortie
3
Obtenir la table de vérité qui définit la relation entre les entrées et les sorties
4
Obtenir l’expression booléenne simplifiée pour chaque variable de sortie
5
Dessiner le diagramme logique du circuit
Circuits Combinatoires
Procédé de conception de circuits combinatoires
Example 7 (Demi-additionneur).
Entrée
x
y
0
0
0
1
1
0
1
1
Sorties
C
S
0
0
0
1
0
1
1
0
=⇒
Table de vérité
Diagramme Logique
S =x ⊕y
C = xy
Circuits Combinatoires
Procédé de conception de circuits combinatoires
Example 8 (Exercice: Additionneur complet).
Montrez qu’un additionneur complet peut s’implémenter en utilisant deux demi-additionneurs et
une porte OU.
Circuits Séquentiels: Introduction
Circuits Séquentiels: Introduction
À la différence des circuits combinatoires, les circuits séquentiels sont des circuits logiques
dont la sortie n’est pas seulement une fonction des entrées du circuit, mais aussi de signaux
logiques dépendants du temps.
Les circuits séquentiels les plus courants aujourd’hui sont les circuits séquentiels synchrones.
La synchronisation des circuits séquentiels synchrones est assurée par des impulsions
d’horloge, générées par une horloge commune.
Dans les circuits séquentiels régis par une horloge, les sorties sont “calculées” uniquement à
l’arrivée d’une impulsion d’horloge de synchronisation.
Entre deux impulsions d’horloge consécutives, la sortie du circuit séquentiel ne change pas.
Les Bascules (Flip-Flops)
Les Bascules (Flip-Flops)
Une bascule est une cellule binaire capable de ranger un bit d’information entre deux
impulsions d’horloge consécutives.
Les Bascules (Flip-Flops)
La Bascule SR
La Bascule SR
R
Q
S
Q
SR
Symbole graphique
S
R
Q(t + 1)
0
0
1
1
0
1
0
1
Q(t)
0
1
?
Pas de changement à l’entrée
Remise à 0
Mise à 1
Indéterminé (ne peut pas être prédit !)
Table caractéristique
La condition indéterminée rend la bascule SR difficile à gérer, par conséquent elle est peu utilisée
en pratique.
Les Bascules (Flip-Flops)
La Bascule JK
La Bascule JK
Une bascule JK est une amélioration de la bascule SR, en ce sens que la condition indéterminée y
est bien définie.
K1
C
J1
J
K
Q(t + 1)
0
0
1
1
0
1
0
1
Q(t)
0
1
Q 0 (t)
Q
Q
JK
Symbole graphique
Pas de changement à l’entrée
Remise à 0
Mise à 1
Complément
Table caractéristique
Les Bascules (Flip-Flops)
La bascule D
La bascule D
Une bascule D place l’entrée à sa sortie au début de chaque cycle d’horloge.
La relation entre l’entrée et la sortie d’une bascule D est définie par l’équation caractéristique
suivante:
Q(t + 1) = D, où D symbolise le signal d’entrée
D
Q(t + 1)
0
1
0
1
Q
D
C
Q
D
Symbole graphique
Table caractéristique
Les Bascules (Flip-Flops)
La bascule T
La bascule T
En plus de l’entrée d’horloge, que toutes les bascules possèdent, la bascule T (aussi appelée
Bascule Toggle) a une entrée T qui permet d’inverser la sortie ou de la laisser telle quelle.
La relation entre l’entrée et la sortie d’une bascule T est définie par l’équation caractéristique
suivante:
Q(t + 1) = Q(t) ⊕ T , où T symbolise le signal d’entrée
Symbole graphique
T
Q(t + 1)
0
1
Q(t)
Q’(t)
Table caractéristique
Les Bascules (Flip-Flops)
La bascule T
Example 9.
Montrez qu’une bascule T est équivalente à une bascule JK pour laquelle J = K = T .
Les Bascules (Flip-Flops)
Les Bascules Déclenchées par Transition
Les Bascules Déclenchées par Transition
Les bascules les plus courantes aujourd’hui sont les bascules déclenchées par transition.
Dans les bascules déclenchées par transition montante, les changements à la sortie ont lieu
lorsque l’impulsion passe d’un niveau bas (0 logique) à un niveau haut (1 logique).
Les Bascules (Flip-Flops)
Les Bascules Déclenchées par Transition
Dans les bascules déclenchées par transition descendante, les changements à la sortie ont lieu
lorsque l’impulsion passe d’un niveau haut (1 logique) à un niveau bas (0 logique).
Les Bascules (Flip-Flops)
Tables d’Excitation
Tables d’Excitation
Pour la conception de circuits séquentiels, la transition requise de l’état présent vers l’état
suivant est généralement connue.
Le concepteur doit déterminer les entrées d’excitation qui causent la transition recherchée.
Les Bascules (Flip-Flops)
Tables d’Excitation
Circuits Séquentiels
Circuits Séquentiels
La figure suivante montre le diagramme bloc d’un circuit séquentiel typique.
Inputs
Combinational
circuit
Outputs
Flip−flops
Clock
Un circuit séquentiel typique est composé d’un circuit combinatoire et de plusieurs bascules.
Les entrées des bascules sont prises aux sorties du circuit combinatoire.
Les entrées du circuit combinatoire sont prises aux sorties des bascules, ainsi qu’à des entrées
externes (si il y en a).
Circuits Séquentiels
Equations d’Entrée de Bascules
Equations d’Entrée de Bascules
Les équations d’entrée de bascules sont des expressions booléennes qui définissent les
entrées de chaque bascule en fonction des variables booléennes du circuit.
Figure 1: Diagramme logique du circuit séquentiel
Circuits Séquentiels
Equations d’Entrée de Bascules
Dans le diagramme ci-dessus, les équations d’entrée des bascules sont:
DA = Ax + Bx, et
DB = A0 x.
Le circuit séquentiel a une sortie externe y . Elle peut s’exprimer par:
y = Ax 0 + Bx 0 .
Circuits Séquentiels
Table d’états
Table d’états
Le comportement des circuits séquentiels est déterminé par les entrées, les sorties, les états
présents et les prochains états de leurs bascules.
Les sorties et les prochains états dépendent tous deux des entrées du circuit et des états
présents des bascules.
Dans ce contexte, la table d’états est une table qui montre les sorties du circuit et les
prochains états pour chaque combinaison des entrées/états présents du circuit.
Pour un circuit séquentiel avec m bascules, n variables d’entrée, et p variables de sortie, la
table d’états comprend:
m colonnes qui représentent les états présents des bascules
n colonnes qui représentent les entrées du circuit
m colonnes qui représentent les prochains états des bascules
p colonnes qui représentent les sorties du circuit
2m+n lignes de combinaisons binaires allant de 0 à 2m+n − 1.
Circuits Séquentiels
Table d’états
Circuits Séquentiels
Table d’états
Example 10 (Exemple de table d’états).
Pour un circuit séquentiel avec une entrée externe, une sortie externe, et deux bascules, une table
d’états aurait la forme suivante:
Table 2: Exemple de table d’états
Etat
Présent
A
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Entrée
x
0
1
0
1
0
1
0
1
Etat
Prochain
A
B
0
0
0
1
0
0
1
1
0
0
1
0
0
0
1
0
Sortie
y
0
0
1
0
1
0
1
0
Le diagramme logique d’un tel circuit séquentiel est montré sur le schéma 1.
Circuits Séquentiels
Diagramme d’état
Diagramme d’état
Un diagramme d’état est un graphe directionnel qui connecte tous les états possibles des
circuits séquentiels, et dans lequel chaque transition a la forme suivante:
input/output
Present State
Next State
Le diagramme d’état du circuit logique de la Figure 1 est montré ci-dessous:
Circuits Séquentiels
Diagramme d’état
Exemple de conception : Conception d’un compteur binaire
On désire mettre au point un circuit séquentiel régit par une horloge pour créer, à l’aide de
bascules JK, un compteur binaire décrit par le diagramme d’état suivant.
” A partir du diagramme d’état, on peut voir que le circuit séquentiel a:
4 états décrit par A et B =⇒ 2 bascules sont nécessaires
1 entrée externe, que l’on peut appeler x
Pas de sorties externes
Circuits Séquentiels
Diagramme d’état
Ensuite, on érige la table d’excitation du circuit séquentiel.
Table 3: La table d’excitation du compteur binaire
Etat
présent
A
B
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Entrée
x
0
1
0
1
0
1
0
1
Prochain
Etat
A
B
0
0
0
1
0
0
1
0
1
0
1
1
1
1
0
0
Entrées des bascules
JA
KA
JB
KB
0
x
0
x
0
x
0
x
0
x
x
0
1
x
x
1
x
0
0
x
x
0
1
x
x
0
x
0
x
1
x
1
Notez que les 5 premières colonnes de la table d’excitation correspondent à la table d’état du
circuit.
Circuits Séquentiels
Diagramme d’état
On trouve les équations d’entrée de la bascule et les équations de sortie externe (il n’y en a
pas dans ce cas)
A
JA (A, B, x) :
x
0
0
2
x
0
1
0
B
A
KA (A, B, x) :
5
JA = Bx
7
x
4
x
1
3
x
0
x
6
x
x
1
x
B
2
0
5
x
3
KA = Bx
0
4
1
7
0
6
Circuits Séquentiels
Diagramme d’état
A
JB (A, B, x) :
x
0
0
1
1
x
B
2
A
KB (A, B, x) :
1
5
x
3
JB = x
x
0
4
x
7
0
x
6
x
0
B
2
x
x
5
1
1
1
3
KB = x
x
4
7
0
6
Circuits Séquentiels
Diagramme d’état
Par conséquent, les équations d’entrée des bascules sont:
JA = Bx
KA = Bx
JB = x
KB = x
On dessine le diagramme logique du circuit
Téléchargement