Cours-TD Structure Machine 2
Cours-TD Structure Machine 2
2023 / 2024
I LOGIQUE COMBINATOIRE
1 CIRCUITS LOGIQUES COMBINATOIRES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Définitions 7
1.2 Portes logiques 7
1.2.1 Porte NON ou NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.2 Porte ET ou AND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.3 Porte NON-ET ou NAND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.4 Porte OU ou OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.5 Porte NON-OU ou NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.6 Porte XOR (OU-EXCLUSIF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.7 Porte XNOR (COÏNCIDENCE ou NON-OU-EXCLUSIF) . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Étapes de conception d’un circuit combinatoire 10
1.3.1 Établissement de la table de vérité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.2 Simplification des fonctions logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.3 Réalisation du schéma logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Étude de quelques circuits combinatoires usuels 12
1.4.1 Demi additionneur (half adder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4.2 Additionneur complet (Full adder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3 Additionneur 4 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.4 Soustracteur 4 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.5 Additionneur-Soustracteur 4 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.6 Décodeur 3 vers 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.7 Multiplexeur N vers 1 (ou sélecteur d’entrée) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.8 Encodeur de Priorité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.9 Démultiplexeur 1 vers N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 Exercices Série 1 20
II LOGIQUE SÉQUENTIELLE
2 CIRCUITS LOGIQUES SÉQUENTIELS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.1 Définition 37
2.2 Les BASCULES (ou VERROU) 37
2.2.1 Bascule R-S (RESET-SET) ou VERROU avec Mise à 0 - Mise à 1 . . . . . . . . . . . . . . . . . . . 38
2.2.2 Bascule R-S-T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.2.3 Bascule D (DATA ou DONNÉE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2.4 Bascule R-S-T Maitre-Esclave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.2.5 Bascule J-K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.1 Définitions
Définition 1.1.1 Les Fonctions logiques sont des fonctions qui ne peuvent prendre que deux valeurs
logiques VRAI ou FAUX, qui généralement sont représentées par les états logiques d’un digit binaire
(bit) : 1 ou 0 respectivement.
Définition 1.1.2 Une fonction logique est dite combinatoire lorsque l’état de la sortie est uniquement
définie par la combinaison de l’état des variables logiques d’entrées quel que soit l’instant
Définition 1.1.3 Un circuit combinatoire est un circuit dont les variables de sortie dépendent seulement
des variables en entrée de ce circuit.
En d’autres termes à chaque fois que les mêmes entrées sont présentées les sorties sont les mêmes.
Dans l’ordinateur, les fonctions logiques de base NON (NOT), ET (AND) et OU (OR) sont assurés par
des circuits de base appelés PORTES LOGIQUES. Ces Portes sont la base de tout circuit électronique
digital.
Le fonctionnement d’un circuit logique est généralement décrit par sa TABLE DE VÉRITÉ dans laquelle
sont listées les sorties correspondants aux différentes entrées possibles.
La table de vérité permet essentiellement de tirer l’équation de la sortie en fonction des entrées, générale-
ment pour les cas où la sortie vaut 1 (ou pour les cas où la sortie vaut 0).
Rem Lorsqu’un bit est représenté par une variable A. La convention internationale consiste à représenter
ce bit par A lorsqu’il vaut 1 et par son complément Ā ou A’ lorsqu’il vaut 0.
Equation correspondante:
Equation donnant le cas ou C vaut 1: C = A.B
Equation donnant le cas où C vaut 0: C = A.B OU A.B OU A.B = A.B + A.B + A.B
1.2.4 Porte OU ou OR
La porte OU (Figure 1.4) assure l’opération qui prend en considération deux ou plus variables. Elle
vérifie si toutes ses variables sont à l’état FAUX alors elle prend la valeur FAUX et si une de ses variable
est à l’état VRAI elle prend la valeur VRAI. L’opération OU est représentée par l’opérateur ‘+’. (Exemple
: AOUB ≡ A + B)
A ⊕ B = a.b + a.b
1.2.7 Porte XNOR (COÏNCIDENCE ou NON-OU-EXCLUSIF)
la fonction XNOR n’est rien d’autre que la fonction XOR coplémentée (Figure 1.7).
N J
L’opération NON-OU-EXCLUSIF est représentée par l’opérateur ou . (Exemple: A XNOR B ou A
N J
B ou A B).
A ⊗ B ≡ A ⊙ B = (A ⊕ B) = a.b + a.b
logique à partir de ses formes. On parlera dans ce cas de simplification ou minimisation de fonction.
Les fonctions logiques peuvent être simplifiées de deux méthodes différentes.
1. Simplification algébrique,
2. Utilisation du tableau de KARNAUGH
Méthode 1.3.1 — Simplification algébrique.
Pour chacune des fonctions de sortie les théorèmes fondamentaux et les propriétés de l’algèbre de
Boole sont utilisés successivement pour atteindre la forme minimale d’une somme de produits. On
peut:
• Supprimer les associations de termes multiples.
• Mettre en facteur des variables pour éliminer plusieurs termes.
• Mettre en facteur des variables pour faire apparaître des termes inclus.
• Ajouter un terme qui existe déjà à une expression logique.
■Exemple 1.1 Simplifier l’expression: f (a, b, c) = ā.b̄.c + ā.b.c̄ + a.b̄.c̄ + a.b.c + a.b.c̄ + (ā + c + a.b̄)
La réalisation de cette fonction nécessite:
• 5 opérateurs AND à trois entrées pour les 5 premiers termes
• 1 opérateur NOR à trois entrées et 1 opérateur AND à deux entrées pour le dernier terme
• 1 opérateur OR à six entrées pour avoir la fonction.
• 1 opérateur NOT pour chacune des variables (trois opérateurs).
Ce qui fait un total de 11 opérateurs.
Simplification Axiome/Propriété
La simplification algébrique est intuitive et devient peu évidente quand la fonction à simplifier est plus
complexe.
A B Σ C0
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
A B Cin S Cout
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
Table 1.2: Table de vérité Full Adder
Figure 1.12 donne les tables de KARNAUGH correspondant aux sorties S et Cout .
la retenue finale c et qui sera le bit de poids le plus fort (MSB) du résultat de la somme.
En conclusion, pour effectuer l’addition de deux nombres de 4 bits, il suffit de chaîner entre eux 3
additionneurs complets et un demi-additionneur. La retenue est ainsi propagée d’un additionneur à l’autre.
Un tel additionneur est appelé un additionneur série. Son circuit est donné en Figure 1.15.
En général on préfère remplacer le demi-additionneur par un additionneur complet (Figure 1.16) pour
lequel la retenue en entrée ci est fixée à zéro.
De cette manière on peut placer par exemple deux de ces circuits en cascade pour effectuer la somme de
deux nombres à 8 bits chacun.
Il suffit de propager la retenue finale Ret du premier circuit vers la retenue en entrée ci correspondant à la
position LSB du deuxième circuit. Ceci est vrai pour tout additionneur de k x 4 bits avec k entier.
a ⊕ 0 = a ⇒ Opérateur neutre
Ce circuit aiguille une seule de ses N entrées vers sa sortie unique S. En effet la combinaison binaire de k
bits fournie en commande de sélection (Adresse) permet d’aiguiller le signal au niveau de l’entrée portant
l’indice dont la valeur est égale à l’équivalent décimal de la combinaison (Adresse), vers la sortie S.
■ Exemple 1.3 — Cas du Multiplexeur 2 vers 1.
Il s’agit d’un multiplexeur à N = 2 entrées (Notées E0 et E1 ). Il faudra donc k, tel que N = 2k , entrées
de commande de sélection ⇒ k = 1 entrée de commande (nommée C0 ) et une seule sortie S. Son
fonctionnement en aiguillage est tel que:
C0 S
S = E0 si C0 = 0 0 E0
S = E1 si C0 = 1 1 E1
D’où la table de vérité du circuit donnée en Table 1.3:
C0 E1 E0 S
0 0 0 0
0 0 1 1 S = E0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1 S = E1
1 1 1 1
Sel E3 E2 E1 E0 S1 S0 GS
0 x x x x 0 0 0
1 1 x x x 1 1 0
1 0 1 x x 1 0 0
1 0 0 1 x 0 1 0
1 0 0 0 1 0 0 0
1 0 0 0 0 0 0 1
Les x de la table de vérité signifient que les entrées peuvent indifféremment prendre n’importe quelle
valeur (0 ou 1). Le fonctionnement est le suivant:
• Si Sel = 0, le circuit est désactivé et les sorties S0 S1 = 00 et GS = 0, quelles que soient les entrées
E0 , E1 , E2 , E3 .
• Si Sel = 1, le circuit est activé et :
– Lorsqu’une seule ligne d’entrée parmi E0 , E1 , E2 , E3 se trouve au niveau haut (1), son numéro
est codé en binaire sur les sorties S0 S1 .
– Si plusieurs lignes sont simultanément au niveau haut, le circuit code le numéro le plus élevé.
– Si toutes les lignes d’entrée sont au niveau bas, le circuit code S0 S1 = 00, mais on signale par
GS = 1 que ce code n’est pas validé.
– Dans tous les autres cas GS = 0.
Les expressions logiques des sorties S0 , S1 et GS en fonction des entrées E0 , E1 , E2 , E3 et Sel Sont :
• S0 = Sel.(E3 + E 3 .E 2 E1 ) = Sel.(E3 + E 3 ).(E3 + E 2 ).(E3 + E1 ) = Sel.(E3 + E 2 ).(E3 + E1 ) ⇒ S0 =
Sel.(E3 + E1 .E 2 )
• S1 = Sel.(E3 + E 3 .E2 ) = Sel.(E3 + E 3 ).(E3 + E2 ) = Sel.(E3 + E2 )
• GS = Sel.E 3 E 2 E 1 E 0
Le logigramme de l’encodeur de priorité à 4 entrées est donné en Figure 1.22. ■
Entrée C0 C1 S0 S1 S2 S3
E=0 x x 0 0 0 0
0 0 1 0 0 0
0 1 0 1 0 0
E=1 1 0 0 0 1 0
1 1 0 0 0 1
Exercice 1.2 Donner les circuits correspondants aux tables de vérité suivantes:
A B Z1 A B Z2 A Z3 A B C Z4
0 0 0 0 0 0 0 1 0 0 0 0
0 1 1 0 1 0 1 0 0 0 1 0
1 0 1 1 0 0 0 1 0 0
1 1 1 1 1 1 Z3 = A 0 1 1 1
1 0 0 0
Z1 = A + B Z2 = A × B 1 0 1 1
1 1 0 1
1 1 1 1
Z4 = (A × B) + (A ×C) + (B ×C)
■
Exercice 1.3 Donner les tables de vérité et les expressions algébriques des circuits suivants:
Exercice 1.4 Simplifier au maximum (remplacer par un autre circuit utilisant au plus une seule porte
logique) les circuits suivants:
1. Circuit 1:
S = ((a + b).(a + c)) = ((ab).(ac)) = a.b + a.c = (a + b) + (a + c) = a + b + c
Le circuit se réduit à une porte OU (OR) à 3 entrées a, b, c et la sortie S.
2. Circuit 2:
S = ((a + b) + (a + c) + c) = (ab + ac + c) = [Link].c = (a + b)(a + c)c
S = (a + ac + ab + bc)c = (a + bc)c = ac + bcc = ac
Le circuit est une porte ET (AND) à 2 entrées a, c et la sortie S.
3. Circuit 3:
S = (a.b + a.c + c) = (a + b) + (a + c) + c) = (a + b + c + c) = (a + b + 1) = 0
La sortie est toujours à 0. Elle ne dépend d’aucune entrée.
4. Circuit 4:
S = ((a.b)).((a.c)).c = (a + b)(a + c)c = (a + ac + ab + bc)c = (a + bc)c = ac
Le circuit est une porte ET (AND) à 2 entrées a, c et la sortie S.
■
Exercice 1.5
1. Donner l’expression de la sortie S de ce circuit.
2. Déduire la fonction du circuit.
Réponse:
1. S = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D
2. On remarque que l’équation du circuit est sous la forme S = ∑(0, 5, 10, 15)
⇒ sa fonction est de détecter les nombres, exprimés sur 4 bits, multiples de 5.
A B C S A B C S
0 0 0 0 1 1 0 1
0 1 0 1 1 0 0 0
1 1 1 1 1 0 1 1
0 1 1 1 0 0 1 1
Réponse:
De la table de vérité on tire l’équation de la sortie en utilisant la table de Karnaught:
BC 00 01 11 10 Deux regroupements de 4 cellules chacun, produisant le résultat:
A S = B +C
0 0 1 1 1 Le ciruit est une porte OR (OU) à 2 entrées B et C et la sortie S
1 0 1 1 1
Exercice 1.7 Donner les équations simplifiées exprimées en Maxtermes puis déduire le circuit dont le
fonctionnement correspond à la table de vérité suivante :
a b c d S F a b c d S F
0 0 0 1 0 0 0 1 1 0 1 1
0 0 1 0 0 1 0 1 1 1 1 1
0 0 1 1 0 1 1 0 0 0 1 0
0 1 0 0 1 0 1 0 0 1 1 0
0 1 0 1 1 0
Réponse:
Les tables de KARNAUGH donnent les expressions simplifiées de S et F:
cd 00 01 11 10 cd 00 01 11 10
ab ab
00 φ 0 0 0 00 φ 0 1 1
01 1 1 1 1 01 0 0 1 1
11 φ φ φ φ 11 φ φ φ φ
10 1 1 φ φ 10 0 0 φ φ
S=a+b F= c
■
Exercice 1.8 Donner les équations simplifiées exprimées en Maxtermes puis déduire le circuit dont le
fonctionnement correspond à la table de vérité suivante :
a b c d S F a b c d S F
0 0 0 1 1 1 0 1 1 0 0 0
0 0 1 0 0 0 0 1 1 1 1 1
0 0 1 1 1 1 1 0 0 0 1 0
0 1 0 0 1 0 1 0 0 1 0 1
0 1 0 1 1 1
Réponse:
Les tables de KARNAUGH donnent les expressions simplifiées de S et F:
cd 00 01 11 10 cd 00 01 11 10
ab ab
00 φ 1 1 0 00 φ 1 1 0
01 1 1 1 0 01 0 1 1 0
11 φ φ φ φ 11 φ φ φ φ
10 1 0 φ φ 10 0 1 φ φ
S = (a + d).(c + d) F =d
■
Exercice 1.9 Donner les équations simplifiées exprimées en Maxtermes puis déduire le circuit dont le
fonctionnement correspond à la table de vérité suivante :
a b c d S F a b c d S F
0 0 0 1 0 0 0 1 1 0 1 1
0 0 1 0 1 1 0 1 1 1 0 0
0 0 1 1 0 0 1 0 0 0 0 1
0 1 0 0 0 1 1 0 0 1 1 0
0 1 0 1 0 0
Réponse:
Les tables de KARNAUGH donnent les expressions simplifiées de S et F:
cd 00 01 11 10 cd 00 01 11 10
ab ab
00 φ 0 0 1 00 φ 0 0 1
01 0 0 0 1 01 1 0 0 1
11 φ φ φ φ 11 φ φ φ φ
10 0 1 φ φ 10 1 0 φ φ
S = (c + d).(a + d) F =d
■
Réponse:
En exprimant la sortie de chaque porte, on a S = (A.B.C).(A.C)
Le théorème de De Morgan donne S = (A.B.C) + (A.C)
D’où la table de vérité:
A B C S
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
■
Réponse:
1. On nome X la sortie de la porte XOR
A B C D X R S A B C D X R S
0 0 0 0 0 1 1 1 0 0 0 1 0 1
0 0 0 1 0 1 1 1 0 0 1 1 0 1 X = sortie du XOR
0 0 1 0 0 0 1 1 0 1 0 1 0 1 X = A⊕B
0 0 1 1 0 0 1 1 0 1 1 1 0 1
0 1 0 0 1 0 1 1 1 0 0 0 1 1 R = sortie du NOR
0 1 0 1 1 0 1 1 1 0 1 0 1 1 R = X +C = X.C
0 1 1 0 1 0 1 1 1 1 0 0 0 1
0 1 1 1 1 0 1 1 1 1 1 0 0 1 S = X.R.D
Exercice 1.12 Soit la table de vérité d’un circuit logique à 4 entrées (A, B, C, D) et une sortie S
comme le montre la figure ci-dessous.
ABCD S ABCD S ABCD S ABCD S
0000 0 0100 0 1000 0 1100 0
0001 1 0101 1 1001 1 1101 1
0010 1 0110 1 1010 1 1110 1
0011 1 0111 1 1011 1 1111 1
1. Donner l’équation logique du circuit.
2. Donner l’équation logique simplifiée du circuit.
3. Donner l’équation du circuit équivalent ne comportant que des portes NAND.
4. Donner le circuit correspondant à la porte OR, ne comportant que la porte NAND.
Réponse:
1. S = ∑ (1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14, 15) ou S = ∏ (0, 4, 8, 12)
Soit S = (A + B +C + D).(A + B +C + D).(A + B +C + D).(A + B +C + D)
2. La table de KARNAUGH donne S = C + D
3. En appliquant la propriété d’idempotence puis le théorème de DE MORGAN on trouve:
S = (C + D) = C.D
≡
■
Exercice 1.14 Un afficheur 7 segment est un circuit afficheur de chiffres décimaux, composé de 7
entrées a, b, c, d, e, f, g, h chacune commandant un segment Diode Electroluminescente (DEL ou Light
Emitting Diode) disposés comme le montre la figure.
Dès qu’une entrée est activée, le segment correspondant s’allume et dès qu’elle est désactivée le
segment s’éteint. On associe à un tel afficheur un circuit de commande prenant en entrée le code
décimal codé binaire (DCB) et donnant en sortie les entrées de l’afficheur 7 segments, permettant ainsi
d’afficher les chiffres en base 16 correspondant (i e: 0, 1 , . . . , 9 , A , b , C, d , E,F)
Si par exemple l’entrée ABCD = 0101 alors la sortie sera 1011011 pour afficher le chiffre 5.
1. Donner la table de vérité du circuit de commande de l’afficheur 7 segments.
2. déduire ses équations logiques.
3. Donner son schéma de câblage.
Réponse:
1. Table 1.6 donne la table de vérité du circuit de commande de l’afficheur 7 segments, avec les
équivalents décimal et hex et l’affichage.
2. Equations logiques des sorties:
– a = E 3 E2 E0 + E 3 E1 + E3 E 2 E 1 + E 2 E 0 + E3 E 0 + E2 E1
– b = E 3 E 2 + E 3 E 1 E 0 + E 3 E1 E0 + E 2 E 1 + E3 E 1 E0 + E3 E1 E 0
– c = E 3 E 1 + E 3 E0 + E 3 E2 + E3 E 2 + E 1 E0
– d = E 3 E 2 E 0 + E 2 E1 E0 + E3 E 1 + E2 E 1 E0 + E2 E1 E 0
– e = E 2 E 0 + E3 E2 + E1 E 0 + E3 E1
– f = E 3 E2 E 1 + E3 E 2 + E 1 E 0 + E2 E 0 + E3 E1
– g = E 3 E2 E 1 + E3 E 2 + E 2 E1 + E1 E 0 + E3 E0
3. Figure 1.30 donne le circuit de commande de l’afficheur 7 segments avec les câblages à l’afficheur
en sortie.
Exercice 1.15 On désire réaliser un circuit combinatoire permettant de convertir un nombre binaire
en complément à 2. Le nombre binaire en entrée est donné en S+V A sur 4 bits notés A3 , A2 , A1 et
A0 où A3 représente le poids fort du nombre, tandis que A0 représente le poids faible. Le résultat de
la conversion en C2 sera donné sur 4 bits notés S3 , S2 , S1 et S0 où S3 représente le poids fort du
résultat, tandis que S0 représente son poids faible.
Exemple:
Si l’entrée (A3 A2 A1 A0) = (1010)2
Alors la sortie (S3S2S1S0) = (1110)2 car (1010)S.V.A = −(0010)2 = (1110)C2
1. Établir la table de vérité correspondant à ce circuit.
2. Déterminer les équations simplifiées des sorties de ce circuit.
3. Tracer le schéma logique de ce circuit.
Réponse: Représentation binaire des nombres relatifs sur 4 bits
A1 A0 00 01 11 10 A1 A0 00 01 11 10
A3 A2 A3 A2
00 0 0 1 1 00 0 0 0 0
01 0 0 1 1 01 1 1 1 1
11 0 1 0 1 11 1 0 0 0
10 0 1 0 1 10 0 1 1 1
S1 = A1 .(A0 + A3 ) + A3 .A1 .A0 S0 = A2 .(A3 + A1 .A0 ) + A3 .A2 .(A0 + A1 )
Le circuit est facile à réaliser en utilisant les portes NOT, AND et OR. ■
Exercice 1.17 Soit F une fonction logique représentée par la formule suivante :
F(A, B,C, D) = ∑(0, 3, 8, 11, 14, 15).
1. Réaliser F à l’aide d’un démultiplexeur à 4 entrées de commande, et une porte logique NOR.
2. Réaliser F à l’aide d’un multiplexeur (8 × 1), et des ports logiques. Les variables A, B et C
seront les bits de sélection (i.e. lignes de commande).
3. Réaliser F à l’aide d’un multiplexeur (4 × 1), et des ports logiques. Les variables A, B seront les
bits de sélection.
Exercice 1.18 Soit la fonction : Z(A, B,C, D) = ∏ (0, 4, 5, 7, 8, 9, 10, 11, 12, 14).
1. Réaliser cette fonction à l’aide d’un Multiplexeur 4 → 1, et des portes logiques à deux entrées.
Les variables A et B seront les bits de sélection.
2. Réaliser la Fonction Z à l’aide d’un Multiplexeur 8 → 1, et B, C, D comme ligne de sélection
Exercice 1.19
Soit la fonction F définie par la table de vérité suivante (Table 1.7).
A B C D F A B C D F A B C D F A B C D F
0 0 0 0 0 0 1 0 0 0 1 0 0 0 φ 1 1 0 0 1
0 0 0 1 0 0 1 0 1 0 1 0 0 1 1 1 1 0 1 φ
0 0 1 0 φ 0 1 1 0 0 1 0 1 0 1 1 1 1 0 0
0 0 1 1 0 0 1 1 1 φ 1 0 1 1 1 1 1 1 1 0
1. En utilisant que des portes inversées ("NON-ET", "NON-OU"), réaliser la fonction F avec :
(justifier vos réponses)
(a) Un Multiplexeur 2 → 1 avec « A » comme ligne de commande.
(b) Un Décodeur 2 → 4.
(c) Un Décodeur 3 → 8.
2. En utilisant seulement des Multiplexeurs 2 → 1.
Réponse:
1. – Forme canonique Disjonctive: F(A, B,C, D) = ∑(9, 10, 11, 12) + Φ(2, 7, 8, 13).
Forme canonique Conjonctive: F(A, B,C, D) = ∏(0, 1, 3, 4, 5, 6, 14, 15) + Φ(2, 7, 8, 13).
– Equation simplifiée (Les deux formes canoniques donnent le même résultat):
CD 00 01 11 10
AB
00 0 0 0 φ
01 0 0 φ 0
11 1 φ 0 0
10 φ 1 1 1
F = A.(B +C)
(a) utilisation d’un Multiplexeur 2 → 1 avec « A » comme ligne de commande.
On a F = A.(B +C) = A.(B.C) de la forme A.e1 + A.e0 avec e1 = B.C et e0 = 0 sont les
entrées du multiplexeur 2 → 1 ayant A comme ligne de sélection.
(b) Utilisation d’un Décodeur 2 → 4.
Un décodeur 2 → 4 est constitué de deux entrées x et y et de quatre sorties s0 , s1 , s2 , s3
telles que: s0 = x.y, s1 = x.y, s2 = x.y, s3 = x.y
il suffit donc d’assurer que x = A et y = B.C pour avoir F = s3 .
(c) Utilisation d’n Décodeur 3 → 8.
On a F = A.(B +C) = A.B + A.C = A.B.(C +C) + A.(B + B).C
F = (A.B.C + A.B.C) + (A.B.C + A.B.C) = A.B.C + A.B.C + A.B.C
⇒ F = ∑(4, 5, 6) = ∏(0, 1, 2, 3, 7) ⇒ F = A.B.C + A.B.C + A.B.C + AB.C + ABC
⇒ F = A.B.C + A.B.C + A.B.C + A.B.C + ABC
F est la sortie d’une porte "NON-OU" ayant 5 entrées qui ne sont rien d’autres que les
sorties s0 , s1 , s2 , s3 , s7 d’un décodeur 3 → 8 ayant pour entrées A, B et C.
2. on a eu F = A.B.C + A.B.C + A.B.C + A.B.C + ABC = A.(B.C + B.C + B.C + B.C) + ABC
⇒ F = A.(B.C + B.C + B.C + B.C) + ABC
??????????????????????
■
2.1 Définition
Définition 2.1.1 Un circuit séquentiel est un circuit dont les sorties sont définies non seulement par les
variables d’entrées de ce circuit mais aussi par des variables internes à ce circuit et qui évoluent dans
le temps. En d’autres termes la sortie du circuit à un moment donné dépend non seulement des entrées
mais aussi de comment ce circuit a évolué jusqu’à l’instant considéré. Ce sont donc des circuits dans
lesquels le temps intervient dans la définition des sorties
La structure générale d’un circuit séquentiel est donnée par la Figure 2.1
Q(n+1) = f (Qn , X)
Y = g(X, Qn )
Corollaire 2.1.1 Pour garder en mémoire son état, un circuit séquentiel utilise le circuit spécifique
appelé BASCULE.
Corollaire 2.1.2 L’état d’un circuit séquentiel est donné par les sorties des bascules qui le constituent.
Q0 = S.Q1 = S + Q1 et Q1 = R.Q0 = R + Q0
⇒ Q0 = S + R.Q0 Q1 = R + S.Q1
Les entrées S et R permettent soit de changer l’état de bascule ou de maintenir la mémorisation conformé-
ment à la table de vérité donnée en Table 2.1.
S R Q0 Q1
0 0 1 1 Combinaison interdite
0 1 1 0 Mise à 1 (Q = 1)
1 0 0 1 Mise à Zéro (Q = 0)
1 1 Q0 Q1 Mémorisation
– Qn (ou état actuel Q- ) représente la valeur de la sortie Q pendant le nème période précédant la
(n + 1)ème impulsion
– Qn+1 (ou état futur Q+ ) représente valeur de la sortie Q pendant la (n + 1)ème période suivant
la (n + 1)ème impulsion
Sn Rn Qn+1
Si R = S = 0, la sortie ne change pas (Qn+1 = Qn ) 0 0 Qn
Si S = 0 et R = 1, alors Q est forcée à 0 (Qn+1 = 0) 0 1 0
Si S = 1 et R = 0, alors Q est forcée à 1 (Qn+1 = 1) 1 0 1
Si S = 1 et R = 1, alors situation indéterminée 1 1 ?
T D Q Q ou Q′
1 0 0 1 Mise à 0
1 1 1 0 Mise à 1
0 φ Q- Q- Mémorisation
• Quand T = 0:
– La bascule R-S-T Maitre est à l’état de mémorisation. Elle garde son état précédent.
– La bascule R-S-T Esclave a alors son T = 1 : elle passe à l’état correspondant suivant ses
entrées R et S qui ne sont rien d’autre le les sorties Q et Q’ (ou Q) de la bascule R-S-T Maitre.
– La bascule R-S-T Esclave se comporte comme une bascule D (R = S): elle reproduit en sortie
son entrée qui n’est rien d’autre que l’état précédent mémorisé de la bascule R-S-T Maitre.
Rem On notera que la bascule R-S-T Maitre-Esclave ne change d’état qu’au moment où T passe du niveau
1 au niveau 0. C’est-à-dire au moment de la transition 1 → 0 qui est appelé Front Descendant.
T R S Q Q’
↓ 0 0 Q- Q- Mémorisation
↓ 0 1 1 0 Mise à 1
↓ 1 0 0 1 Mise à 0
↓ 1 1 x x Invalide
Rem
H ou Clk J K Q Q
↓ 0 0 Q- Q- Mémorisation
↓ 0 1 0 1 Mise à 0
↓ 1 0 1 0 Mise à 1
↓ 1 1 Q- Q- Complémentation
Qn Qn+1 transition
0 0 S0 La bascule est stable à l’état 0
0 1 T1 La bascule effectue une transition de l’état 0 vers l’état 1.
1 0 T0 La bascule effectue une transition de l’état 1 vers l’état 0.
1 1 S1 La bascule est stable à l’état 1.
H ou Clk T Qn+1
↓ 0 Qn Mémorisation
↓ 1 Qn Complémentation
Table 2.9: Table de vérité de la bascule T
Rem Les bascules J-K utilisées sont toutes câblées de façon à se comporter en bascules D (K = J).
Fonctionnement:
Rem Les bascules J-K utilisées sont toutes câblées de façon à se comporter en bascules D (K = J).
Fonctionnement:
• Dans ce cas les bits de données arrivent en série l’un derrière l’autre au niveau de l’entrée. De plus
le signal Horloge doit impérativement être un signal périodique de période égale à la durée d’un bit
de données. De cette façon on assure que l’Horloge présente un seul front pendant la durée d’un bit
de données.
– Au premier front du signal Horloge le premier bit des données passe dans la première bascule
et se retrouve reproduit à sa sortie. Il devient alors ’entrée’ de la deuxième bascule.
– Au deuxième front du signal Horloge deux opérations se passent simultanément:
1. Le deuxième bit des données est à l’entrée de la première bascule et y est chargé
2. Le premier bit des données qui était à l’entrée de la deuxième bascule y est alors chargé
et se retrouve comme entrée pour la troisième bascule.
On dit alors que le premier bit des données a été décalé de la première bascule vers la
deuxième bascule.
Et ainsi de suite. . .
– Au quatrième front d’horloge, les quatre bits des données sont tous chargés dans le registre et
le premier bit des données est disponible sur la sortie du circuit qui n’est rien d’autre que la
sortie de la dernière bascule.
• A chaque front d’Horloge supplémentaire on retrouve le bit de données suivant sur la sortie. On dit
alors que les bits en entrée sont introduits en série dans le registre après quatre tops d’horloge et
la sorties est aussi série et il faut quatre autres tops d’horloge pour les récupérer tous les bits de
données.
Le nombre n de bits qu’une cellule peut emmagasiner défini la longueur du mot mémoire manipulé par
l’ordinateur. La taille d’un block mémoire est n × k bits.
La mémoire Communique avec les autres éléments du système au moyen de trois BUS:
1. BUS de données: C’est par ce bus que transite toute information à écrire dans la mémoire ou à lire
de la mémoire.
Le nombre de conducteurs (fils) dans un bus de données est donné par le nombre n de bits dans une
cellule mémoire.
2. BUS d’adresses: ce bus est utilisé pour fournir l’adresse de l’information à récupérer ou pour fournir
l’adresse de l’emplacement où stocker une information.
Le nombre m de fils dans ce bus est défini par le nombre k d’adresses différentes dans la mémoire.
Il sera donc constitué de m fils (m bits) suivant la relation k = 2m , Ce qui permettra de disposer de k
combinaisons adresses différentes, chacune constituée de m bits.
3. BUS de contrôle: Ce bus est essentiellement utilisé pour définir l’opération à mener:
– ECRITURE (Write) dans un emplacement pointé par une adresse ou
– LECTURE (Read) du contenu d’un emplacement pointé par une adresse.
Dans notre cas il sera constitué d’un seul fil (1 bit) qui par exemple s’il est à 0 ceci correspondra à
l’opération d’écriture et s’il est à 1 ce sera l’opération de lecture.
• Un bus peut être UNIDIRECTIONNEL comme le bus d’adresse ou le bus de contrôle dans lesquels
les bits ne circulent que dans un seul sens (de l’extérieur de la mémoire vers la mémoire).
• Il peut aussi être BIDIRECTIONNEL comme le bus de données dans lequel les bits circulent dans
les deux directions:
– En mode Ecriture, l’information circule de l’extérieure de la mémoire vers la mémoire.
– en mode Lecture, de la mémoire vers l’extérieure de la mémoire.
Le sens de circulation des bits est donné par une flèche sur le bus.
■ Exemple 2.1 la figure 2.14 donne un exemple d’une mémoire centrale avec:
• n = 3 et k = 4 ⇒ de taille = 3 × 4 = 12 bits,
• un bus de données de n = 3 fils,
• un bus d’adresses de m = 2 fils tel que k = 2m = 4 adresses différentes ou cellules,
• un bus de contrôle de 3 fils.
■
Réponse:
Les sorties futures C+ et D+ du circuit dépendent non seulement des entrées A et B mais aussi des
sorties présentes C− et D− juste avant l’application des nouvelles entrées.
On tire les équations suivantes du circuit: C = A + D et D = B + C ⇒
• C+ = A + B +C−
• D+ = A + B + D−
Donnant la table de vérité suivante:
entrées sorties futures
A B C+ = A + B +C− D+ = A + B + D−
0 0 C− D−
0 1 1 1
1 0 1 1
1 1 1 1
Réponse:
Équations du circuit: C = A + D = A.D et D = B +C = B.C ⇒
• C+ = A.B.C−
• D+ = A.B.D−
Donnant la table de vérité suivante:
Réponse:
Équations du circuit: C = T .A + D = T .A.D = (T + A).D = (T + A).(T + B).C
et D = T .B +C = (T + B).C = (T + B).(T + A).D ⇒
• C+ = (T + A).((T + B) +C) = (T + A).(T .B +C) = T .A.B + (T + A).C
• D+ = (T + B).((T + A) + D) = (T + B).(T .A + D) = T .A.B + (T + B).D
Donnant la table de vérité suivante:
entrées sorties futures
T A B C+ D+
1 x x C − D− Mémorisation
0 0 0 0 0
0 0 1 0 1 Mise à 0
0 1 0 1 0 Mise à 1
0 1 1 C − D− Mémorisation
■
Réponse:
Équations du circuit: C = D + A.T et D = C + B.T ⇒
• C+ = C + B.T + A.T = C.B.T + A.T
• D+ = D + A.T + B.T = D.A.T + B.T
Donnant la table de vérité suivante:
Exercice 2.5 Soit le diagramme des temps correspondant de haut en bas respectivement à : φ , E, B,C, A.
5.
Exercice 2.6 Donnez le chronogramme des sorties Q de chacune des bascules données ci dessous en
fonction d’un signal horloge H.
Réponse:
• Sachant que la bascule D donne toujours en sortie ce qu’on présente à son entrée t étant donné
le branchement D = Q ⇒ la sortie future sera toujours le complément de la sortie actuelle
⇒ donc la bascule D donnée se comporte comme une bascule T. Ce qui est confirmé par le
chronogramme.
• La bascule J-K est câblée pour assurer que J = K = V cc ≡ niveau logique 1 ⇒ C’est une bascule
T ⇒ sa sortie future sera toujours le complément de sa sortie actuelle. Ce qui est confirmé par le
chronogramme. ■
Exercice 2.7 Soit une bascule A-B dont la table de vérité est donnée ci dessous:
A B Q+
0 0 Q− 1- Réaliser cette bascule en utilisant la bascule J-K.
0 1 1 2 - Montrer comment réaliser cette bascule en utilisant un multiplexeur 4 → 1.
1 0 Q−
1 1 0
Réponse:
1. utilisation de la bascule J-K:
De la table de vérité de la bascule AB on tire la table des entrées de la bascule J-K:
Etat actuel Etat futur transition Entrées
A B Q− Q+ Q J K
0 0 0 1 T1 1 φ
0 0 1 0 T0 φ 1
0 1 0 1 T1 1 φ
0 1 1 1 S1 φ 0
1 0 0 0 S0 0 φ
1 0 1 1 S1 φ 0
1 1 0 0 S0 0 φ
1 1 1 0 T0 φ 1
Q 0 1 Q 0 1
AB AB
00 1 φ 00 φ 1
01 1 φ donne: 01 φ 0 donne:
11 0 φ J=A 11 φ 1 K = A.B + A.B
10 0 φ 10 φ 0 K = A⊕B
d’où le logigramme:
Exercice 2.8 On considère le montage de la Figure 2.22, réalisé avec une bascule D active sur les
fronts montants du signal d’horloge.
1. Donner les expressions des sorties A et B.
2. Compléter le chronogramme de la Figure 2.23.
Exercice 2.9 Concevoir Un registre deux bits à entrées séries et sorties parallèles à l’aide de bascules
J-K.
Réponse:
Le registre est à 2 bits ⇒ 2 bascules J-K.
Les bits à charger dans le registre arrivent en série (l’un derrière l’autre) d’une entrée E externe de telle
manière que:
• au premier top d’horloge, le premier bit, provenant de l’entrée E, sera chargé dans la première
bascule (la sortie de la première bascule présente le niveau du premier bit)
• au deuxième top d’horloge, le niveau à la sortie de première bascule doit se charger dans la
deuxième bascule (la sortie de la deuxième bascule présente le niveau du présent à la sortie
de la première bascule) et le nouveau bit entrée E (deuxième bit en entrée) sera chargé dans la
première bascule. En d’autres termes, le bit qui était dans la première bascule sera décalé dans
la deuxième basule et le deuxième bit prend la place du premier bit dans la première bascule.
• au troisième top d’horloge, le troisième bit provenant de l’entrée E sera chargé dans la première
bascule, le deuxième bit qui était dans la première bascule sera décalé dans la deuxième bascule.
• et ainsi de suite
Rem Il faut donc deux top d’horloges pour introduire deux nouveaux bits dans le registre à deux bits
(entrées série).
les sorties du registre ne sont rien d’autre que les sorties des deux bascules et peuvent donc être lues en
même temps à chaque top d’horloge (sorties parallèles)
On utilise première bascule nommée B0 et une deuxième bacule nommée B1 .
D’après le fonctionnement tel que décrit, on a, à chaque top d’horloge, les relations suivantes:
Q0 = E et Q1 = Q0
Entrée États actuels États futurs sorties Transitions Entrées
E Q−0 Q−1 Q+0 Q+ 1 S0 S1 Q0 Q1 J0 K0 J1 K1
0 0 0 0 0 0 0 S0 S0 0 φ 0 φ
0 0 1 0 0 0 0 S0 T0 0 φ φ 1
0 1 0 0 1 0 1 T0 T1 φ 1 1 φ
0 1 1 0 1 0 1 T0 S1 φ 1 φ 0
1 0 0 1 0 1 0 T1 S0 1 φ 0 φ
1 0 1 1 0 1 0 T1 T0 1 φ φ 1
1 1 0 1 1 1 1 S1 T1 φ 0 1 φ
1 1 1 1 1 1 1 S1 S1 φ 0 φ 0
J0 = E K0 = E = J0
J1 = Q0 K1 = Q0 = J1
S0 = Q 0 S1 = Q1
Figure 2.25: Registre 2 bits à entrée série et sorties parallèles avec bascules J-K
■
Exercice 2.10 Concevoir Un registre deux bits à entrées parallèles et sorties séries à l’aide de bascules
D.
Réponse:
Le registre est à 2 bits ⇒ 2 bascules D0 et D1 .
Les deux bits à charger dans le registre arrivent en parallèle (au même instant) via deux entrées
parallèles E0 , E1 externes de telle manière que, au top d’horloge:
• le bit provenant de l’entrée E0 , sera chargé dans la bascule D0 (la sortie de la bascule présente le
niveau du bit considéré)
• le bit provenant de l’entrée E1 , sera chargé dans la bascule D1 (la sortie de la bascule présente le
niveau du bit considéré)
Rem En un seul top d’horloge les deux bits sont introduits dans le registre à deux bits (entrées
parallèles).
Le circuit est aussi doté d’une seule sortie S par laquelle le contenu du registre (2 bits) est récuré en
série (l’un derrière l’autre). On choisi l’ordre de précédence suivant: bit de D0 suivi du bit de D1 .
La récupération du contenu du registre se fera comme suit:
• au premier top d’horloge, le bit contenu dans la bascule D0 est mis sur la sortie S et le contenu
de la bascule D1 est décalé dans la bascule D0 .
• au deuxième top d’horloge le bit contenu dans D0 (qui n’est rien d’autre que le bit précédemment
contenu dans D1 ) est mis sur la sortie S
Rem Il faut donc deux tops d’horloge pour récupérer le contenu du registre (deux bits) sur la sortie S
(sorties séries).
Rem d’après la description du fonctionnement désiré, on remarque que le registre se comporte de deux
manières différentes suivant que l’on y écrit des données (introduction des bits provenant des
entrées externes E0 et E1 ) ou que l’on y lit des données (transfert du contenu des bascules D0 et
D1 sur la sortie externe S).
En effet, au niveau de la bascule D0 , en mode ECRITURE (ou WRITE), le bit qui y est introduit
au top d’horloge provient de l’entrée externe E0 . Alors qu’en mode LECTURE (ou READ), le bit
qu’on y introduit au top d’horloge provient de la bascule D1 .
Quand on est en mode ÉCRITURE on ne doit pas lire le registre et quand on est en mode
LECTURE, on ne doit pas écrire dans le registre. ⇒ Il faut une COMMANDE externe pour
séparer les deux modes de travail (1 bit C) telle que par exemple:
• Si C = 0 → mode ECRITURE (WRITE)
• Si C = 1 → mode LECTURE (READ).
Q0 Q1 00 01 11 10 Q1 Q0 00 01 11 10
CE0 E1 CE0 E1
000 0 0 0 0 000 0 0 0 0
001 0 0 0 0 001 1 1 1 1
011 1 1 1 1 011 1 1 1 1
010 1 1 1 1 010 0 0 0 0
110 0 1 1 0 110 0 0 0 0
111 0 1 1 0 111 0 0 0 0
101 0 1 1 0 101 0 0 0 0
100 0 1 1 0 100 0 0 0 0
D0 = C.E0 +C.Q1 D1 = C.E1
La table de KARNAUGH pour la sortie donnera S = Q0
Exercice 2.11 On veut réaliser un registre à incrémentation de trois bits dont le fonctionnement obéit
à l’algorithme suivant:
• Si entrée = 1 alors
– Si R = 7 alors R = 0
– Sinon R = R +1
• Sinon R reste inchangé
• Fin
Concevoir puis donner le circuit pour la réalisation d’un tel circuit.
Q2Q3 00 01 11 10 Q2Q3 00 01 11 10
eQ1 eQ1
00 0 0 0 0 00 0 0 0 0
01 0 0 0 0 01 0 0 0 0
11 0 0 1 0 11 φ φ φ φ
10 φ φ φ φ 10 0 0 1 0
J1 =e Q2 Q3 K1 = e Q2 Q3 = J1
Q2Q3 00 01 11 10 Q2Q3 00 01 11 10
eQ1 eQ1
00 0 0 0 0 00 0 0 0 0
01 0 0 0 0 01 0 0 0 0
11 0 1 φ φ 11 φ φ 1 0
10 0 1 φ φ 10 φ φ 1 0
J2 = e Q3 K2 = e Q3 = J2
Q2Q3 00 01 11 10 Q2Q3 00 01 11 10
eQ1 eQ1
00 0 0 0 0 00 0 0 0 0
01 0 0 0 0 01 0 0 0 0
11 1 φ φ 1 11 φ 1 1 φ
10 1 φ φ 1 10 φ 1 1 φ
J3 = e K3 = e = J3
Exercice 2.12 Réaliser un registre R à 3 bits, constitué de bascules avec mise à zéro forcée (Clr), qui
suivant une commande C (2 bits C0C1 ) effectue les opérations suivantes:
– Si C = 0 0 : décalage circulaire des donnés qu’il contient.
– Si C = 1 0 : chargement parallèle de nouvelles données.
– Si C = 0 1 : remise à zéro de son contenu (bascules avec Remise à zéro forcée activée à 0)
– Si C = 1 1 : maintient son contenu. (mémorisation)
Rem Le circuit est basé sur un registre à décalage circulaire de 3 bits ⇒ il doit donc être constitué de 3
bascules et posséder 9 entrées et 3 sorties qui sont:
– Entrées externes: Horloge, C0 , C1 , les entrées parallèles E0, E1, et E2.
– Entrées état présent: donné par les sorties Q0, Q1 et Q2 des bascules.
– Sorties état futur: donné par les sorties Q0, Q1 et Q2 des bascules.
donc il nécessite 28 = 256 combinaisons (le signal horloge non pris en compte) pour toutes les
entrées à gérer.
Il est donc conseillé de diviser le système en 4 sous systèmes indépendants de telle manière à ce
Rem On remarque que les bascules J-K sont câblées pour se comporter en bascules D.
Des équation des entrées J-K de chacune des bascules on établi le circuit du registre à décalage
circulaire comme suit:
En tenant compte de tous les cas considérés, on a le circuit demandé donné en Figure 2.31 dans lequel
les bascules J-K ont été remplacées par des bascules D avec mise à zéro forcée activée par un niveau 0.
Exercice 2.13 Soit un processeur pouvant adresser jusqu’à 256 mots (cellules) de 16 bits chacun. On
veut raccorder à ce processeur une mémoire centrale, mais on ne dispose que de circuits mémoires
chacune de taille 128x4 (128 mots de 4 bits chacun).
1. Quelle est la taille (nombre de fils) de ses bus d’adresse et de données ?
256 mots = 28 mots ⇒ Bus d’adresses 8 fils ; mots de 16 bits ⇒ Bus de données 16 fils
2. Combien de mémoires de taille 128x4, doit on utiliser?
Un circuit mémoire 128x4 est doté d’un bus adresse de 7 fils (27 = 128) et d’un bus de donnés
de 4 fils comme le montre Figure 2.32.
Figure 2.33: Circuit mémoire 256x16 construit sur la base de circuits mémoire 128x4
■
Figure 2.35: Circuit mémoire 16x8 construit sur la base de circuits mémoire 4x4
■
Exercice 2.15 Réaliser un registre mémoire de 4 bits possédant une commande R/W . Qui:
• si la commande est à 0 alors le registre charge en parallèle les bits présents sur ses 4 entrées de
données E0 E1 E2 E3 (écriture mémoire) et
• si la commande = 1 alors le registre présente en parallèle sur ses sorties s0 s1 s2 s3 son contenu
binaire (lecture mémoire)
De plus, ce registre mémoire est commandé par un signal «Sel» de sélection qui:
• quand Sel = 1 le registre est activé et réagit à ses autres entrées et
• quand Sel = 0 le registre est désactivé (garde son état) quelque soient les autres signaux en
entrée.
■
Exercice 2.16 Réaliser une mémoire de taille (8 Mots x 4 bits) en utilisant les sous circuits des
exercices précédents. Cette mémoire doit pouvoir effectuer des opérations d’écriture et de lecture par
le biais d’une commande (R/W ) ■
Exercice 2.17 Réaliser une mémoire commandée par un processeur par l’intermédiaire d’un bus
d’adresse, d’un bus de donnée et d’un bus de commande.
Donner le câblage de la mémoire au processeur.
(Utiliser l’élément Buffer à 3 états ou «Tristate buffer» qui possède un 3ème état Haute Impédance qui
correspond à l’état déconnecté).Sa table de vérité et sa représentation sont données ci dessous).
A en Y Note:
1 1 1 Z représente l’état HAUTE IMPEDANCE qui fait que le circuit
0 1 0 se comporte comme si il était déconnecté
x 0 Z
Table de vérité du
Buffer à 3 états
Exercice 2.18
1. Décodeur 3 vers 8
Réaliser un circuit décodeur 3 vers 8 (N vers 2N ). Ce circuit accepte en entrée une combinaison
binaire de 3 bit et active une seule sortie correspondant à la position donnée par la valeur
décimale de la combinaison binaire en entrée (active 1 sortie parmi 2N ).
2. Réaliser un registre mémoire de 4 bits ayant les caractéristiques suivantes:
• Ce registre possède une commande telle que :
– Si la commande est à 0 alors le registre charge en parallèle les bits présents sur ses 4
entrées de données E=E0 E1 E2 E3 (écriture mémoire)
– Si la commande = 1 alors le registre présente en parallèle sur ses sorties s=s0 s1 s2 s3
son contenu binaire (lecture mémoire)
• Ce registre mémoire est commandé par un signal «Sel» de sélection qui:
– Quand Sel = 1 le registre est activé et réagit à ses autres entrées
– Quand Sel = 0 le registre est désactivé (garde son état) quelque soient les autres
signaux en entrée ( et E)
• Ce registre possède en réalité un seul bus de données utilisé en entrée et sortie (E et s
forment le même bus de données d = D0 D1 D2 D3 D4) (Utiliser l’élément Buffer à 3 états
ou «Tristate buffer» qui possède un 3ème état Haute Impédance qui correspond à l’état
déconnecté)
3. Mémoire centrale d’un processeur Réaliser une mémoire de taille (8 x 4) en utilisant les sous
circuits précédents. Cette mémoire doit pouvoir effectuer des opérations d’écriture et de lecture
par le biais d’une commande
Cette mémoire est supposée être commandée par un processeur par l’intermédiaire d’un bus
d’adresse, d’un bus de donnée et d’un bus de commande.
4. Extension d’une mémoire centrale d’un processeur.
Utiliser le circuit précédent pour réaliser une mémoire centrale d’un ordinateur doté d’un bus de
données de 8 fils et d’un bus d’adresses de 4 fils.
Fiche d’information du circuit BUFFER A 3 ETATS (TRISTATE BUFFER)
A en Y Note:
1 1 1 Z représente l’état HAUTE IMPEDANCE qui fait que le circuit
0 1 0 se comporte comme si il était déconnecté
x 0 Z
Table de vérité du
Buffer à 3 états
Tout comme l’automate de Moore, l’automate de Mealy est représenté par un diagramme des états
permettant de visualiser les transitions entre les états selon le patron de stimulation reçu par le vecteur
d’entrées.
– Les états sont alors représentés par des cercles; le nom rattaché à chaque état à l’intérieur de chaque
cercle,
– Les transitions entre les états sont représentés par des arcs orientés reliant les cercles;
– Les conditions (valeurs du vecteur d’entrée) enclenchant ces transitions sont notées sur les arcs;
– La valeur des sorties est généralement indiquée sur l’arc (séparée des entrées par un trait oblique: /).
■ Exemple 3.2 — Diagramme des états pour une machine de Mealy.
Soit la machin de Mealy dont le diagramme est donné en figure 3.4.
On y trouve:
– 4 états notés A, B, C, D;
– 1 état de départ ou état initial A repéré par une flèche brisée;
– L’entrée (notée sur les arcs);
– La sortie séparée de l’entrée par un trait oblique (notée sur l’arc).
Méthode 3.3.1 Les étapes à suivre pour concevoir une machine à états finis (selon le modèle de la
machine de Moore ou Mealy) à partir d’un cahier des charges sont:
1. Dessiner le diagramme des états
2. Poser la table des états
3. Définir la table des transitions
4. Déterminer les expressions des entrées des bascules
5. Déterminer les expressions des sorties
6. Faire le schéma
Figure 3.5: Machine de MOORE: Diagramme des états pour le détecteur de la séquence 010
Pour pouvoir plus facilement trouver la structure complète du système, c’est à dire la structure de la
fonction combinatoire de calcul de l’état suivant ainsi que celle du calcul des sorties, il est préférable de
Table 3.1: MOORE: Table des états et des sorties du détecteur de la séquence 010
Table 3.2: MOORE: Table des états et des sorties du détecteur de la séquence 010
Rem Les sorties sont indépendantes des entrées. Que l’entrée e soit 0 ou 1 elles prennent la même valeur.
Rem On peut choisir l’un des trois types de bascules (J-K, D ou T), mais il est conseillé de toujours choisir
la bascule J-K qui est plus générale.
De la table des états on tire la table des transitions que chaque bascule doit assurer, puis les tables des
entrées J et K de chaque bascule pour réaliser ces transitions (Table 3.3) en se basant sur la table des
entrées de la bascule J-K (Table 2.8).
Table 3.3: MOORE: Table des transitions et des entrées du détecteur de la séquence 010
3.4.4 Simplification des fonctions logiques
La simplification des fonctions logiques est faite en utilisant la méthode KARNAUGH.
De la table des entrées des bascules on tire les équations simplifiées données en Figure 3.6 en utilisant les
tables de KARNAUGH
Figure 3.6: MOORE: simplification des fonctions logiques du détecteur de la séquence 101
Figure 3.8 donne le chrononogramme du circuit pour un signal d’entrée périodique e = 10101010....
Rem La combinaison associée à chaque état est donnée sous le nom de l’état (Le code binaire pur a été
utilisé). La combinaison 11 n’est pas utilisée.
Table 3.4: MEALY: Tables des états, des sorties, des transitions et des entrées
du détecteur de la séquence 010
Figure 3.10: MEALY: Génération des équations simplifiées du détecteur de la séquence 010
Ces remarques permettent de générer le circuit donné par la figure 3.16 représentant un compteur complet
ascendant de 0 à 7.
Pour réaliser ce compteur on choisit le type de bascule à utiliser comme élément de mémorisation
d’un bit.
Dans notre cas on aura besoin de deux bascules (notées BA et BB ), chacune prenant en charge un bit
de sortie. Par exemple on optera pour la BASCULE J-K.
2. TABLE DES ÉTATS DU COMPTEUR SYNCHRONE ASCENDANT À 2 BITS
Dans cette table, on définit quel sera l’état suivant (futur) du compteur pour chaque état actuel
donné. Ce n’est rien d’autre qu’une traduction par écrit du diagramme d’états (Table 3.5).
On nomme les deux sorties du compteur QA QB où QA est le bit de poids fort et QB le bit de poids
faible.
En considérant φ comme étant 0 ou 1, suivant convenance, alors on tire de ces deux tables les
équations suivantes (KARNAUGH):
JA = QB JB = 1
KA = QB KB = 1
Rem Les bascules A et B se comportent comme des bascules T (Table 2.9) car pour chacune d’elles
on a J = K
Rem Vu le câblage des entrées J-K de chaque bascule (J = K), on aurait pu utiliser les bascules T
directement, ce qui aurait simplifié le circuit.
Exercice 3.1 Etablir le circuit décrit par le graphe de Mealy donné en Figure 3.20, en utilisant des
bascules J-K.
⇒ Pour coder les 4 états en binaire naturel, besoin de deux bits: A → 00,B → 01, C → 10, D → 11 ⇒
le système sera constitué de deux bascules J-K: B1 et B0 .
D’où le circuit:
Exercice 3.2 Analyser le circuit séquentiel de la Figure 3.22 en respectant les étapes suivantes:
1. Équations caractéristiques des bascules
2. L’équation caractéristique de la sortie
3. Table d’états du circuit
4. Le diagramme d’états.
Exercice 3.3 Concevoir un compteur asynchrone ascendant modulo 9 à l’aide de bascules J-K.
Réponse:
Ce compteur sera donc constitué de 4 bascules (B0, B1, B2, B3) dont les signaux de sorties effectuent
la séquence des combinaisons binaires (Q3Q2Q1Q0) suivantes: 0000 → 0001 → 0010 → 0011 →
0100 → 0101 → 0110 → 0111 → 1000 → 0000 · · ·
Le signal CLR = Q0.Q3 qui sera à 1 dès que Q0 = Q3 = 1, permet de forcer à 0 toutes les bascules dès
que l’affichache passe à Q0.Q1.Q2.Q3 = (1001)2 = 910 . ■
Le signal CLR = Q1.Q2 permet de forcer à 0 toutes les bascules dès que l’affichache passe à
Q0.Q1.Q2 = (011)2 = 610 . ■
Exercice 3.5 Concevoir un compteur synchrone ascendant des nombres de 0 à 9 à l’aide de bascules
D.
Réponse: Le compteur doit compter de 0 à 9 ⇒ besoin de 4 bits ⇒ 4 bascules B0 , B1 , B2 , B3 .
Table 3.8: Table des états et Entrées du compteur ascendant de 0 à 9 avec bascules J-K
Les tables de KARNAUGH pour les entrées des bascules donnent les équations et circuit suivants:
J3 = Q2 .Q1 .Q0 K3 = Q0 J2 = Q1 .Q0 K2 = Q1 .Q0 J1 = Q3 .Q0 K1 = Q0 J0 = 1 K0 = 1
Figure 3.26: Compteur ascendant de 0 à 9 (modulo 10) avec des bascules J-K
■
Table 3.9: Table des états et Entrées du compteur descendant de 9 à 0 avec bascules J-K
Les tables de KARNAUGH pour les entrées des bascules donnent les équations et circuit suivants:
J3 = Q2 .Q1 .Q0 K3 = Q0 J2 = Q3 .Q0 K2 = Q1 .Q0 J1 = (Q3 + Q2 ).Q0 K1 = Q0 J0 = 1 K0 = 1
Figure 3.27: Compteur descendant de 0 à 9 (modulo 10) avec des bascules J-K ■
Exercice 3.8 Concevoir Un compteur ascendant des nombres impairs de 0 à 9 à l’aide de bascules
J-K.
Table 3.10: Table des états et Entrées du compteur impair 0 à 9 avec bascules J-K
Les tables de KARNAUGH pour les entrées des bascules donnent les équations et circuit suivants:
J3 = Q2 .Q1 .Q0 K3 = Q0 J2 = Q1 .Q0 K2 = Q1 .Q0 J1 = Q3 .Q0 K1 = Q0 J0 = 1 K0 = 0
Figure 3.28: Compteur ascendant des nombres impairs de 0 à 9 (modulo 10) avec des bascules J-K
■
Exercice 3.9 Concevoir Un compteur ascendant des nombres pairs de 0 à 9 à l’aide de bascules J-K.
Réponse: Le compteur doit compter de 0 à 9 ⇒ besoin de 4 bits ⇒ 4 bascules B0 , B1 , B2 , B3 .
Table 3.11: Table des états et Entrées du compteur pair 0 à 9 avec bascules J-K
Les tables de KARNAUGH pour les entrées des bascules donnent les équations et circuit suivants:
J3 = Q2 .Q1 K3 = 1 J2 = Q1 K2 = Q1 J1 = Q3 K1 = 1 J0 = 0 K0 = 1
Exercice 3.10 Concevoir puis réaliser un compteur qui réalise la séquence suivante:
0→2→1→4→3→7→5→8→6→9→0
Réponse: Le compteur doit compter de 0 à 9 ⇒ besoin de 4 bits ⇒ 4 bascules B0 , B1 , B2 , B3 .
Figure 3.30: Table des états et Entrées du compteur avec bascules J-K
Exercice 3.11 Concevoir puis réaliser un compteur avec une commande X telle que:
1. Si X = 0, le compteur et ascendant: 0 → 1 → 2 → 3 → 0
2. Si X = 1, le compteur et descendant: 0 → 3 → 2 → 1 → 0
Réponse: Compte les nombres entre 0 et 3 ⇒ besoin de 2 bits ⇒ 2 bascules B0 et B1 .
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
X X
0 1 φ φ 1 0 φ 1 1 φ
1 1 φ φ 1 1 φ 1 1 φ
J0 = 1 K0 = 1 = J0
Q1 Q0 00 01 11 10 Q1 Q0 00 01 11 10
X X
0 0 1 φ φ 0 φ φ 1 0
1 1 0 φ φ 1 φ φ 0 1
J1 = XQ0 + XQ0 K1 = XQ0 + XQ0 = J1
Exercice 3.12 Concevoir Un circuit qui détecte toute suite 10 d’une série de données quelconques à
l’aide de bascules J-K.
Réponse:
A tout instant Le circuit doit mémoriser les 2 derniers bits reçus afin de détecter la séquence 10 ⇒
besoin de 2 bascules JK (B1 et B2 ).
Entrée Etats Actuels Sortie Etats Futurs Transitions Table des Entrées
E Q1 Q2 S Q+1 Q+2 Q1 Q2 J1 K1 J2 K2
0 0 0 0 0 0 S0 S0 0 φ 0 φ
0 0 1 0 0 0 S0 T0 0 φ φ 1
0 1 0 0 0 1 T0 T1 φ 1 1 φ
0 1 1 0 0 1 T0 S1 φ 1 φ 0
1 0 0 1 1 0 T1 S0 1 φ 0 φ
1 0 1 1 1 0 T1 T0 1 φ φ 1
1 1 0 0 1 1 S1 T1 φ 0 1 φ
Q1 Q2 00 01 11 10 Q1 Q2 00 01 11 10
E E
0 0 0 φ φ φ 0φ 1 1
1 1 1 φ φ φ 1φ 0 0
J1 = E K1 = E = J1
La première bascule J-K se comporte comme une bascule D (K1 = J1 )
Q1 Q2 00 01 11 10 Q1 Q2 00 01 11 10
E E
0 0 φ φ 1 0 φ 1 0 φ
1 0 φ φ 1 1 φ 1 0 φ
J2 = Q1 K2 = Q1
Exercice 3.13 Concevoir puis réaliser un compteur avec une commande X telle que:
– Si X = 1, le compteur est pair: 0 → 2 → 4 → 6 → 0 (Quel que soit son état présent le compteur
passe au nombre paire suivant)
– Si X = 0, le compteur est impair: 1 → 3 → 5 → 7→ 1 (Quel que soit son état présent le compteur
passe au nombre impaire suivant)
Réponse: Compte les nombres entre 0 et 6 ou de 1 à 7 ⇒ besoin de 3 bits ⇒ 3 bascules B0 , B1 et B2 .
Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
XQ2 XQ2
10 0 0 1 1 10 φ φ φ φ
11 φ φ φ φ 11 0 0 1 1
01 φ φ φ φ 01 0 0 1 0
00 0 0 1 0 00 φ φ φ φ
J2 = Q1 Q0 + XQ1 K2 = J2 = Q1 Q0 + XQ1
Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
XQ2 XQ2
10 1 1 φ φ 10 φ φ 1 1
11 1 1 φ φ 11 φ φ 1 1
01 0 1 φ φ 01 φ φ 1 0
00 0 1 φ φ 00 φ φ 1 0
J1 = X + Q0 K1 = J1 = X + Q0
Q1Q0 00 01 11 10 Q1Q0 00 01 11 10
XQ2 XQ2
10 0 φ φ 0 10 φ 1 1 φ
11 0 φ φ 0 11 φ 1 1 φ
01 1 φ φ 1 01 φ 0 0 φ
00 1 φ φ 1 00 φ 0 0 φ
J0 = X K0 = J0 = X
D’où le circuit:
Exercice 3.14 Donner le circuit du compteur 3 bits, qui suivant une commande C doit donner la
séquence binaire:
– Si C= 0 : 0, 2, 4, 6, 0. . . . (Séquence des nombres pairs)
– Si C= 1 : 1, 3, 5, 7, 1. . . . (Séquence des nombres impairs)
Qui si par exemple, au départ C=0 (respectivement C=1), on laisse le compteur fonctionner un moment
et à l’instant T, au moment où le compteur affiche le nombre pair N (respectivement le nombre impair
M), on met C=1 (respectivement C=0), alors il doit passer au nombre impair N-1 (respectivement pair
M+1).
Réponse:
■
Exercice 3.15 Réaliser un circuit logique acceptant en son entrée E une suite binaire quelconque et
qui met à 1 sa sortie X dès qu’il détecte la séquence 101 en son entrée
Réponse:
Exercice 3.16 Faire la synthèse de l’automate de la Figure 3.38 ci-dessous en utilisant des bascules
JK, selon les étapes suivantes :
H ou Clk Clr Pr J K Q
↓ 1 0 x x 0 Mise à 0 forcée
↓ 0 1 x x 1 Mise à 1 forcée
↓ 0 0 0 0 Q- Mémorisation
↓ 0 0 0 1 0 Mise à 0
↓ 0 0 1 0 1 Mise à 1
↓ 0 0 1 1 Q- Complémentation
La table des excitations (ou des entrées J K) est la suivante:
Q− Q+ Transition J K
0 0 S0 0 φ
0 1 T1 1 φ
1 0 T0 φ 1
1 1 S1 φ 0
2. Synthèse de l’automate:
L’automate possède quatre états A, B, C, D ⇒ Utilisation de deux bascules J-K notées B1 et B0 ,
donnant le codage binaire suivant correspondant aux sorties respectives des bascules B1 B0 pour
chacun des états.
A = 00, B = 01, C = 10, D = 11
Equations simplifiées des entrées: Les tables de KARNAUGH donnent les résultats suivants:
Y = X.Q1 + X.Q0 + Q1 .Q0 J1 = K1 = X ⊕ Q0 J0 = K0 = 1
3. On déduit le circuit suivant:
Exercice 3.17
1. Dresser la table de vérité de la bascule JK donnée en Figure 3.41.
(a) Écrire la table de vérité (transition) des sorties Q0, Q1, Q2 en partant de l’état initial 000.
(b) A quoi correspond ce diagramme ?
Réponse:
1. Table de vérité de la bascule J-K:
H ou Clk Clr Pr J K Q
↓ 1 0 x x 0 Mise à 0 forcée
↓ 0 1 x x 1 Mise à 1 forcée
↓ 0 0 0 0 Q- Mémorisation
↓ 0 0 0 1 0 Mise à 0
↓ 0 0 1 0 1 Mise à 1
↓ 0 0 1 1 Q- Complémentation
2. Compteur asynchrone modulo 5.
On note que la sortie M de la porte NAND est mise à 0 dès que les sorties Q0 et Q2 du circuit se
mettent à 1 (Valeur 5). A cet instant les bascules sont forcées à 0 par le biais de leur Mise à zéro
forcée notée R0 , R1 et R2 (La valeur 5 est immédiatement remplacée par 0).
■