Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION
Il est facile de réaliser des systèmes électroniques ne pouvant prendre que deux états
possibles. Ces états sont exprimés par deux tensions: la référence et la tension d'alimentation.
En général, on prend 0 volt pour matérialiser le "0" logique et 5 volts pour "1" logique ( En
réalité, on considère un niveau bas et un niveau haut de la tension).
Les circuits électroniques fonctionnant de cette manière sont dits LOGIQUES ou
NUMERIQUES par opposition aux circuits dit analogiques.
On distingue deux types de circuits logiques:
Ceux pour lesquels la notion de temps n'intervient pas et que l'on appelle circuits
COMBINATOIRES;
Ceux faisant intervenir la notion du temps et que l'on appelle circuits SEQUENTIELS.
Pour les premiers, l'état des organes commandés est connu en regardant simplement
l'état des organes commandants, (c'est-à-dire qu’à chaque combinaison des entrées correspond
toujours la même combinaison des sorties). Pour les circuits dit séquentiels, en revanche, le
fonctionnement est différent étant donné que pour la même combinaison des entrées plusieurs
combinaisons de sorties sont possibles. La relation entrée/ sortie dépend en plus de la succession
des états précédant (circuits à mémoire). D'autre part les deux circuits combinatoire et
séquentiel sont basés sur une théorie commune s'appuyant sur l'algèbre logique.
La réalisation de ces circuits logiques est basée sur des éléments possédant deux états
caractéristiques (relais fermé ou ouvert, diode ou transistor conducteur ou bloqué,...) de telle
sorte que le système de numération binaire joue, dans leur étude un rôle particulier. C'est
pourquoi, dans ce premier chapitre, nous dirons quelques mots des systèmes de numération que
l'on peut également considérer comme des systèmes de codage ainsi que les règles
d’arithmétiques mise en jeu.
Le chapitre deux, quant à lui, introduit l’algèbre de Boole ainsi que les opérateurs et les
fonctions logiques.
Les diverses représentation des fonctions logiques (formes canoniques et autres) et les
techniques de simplification sont présentés au chapitres 3 basées notamment sur la table de
Karnaugh.
Muni de ces techniques, on présente dans les chapitres 4 et 5 les méthodes de synthèses des
circuits logiques tant logiques d’arithmétiques. (Multiplexeur, décodeur, encodeurs,
comparateur, additionneur,..). On présente de même les circuits logiques usuels disponibles
dans le commerce.
2
La partie II de ce polycopié traite les circuits séquentiels, en commençant par introduire la
notion du temps et du retard caractéristique de cers circuits. On introduit ensuite dans le chapitre
6 les éléments de base de la réalisation de tous circuits séquentiels à savoir : les bascules.
Le chapitre 7 commence par l’étude de l’association des bascules et les structures qui en
découlent dites compteurs asynchrones.
On présente ensuite la méthode de synthèse des compteurs dit synchrones (méthode de Marcus)
et la technique d’étude des montages synchrones.
Les deux derniers chapitres de cette partie traitent en particuliers les structures synchrones de
registres et des mémoires à semi-conducteurs notamment la partie relative au décodage
d’adresse.
3
CHAPITRE I :
I: SYSTEME DE NUMERATION
1. Définitions:
Un système de numération est défini par sa base c’est à dire le nombre de caractères
utilisés pour écrire les nombres.
Exemple 1. 1 :
Un nombre est constitué d’un ensemble de chiffres chacun ayant un poids qui dépend
de sa position, le poids est une puissance de la base.
Le rang d’un chiffre, d’un nombre de base B quelconque, est égale à l’exposant de la
base associé à ce chiffre.
Exemple 1. 2 :
578(10)=5x 102+7 x 101+8 x 100
Remarques 1. 1 :
o 5 est dit MSB (chiffre de poids fort) et 8 LSB (chiffre de poids faible)
o Lorsqu’il y a possibilité de confusion, on note la base en indice du nombre.
o Lorsque la base est supérieure à 10, on utilise les chiffres de 0 à 9 et on complète par les
lettres de l’alphabet dans l’ordre croissant A, B, C,…
Exemple 1. 3 :
Les chiffres de la base 16 sont (Hexadécimal) : 0, 1, 2,3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
4
Système binaire :
Si B = 2, le système de numération est appelé système binaire et on aura :
n
N ai .2i avec ai 0,1
i 0
Exemple 1. 4:
101111(2)= 1 x 20 + 1 x 21 + 1 x 22 + 1 x 23 + 0 x 24 + 1 x 25 = 1 + 2 + 4 + 8 + 32 = 47(2).
Exercice1. 1 :
Convertir en décimal, les nombres suivants :
100110(2) = 1 x 21 + 1 x 22 + 1 x 25 = 2 + 4 + 32 = 38(10).
124(5) = 4 x 50 + 2 x 51+1 x 52 = 4 + 10 + 25 = 39(10).
127(6) = Pas possible car 7 > 6 (tous les chiffres doivent être inférieurs à la base).
Exercice 1. 2 :
Convertir le nombre N=39486(10) en octal (base 8).
i 8i Nombre Procédure
0 1 7 .80= 1 6 – (6x1) =0
1 8 7 .81= 8 62 – (7x8) = 6
2 64 0 .82 =64 62 – (0 x64) = 62
3 512 5 .83= 512 2622 – (5x512)=62
4 4096 1 .84= 4096 6718 – (1x4096) =2622
5 32768 1 .85 = 32768 39486 – (1x32768) =6718
Donc 39486(10).=115076(8).
Remarque 1. 3 :
Il faut calculer au préalable les différentes puissances entières de la base.
Exercice1. 3:
Vérifier que : 47375(10).=1011100100001111(2).
5
b. 2nd Procédé de conversion:
Soit N le nombre à convertir dans le système de numération de base B, on peut écrire :
N = q0 x B + r0
q0 = q1 x B + r1
q1= q2 x B +r2
…
…
qn-2 = qn-1 x B + rn-1
qn-1 =0 .B + rn
D’où :
qn-2 = rn x B + rn-1 ,
qn-3 = (rn x B + rn-1) x B + rn-2
…
…
q0 = rn x Bn-1 +rn-1 x Bn-2 +…+ r1
Ainsi :
N = rn x Bn + rn-1 x Bn-1 + rn-2 x Bn-2 + …+ r1 x B1 + r0 x B0
n
N ri B i avec ri 0,1,..., B 1
i 0
q0, q1,…, qn-1etqn sont les quotients.
r0, r1,… rn-1 et rn sont les restes.
Exemple 1.5:
Convertir N=229(10) en binaire.
Quotient Reste
229/2=114 1
114/2=57 0
57/2=28 1
28/2=14 0
14/2=7 0
7/2=3 1
3/2=1 1
1/2=0 1
Alors N = 1 1 1 0 0 1 0 1
N = 11100101(2)
Exercice 1.4:
Convertir N=189510(10) en hexadécimal. (Réponse : N=2E446(16)).
L’algorithme consiste à :
Diviser le nombre à convertir par la base du nouveau système et à conserver le reste;
Répéter ce processus en considérant à chaque fois le quotient obtenu;
Ecrire ensuite tous les restes à partir du dernier, (de gauche à droite) en les convertissant
en lettre s’il y a lieu.
6
c. Conversion binaire, octal, hexadécimal et vice versa :
4 chiffres binaires (bit pour ‘binary digit’) permettent 24 =16 combinaisons donc d’écrire les
16 entiers de 0 à 15 et leur équivalent hexadécimaux et octaux selon le tableau suivant :
Décimal Binaire Hexa Octal
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 8 10
9 1001 9 11
10 1010 A 12
11 1011 B 13
12 1100 C 14
13 1101 D 15
14 1110 E 16
15 1111 F 17
Ce code binaire est nommé code binaire naturel et dans notre cas spécifique code 8421.
(Chacun de ces chiffres représente le poids du bit correspondant).
7
f. Conversion base 2 en base 16 :
Regrouper les bits par groupe de 4 en allant vers la gauche (MSB).
Base 8 3 2 5
Base 2 011 010 101
8
II OPERATION ARITHMETIQUE EN BINAIRE :
1. L’addition :
Soit a et b deux variables binaires, S la somme de a et b et R la retenue de l’opération.
a b R S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
1 0 0 1 1 1 0 1
1 0 0 1 0 1 0 1
+ 1 0 0 1 1 1 0 1
= 1 0 0 1 1 0 0 1 0
2. La soustraction :
Soit a et b 2 variables binaires, D la différence entre a et b et R la retenue.
a b R D
0 0 0 0
0 1 1 1
1 0 0 1
1 1 0 0
0 1 0 0 0 0 1 1
1 0 1 1 1 1 0 0
- 0 1 0 1 1 0 0 1
= 0 1 1 0 0 0 1 1
9
3. Multiplication :
Soit a et b 2 variables binaires, P le produit de a et b.
a b P
0 0 0
0 1 0
1 0 0
1 1 1
1 1 0 1 0
x 1 0 1
1 1 0 1 0
+
0 0 0 0 0
+ 1 1 0 1 0
= 1 0 0 0 0 0 1 0
Remarque 1. 4 :
La multiplication d’un nombre binaire par 2 correspond à un décalage vers la gauche et
l’introduction d’un zéro au bit LSB.
Dans les calculateurs numériques les nombres positif et négatif sont mis en mémoire en 2 parties
pour la représentation dite signe plus valeur absolue:
L’une est constitué par la valeur absolue du nombre en binaire ;
L’autre placé devant, est constitué par un seul bit qui caractérise le signe.
Par convention le bit de signe est pris égal à 0 si le nombre est positif et 1 si le nombre est
négatif.
10
Exemple 1. 13:
Remarque 1. 5 :
Une autre représentation des nombres négatifs et la représentation appelée complément à 2.
b. Représentation en complément à 2 :
Le complément à 2 d’un nombre binaire est son complément à 1 augmenté de 1.
Le complément à 1 d’un nombre binaire est obtenu en remplaçant les «0» par des «1» et les «1»
par des «0».
Remarque 1. 6 :
Il faut préciser le format de la représentation avant d’utiliser le complément à 2.
Exemple 1. 14:
On utilise un format 8 bits, déterminer le complément à 2 du nombre 100010(2).
Format 8 bits
Le nombre 0 0 1 0 0 0 1 0
Complément à 1 1 1 0 1 1 1 0 1
+ 1
Complément à 2 1 1 0 1 1 1 1 0
Remarques 1. 7:
Pour les nombres de format 8 bits le complément à 2 de N est égal à: 28-N.
Pour les nombres de format M bits le complément à 2 de N est égal à : 2M-N.
L’étendu des nombres positifs pour un format de 8 bits est de :
00000000(2) = 0 à 01111111(2) = 12710) = 7F(16)
L’étendu des nombres négatifs est de :
10000000(2) = -128(10) = 80(16) à 11111111(2) = -1(10) = FF(16)
11
Pour l’addition des nombres signés, 4 cas peuvent se présenter :
a) 2 nombres positifs :
27 00011011
+ 61 00111101
= 88 = 01011000
On calcul : 00011011
+ 11000011
Résultat: =11011110
Remarque :
61 00111101
+ 88 + 01011000
=149 = 10010101
12
Dans ce cas, on a un changement de signe du résultat, le microprocesseur détectera un
changement de signe et avertira l’opérateur qu’il y a dépassement de capacité (149 > 127).
13
III CODES
On appelle codage, l’opération qui consiste à faire correspondre à tout caractère (lettre,
chiffre,…etc.) un symbole ou un ensemble de symboles particulier appelé mot de code,
l’ensemble de ces mots constitue le code.
A. Les codes pondérés :
Ce sont les codes qui sont caractérisés par une précision c’est à dire ils donnent à chaque
combinaison une équivalence décimale et dans lesquelles chaque rang d’éléments binaires a
un poids précis.
Un nombre entier N nécessite n bits pour ^être codé en binaire naturel tel que N <n
b. Le code DCB ou BCD :
Le code BCD contient des mots codes qui sont la traduction en binaire de chacun des
chiffres du système décimal. Ce code est le plus utilisé pour le codage des chiffres de la
numération décimale.
Exemple :
1359(10)
14
Décimal DCB
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Décimal DCB
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 1 0 1 1
6 1 1 0 0
7 1 1 0 1
8 1 1 1 0
9 1 1 1 1
Décimal Exsess 3
0 0 0 1 1
1 0 1 0 0
2 0 1 0 1
3 0 1 1 0
4 0 1 1 1
5 1 0 0 0
6 1 0 0 1
7 1 0 1 0
8 1 0 1 1
9 1 1 0 0
15
On utilise ce code pour effectuer les soustractions et pour optimiser les problèmes de
retenues dans les opérations.
Définition :
Deux combinaisons binaires adjacentes sont simplement deux combinaisons qui diffèrent d’un
seul chiffre de même rang.
2.1 : Valeur numérique d’un nombre binaire écrit dans le code binaire réfléchi :
La valeur décimale d’un nombre binaire réfléchi s’obtient en donnant aux chiffres successifs
pris de la droite vers la gauche, les poids 1, 3, 7, 15,…, 2n+1-1, et en affectant les produits non
nuls de signe alterné.
16
2.2 : Conversion du binaire naturel en binaire réfléchi :
Pour trouver l’expression d’un nombre binaire dans le code réfléchi, on l’additionne
sans effectuer la retenue, avec le nombre obtenu en le décalant vers la gauche d’un rang et
on ignore le chiffre de plus faible poids.
c. Code 2 parmi 5
C’est un code qui sert à détecter les erreurs lors des transmissions de données. Chaque
chiffre est codé par 5 éléments binaires dont 2 sont à 1.
Pour contrôler les erreurs il suffit de vérifier que pour chaque combinaison il n’y a que 2
éléments binaires à l’état 1.
d. Le code à contrôle de parité
e. Code de Hamming
Ce code permet la localisation et la correction automatique des chiffres faux, par
l’adjonction des éléments supplémentaires de contrôle aux éléments propres du message.
17
Logique combinatoire et séquentielle
C. Codes alphanumérique :
a. Code ASCII (American Standard Code for Information Interchange) :
Ce code est une norme presque universelle dans les transmissions elle comporte 7 ou 8 bits,
Le 8ème bit dit bit de parité sert à détecter les erreurs de transmission.
champ de zone 0 1 2 3 4 5 6 7
0 NUL DLE SP 0 @ P ' p
1 SOH DC1 ! 1 A Q a q
2 STX DC2 " 2 B R b r
3 ETX DC3 # 3 C S c s
4 EOT DC4 $ 4 D T d t
5 ENQ NAK % 5 E U e u
6 ACK SYN & 6 F V f v
7 BEL ETB ' 7 G W g w
8 BS CAN ( 8 H X h x
9 HT EM ) 9 I Y i y
A LF SUB * : J Z j z
B VT ESC + ; K [ k {
C FF FS , < L \ l |
D CR GF - M ] m }
E SO RS . > N ^ n ~
F SI US / ? O -- o DEL
A. FAKKAR 18
Logique combinatoire et séquentielle
CHAPITRE II :
1. INTRODUCTION :
L’algèbre de Boole est un ensemble de variables à 2 états (binaire) de valeur de vérité 1 (vrai)
et 0 (faux), muni d’un nombre limité d’opérateur NON, ET, OU.
Une variable booléenne (VB) X est égale à 0 ou 1.
U?
X X
1 2
0 1
1 0 7404
2.2. Opération à 2 VB :
2.2.1. OPERATEUR ET :
- Soit deux VB X et Y, X ET Y : noté X . Y et se lit X et Y
- Le circuit intégré d’implantation du ET est le 74LS08 et comporte 4 ET à 2 entrées.
X Y X.Y U?
1
3
0 0 0 2
0 1 0 7408
1 0 0
1 1 1
2. 2. 4 OPERATEUR OU :
- Soit 2 VB X, Y, X OU Y note X+Y et dit X ou Y
- Le circuit intégré d’implantation du OU est le 74LS32 et comporte 4 portes OU à 2
entrées.
A. FAKKAR 19
Logique combinatoire et séquentielle
X Y X+Y
U?
1
0 0 0 3
2
0 1 1
7432
1 0 1
1 1 1
associativité (a + b) + c = a + (b + c) (a . b) . c = a . (b . c)
distributivité a . (b + c) = a . b + a . c a + (b . c) = (a + b) . (a + c)
_ _
complémentation
a + a = 1 a.a = 0
Exercice :
Vérifier les 2 relations de distributivité par la table de vérité.
A. FAKKAR 20
Logique combinatoire et séquentielle
U? A 1
A 1 3
3 A(B+C) B 2
2
7408 U?
7408 AB 1
3 AB+AC
AC 2
U? 1 7432
B 1 3
3 C 2
C 2
B+C 7408
7432
Circuit 1 Circuit 2
Il est important de noter que le 2ème circuit utilise 3 portes au lieu de 2 pour le 1er, Il n’est donc
pas indifférent de réaliser les circuits d’une façon ou d’une autre. Pour minimiser les coûts, il
peut être utile de minimiser les nombres de portes.
Remarque :
Les circuits intégrés TTL présentent la caractéristique suivante :
Laisser une entrée d’une porte en l’air (ouverte) c’est à dire non relié, ni à la tension ni à la
masse revient à avoir un «1» à cette entrée (entrée flottante).
A 1
B 2 4 A OU B OU 1=1
3
OR3
1 Entrée flottante
Exemple:
Y ( A B )( A B) C ( A B)
Y AA AB B A B B C ( A B)
Y A AB C ( A B)
A C ( A B)
A. FAKKAR 21
Logique combinatoire et séquentielle
A B C
1
3
1 2 2
1
3
2
1
3
2 1
3 Y
2
1
1 2 1 3 (8 portes)
3 2
2
1 1
3 1 3 Y
1 2 2 3 2
2
(4 portes)
0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Fonction 0 X Y ET Y X OU 1
Toutes ces fonctions peuvent être exprimés au moyen des opérateurs ET, OU, NON.
7402
3
F7= X+Y=XY 2 Le circuit intégré d’implantation 74LS00.
7400
Fonction NON ET NAND.
A. FAKKAR 22
Logique combinatoire et séquentielle
Remarque:
Ces 2 fonctions sont utilisées pour générer toutes les fonctions booléennes possibles. On dit
aussi que ce sont des éléments de connexions universelles.
Exercice:
Réaliser les fonctions NON, ET, OU à 2 entrées avec NAND et NOR.
2
3 NON
7400
1 1
2
3
2
3 ET
7400 7400
1
3
2
7400 1
3
2 OU
1 7400
3
2
7400
3
1
NON
7402
2 2
3
1
3
1
OU
7402 7402
2
1
3
7402 2
1
3
ET
2 7402
1
3
7402
1
3
· F6 =XY+XY = X Y Ou exclusif 2
7486
A. FAKKAR 23
Logique combinatoire et séquentielle
1
3
· F9=XY+XY=X Y 2 Fonction égalité ou coïncidence.
74266
xy xy x ( x y )( x y ) x
x xy x x( x y ) x
x xy x y x( x y ) xy
xy x z yz xy x z ( x y )( x z )( y z ) ( x y )( x z )
xy xyz xy xz ( x y )( x y z ) ( x y )( x z )
7 : THEOREME DE DEMORGAN :
Théorème 1 : La négation d’un produit de variables est égale à la somme des négations de
variable.
abc a b c
Théorème 2 : La négation d’une somme de variables est égale au produit des négations de
variable.
a b c ab c
Remarque:
Ces 2 théorèmes sont très utiles pour les circuits logiques, ils permettent entre autre de
transformer un produit de somme en une somme de produit et vice versa.
8. DUALITE DE L’ALGEBRE DE BOOLE :
Si on démontre une relation, on peut écrire immédiatement sa duale en remplaçant les
opérateurs :
(.) (+)
(+) (.)
(1) (0)
(0) (1)
A. FAKKAR 24
Logique combinatoire et séquentielle
Exemple :
Simplifier la fonction booléenne Z suivante :
Z (a b)(b c)(a c)
Z (ab ac bb bc)(a c)
Z ab ac bc)(a c)
Z aa b aa c a bc ab c acc bcc
Z a bc ab c ac bc
Z bc(1 a ) ac(1 b )
Z ac bc
Z ( a b )c
A. FAKKAR 25
Logique combinatoire et séquentielle
CHAPITRE III :
a) Représentation algébrique :
La représentation algébrique d’une fonction logique est une combinaison de variable
boolienne reliée pat des opérateurs logiques.
Exemple :
S x. y.c x. y.c x. y.c x. y.c
C x. y.c x. y.c x. y.c x. y.c x. y x.c y.c
b) Table de vérité:
On peut représenter les fonctions logiques sous forme de table de vérité, les entrées
étant dans l’ordre binaire naturel, S et C sont des fonctions à 3 variables donc 23
(8)combinaisons sont possibles.
x y c S C
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
A. FAKKAR 26
Logique combinatoire et séquentielle
c) Tableau de Karnaugh :
La table de vérité présente un inconvénient, le nombre de lignes croit de façon
exponentielle avec le nombre de variables. Le nombre de lignes est 2n. On contourne
cette difficulté en plaçant les variables d’entrées aux entrées d’une table aussi carrée que
possible. On a donc, une table de Karnaugh à double entrée, l’une pour les lignes et
l’autre pour les colonnes.
Soit une fonction à n variables, la table sera aussi carrée que possible pour p et q entiers
tel que : p + q = n, avec p = q = n/2 pour n pair et p – q = 1 pour n impair. La table
comportera alors 2p colonnes et 2q lignes. On numérote ensuite les colonnes et les lignes
selon le code binaire réfléchi.
Considérons les fonctions de 3 variables S et C définies précédemment, choisissons p =
2 et q = 1, on aura alors 4 colonnes et 2 lignes, la table se présentera de la manière
suivante :
Fonction S Fonction C
x\y c 00 01 11 10 x\y c 00 01 11 10
0 0 1 0 1 0 0 0 1 0
1 1 0 1 0 1 0 1 1 1
Pour obtenir la fonction de chaque case, il suffit d’effectuer pour chaque case le produit
des variables en complémentant chaque variable de valeur 0.
Exemple :
Représenter sous forme de table de Karnaugh l’expression :
dc\ba 00 01 11 10
00 1 0 0 0
01 1 0 1 0
11 0 0 1 1
10 1 0 0 1
d) Logigramme :
On suppose qu’une série de lignes nous fournit les variables d’entrées.
A. FAKKAR 27
Logique combinatoire et séquentielle
Exemple :
Représenter graphiquement la fonction C = x.c + x.y + y.c
C Y X
1
3
2
1 1
3 2 4
2 3
C
1
3
2
3. FORMES CANONIQUES :
Toute fonction booléenne d'une seule variable x peut être écrite sous la forme :
En généralisant, on obtient :
f(x1 , x 2 ,..., x n ) f(1,1,...,1) (x1 x 2 ... x n ) f(0,1..., 1) (x1 x2 ...xn ),..., f (0,0,...,0)(x1 x2 ...xn )
Cette forme est appelée forme canonique disjonctive de la fonction.
Par dualité, on a la forme canonique conjonctive.
Les formes canoniques permettent de localiser chaque ligne d'une table de vérité ou chaque
case d'une table de Karnaugh comportant un "1" pour la première ou un "0" pour la 2nd.
On peut distinguer quatre formes canoniques :
a. Forme canonique disjonctive ou somme de produits :
Considérer la table de vérité ou de Karnaugh. A chaque "1" de la variable de sortie, faire
correspondre un produit de n variables d'entrées sous la forme normale lorsque la variable est à
"1", sous forme complémenté si la variable d'entrée est à "0". S'il y a p "1", Faire la somme
A. FAKKAR 28
Logique combinatoire et séquentielle
logique (OU) de ces p produits. Chaque produit doit contenir toutes les variables. L'expression
obtenue est généralement simplifiable.
Exemple : D’après la table de vérité de S, on a :
A chaque «0» de la variable de sortie faire correspondre une somme des n variables d’entrée
sous forme normale, Si la variable d’entrée est «0» sous forme complément si la variable est
à «1», faire le produit logique des q sommes (q nombre de «0»).
Exemple :
S ( x y c)( x y c)( x y c )( x y c )
Remarque :
Si on cherche le complément de la fonction par la pière forme canonique, on retrouve la 2nd
forme canonique en complémentant le résultat.
A. FAKKAR 29
Logique combinatoire et séquentielle
A\BC 00 01 11 10
0
1 1 1
AB C ABC AC
On regroupe les «1» de toutes les cases adjacentes et on lit les coordonnés de chaque
groupement.
2.2.2. Exemple :
A\BC 00 01 11 10 A\BC 00 01 11 10
0 0 0 1 1 I 1 0 0 1 1 0
1 0 0 1 1 1 0 1 1 0
I) F = B 1) F = C
A. FAKKAR 30
Logique combinatoire et séquentielle
A\BC 00 01 11 10 A\BC 00 01 11 10
0 1 0 0 1 II 2 0 0 0 0 0
1 1 0 0 1 1 1 1 1 1
II ) F C 2) F A
A\BC 00 01 11 10 A\BC 00 01 11 10
0 0 1 0 0 III 3 0 1 0 0 1
1 0 1 0 0 1 0 0 0 0
III ) F B .C 3) F A.C
A\BC 00 01 11 10 A\BC 00 01 11 10
0 0 0 1 1 IV 4 0 0 0 1 1
1 0 1 1 1 1 1 1 1 1
IV) F = B + A.C 5) F = A + B
A\BC 00 01 11 10 A\BC 00 01 11 10
0 0 0 0 1 1 3 0 2 V 5 0 1 0 0 0
1 0 4 1 5 1 7 1 6 1 0 0 1 1
2.2.3. Remarque :
La fonction (V) peut s’écrire sous la forme : F = {3, 5, 6, 7}.
b. Fonction à 4 variables a, b, c et d :
dc\ba 00 01 11 10
00 0 1 3 2
01 4 5 7 6
11 12 13 15 14
10 8 9 11 10
A. FAKKAR 31
Logique combinatoire et séquentielle
dc\ba 00 01 11 10
1 1 0 1
01
00 0 1 1 1
11 0 1 1 1
10 0 1 1 1
F d .c .b b.a c.a d .a
dc\ba 00 01 11 10
00 1 1 0 1
01 0 1 1 1
11 0 1 1 1
10 0 1 1 1
F d .c .a b .a c.b d .b
Remarque :
Le groupement des "1" sous les formes représentées sur les 2 tables conduisent à des formes
également optimales. Ainsi la forme simplifiée peut conduire à des expressions différentes.
c. Fonction à 5 variables :
Remarque:
Pour cette table il y a intérêt à faire apparaître les cases par rapport auxquelles les groupements
de "1" constitués doivent être symétriques. La table ci-dessous montre les différents axes de
symétries.
Exemple :
F = R {0, 2, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 18, 20, 21, 22, 23, 26, 27, 29, 30}
A. FAKKAR 32
Logique combinatoire et séquentielle
00 1 0 0 1 1 0 1 0
01 1 1 1 1 1 0 1 1
11 0 0 1 1 1 0 1 0
10 1 0 0 1 1 1 1 1
AB\CD 00 01 11 10
00 1 1 0 0
01 1 * * *
11 0 1 1 0
10 0 * 0 0
F A.C A.D
A. FAKKAR 33
Logique combinatoire et séquentielle
CHAPITRE IV
CIRCUITS NUMERIQUES LOGIQUES (MSI)
Dans les systèmes numériques, on a souvent recourt à des dispositifs qui traitent les
données et les informations codées sous forme binaire. Ainsi, il existe des circuits pour le
codage, le décodage, le multiplexage, le démultiplexage, l'acheminement par bus,…
Dans ce chapitre, on se propose d'étudier plusieurs types de dispositifs qui se présentent
le plus souvent sous forme de circuits intégrés et qui font partie de la classe MSI (intégration à
moyenne échelle).
I. MULTIPLEXEUR :
Un multiplexeur ou sélecteur de données est un circuit logique ayant plusieurs entrées
de données, mais seulement une seule sortie.
C’est un circuit combinatoire à 2n entrées d'information, n entrées d'adresses et une
sortie. En sélectionnant une entrée par son adresse codée avec n chiffres binaires, on transmet
son signal vers la sortie. En outre, on dispose d’une entrée de validation qui autorise ou non le
multiplexeur à délivrer sur sa sortie S l'état de l'entrée adressée. C'est à dire que quand l'adresse
prend la valeur i, la sortie prend l'état de l'entrée d'indice i.
Un multiplexeur aiguille, donc, une information choisie dans un groupe de N entrées et
la dirige vers la sortie.
G : commande ou validation
1
2
Entrées de 3
S
données
1 2 3 n
Entrées d'adresse
A1 A2 S
0 0 E1
0 1 E2
1 0 E3
1 1 E4
Donc :
S E1 A1 A2 E2 A1 A2 E3 A1 A2 E4 A1 A2
or S S E1 A1 A2 .E2 A1 A2 .E3 A1 A2 .E4 A1 A2
D'où le logigramme :
A1 A2
V
1 U?A
2
6
4
5
E1 7420
U?A
1 2 1 U?A
2
6
7404 4
5
E2 7420 1 U?A
2
U?A 6
4
1 2 5
1 U?A 7420
2
7404 6
4
5
E3 7420
1 U?A
2
6
4
5
E4 7420
On général, les multiplexeurs sont munis d'une entrée supplémentaire appelée validation
ou commande. Dans le schéma précèdent, si on attaque toutes les portes de sorties par un signal
commun V, on réalise une entrée de validation qui agit de la manière suivante :
• Quand l'entrée de validation V = 1, une adresse donnée permet d'aiguiller l'entrée
correspondante vers la sortie.
• Quand l'entrée de validation V = 0, le multiplexeur est invalidé, de sorte que la sortie
garde toujours le même état (1 pour le schéma précèdent) quel que soit l'adresse appliquée aux
entrées de sélection.
A. FAKKAR 35
Logique combinatoire et séquentielle
Les multiplexeurs les plus usuels existent souvent sous forme de circuits intégrés. On
trouve par exemple des multiplexeurs à 8 et à 16 entrées tel que décrit par la suite :
U?
8 10
7 E0 W
6 E1
U? 5 E2
11 4 E3
10 A E4
B 3
9 2 E5
4 C E6
D0 1
3 23 E7
2 D1 5 E8
D2 Y 22
1 6 21 E9
15 D3 WN E10
D4 20
14 19 E11
13 D5 E12
D6 18
12 17 E13
7 D7 E14
STRN 16
E15
74151 15
14 A
13 B
11 C
9 D
G
Multiplexeur à 8 entrées
74150
Multiplexeur à 16 entrées
CBA SRTN E0 E1 E2 E3 E4 E5 E6 E7 S
* * * 1 * * * * * * * * 0
0 0 0 0 E0 * * * * * * * E0
0 0 1 0 * E1 * * * * * * E1
0 1 0 0 * * E2 * * * * * E2
0 1 1 0 * * * E3 * * * * E3
1 0 0 0 * * * * E4 * * * E4
1 0 1 0 * * * * * E5 * * E5
1 1 0 0 * * * * * * E6 * E6
1 1 1 0 * * * * * * * E7 E7
A. FAKKAR 36
Logique combinatoire et séquentielle
1
mot 1
x 1
1
mot 2 Sortie
x x s
mot N
1 n
n Addresses
U?
14
2 A
6 B
5 C10
4 C11
3 C12 7
10 C13 Y1 9
11 C20 Y2
12 C21
13 C22
1 C23
15 G1N
G2N
74153
Ce circuit dispose de : 4 groupes d'entrés (C10, C20), (C11, C21), (C12, C22) et (C13, C23),
2 entrées d'adresses (A et B) qui permettent de sélectionner une paire
d'entrée,
2 sorties (Y1 et Y2) qui récupèrent les données sélectionnées,
2 entrées de validation (G1N et G2N) qui permettent d'inhiber le circuit
lorsqu'elles sont à l'état bas (à cause du petit rond sur le schéma).
A. FAKKAR 37
Logique combinatoire et séquentielle
III. DEMULTIPLEXEURS :
Un démultiplexeur, dit aussi distributeur de données, effectue l'opération inverse d'un
multiplexeur. Ainsi, il n'a qu'une entrée qu'il dirige vers l'une de ses N sorties. L'adresse de n
bits spécifiant sur laquelle des sorties l'entrée de donnée est transmise (avec N <= 2n).
Autrement dit, le démultiplexeur reçoit les données d'une entrée et choisit de les diriger
vers l'une des N voies possibles de sorties. Il fonctionne comme un commutateur.
Exemple :
Réalisation d'un multiplexeur de 4 sorties :
N = 4 = 22 sorties (S1, S2, S3, S4): Donc n = 2 addresses (A1, A2).
Le but est de réaliser la fonction suivante :
A1 A2 S1 S2 S3 S4
0 0 E 0 0 0
0 1 0 E 0 0
1 0 0 0 E 0
1 1 0 0 0 E
S1 E. A1 . A2
S 2 E. A1 . A2
S 3 E. A1 . A2
S 4 E. A1 . A2
E
D'où le logigramme :
A1 A2 U?A
1
2 12
13
S1
U?A 7410
1 2 U?A
1
2 12 S2
7404 13
7410
U?A
1
2 12 S3
U?A 13
1 2 7410
7404 U?A
1
2 12
13
S4
7410
A. FAKKAR 38
Logique combinatoire et séquentielle
IV. DECODEURS :
Validation
1 1
Entrées Sorties
n N
V
E1 S1
E2 S2
S3
S4
On choisit par exemple un «0» pour désigner une voie validée (décodée), la table de
fonctionnement sera comme suit :
A. FAKKAR 39
Logique combinatoire et séquentielle
E1 E2 S1 S2 S3 S4
0 0 0 1 1 1
0 1 1 0 1 1
1 0 1 1 0 1
1 1 1 1 1 0
S1 E1 .E2 S1 E1 .E2
S 2 E1 .E2 S 2 E1 .E2
S 3 E1 .E2 S 3 E1 .E2
S 4 E1 .E2 S 4 E1 .E2
1 2
1
3 S1
2
1 2
1 2 1
3 S2
2
1
3 S3
1 2 2
1
3 S4
2
V
Si une entrée validation est désirée, il suffit d’amener un niveau V sur chaque porte de
sortie. Ainsi, si V = 0 alors toutes les sorties sont à 1. Le fonctionnement en décodeur est
inhibé. Si V = 1, alors le décodeur fonctionne normalement. La sortie sélectionnée est celle qui
est à l'inverse de toutes les autres.
2. Décodeurs de bases en circuits intégrés :
Les 2 modules de base sont les décodeurs 3 et 4 bits présentant respectivement 8 et 16 sorties.
Le CI 74LS138 est un décodeur de type 1 parmi 8.
Le CI 74LS154 est un décodeur de type 1 parmi 16. (Pour plus de détail voir TD).
3. Transcodeur ou convertisseur de code :
Application :
A. FAKKAR 40
Logique combinatoire et séquentielle
Conversion de code.
Affichage à l'aide des afficheurs 7 segments ou par matrice de points.
Pour passer d’un code à un autre, on écrit la table de vérité et on déduit les équations
logiques à l’aide des méthodes habituelles.
Exemple 1 :
Conversion du code Gray au code binaire naturel (16 premières combinaisons).
Gray Binaire
D C B A d c b a
0 0 0 0 0 0 0 0
0 0 0 1 0 0 0 1
0 0 1 1 0 0 1 0
0 0 1 0 0 0 1 1
0 1 1 0 0 1 0 0
0 1 1 1 0 1 0 1
0 1 0 1 0 1 1 0
0 1 0 0 0 1 1 1
1 1 0 0 1 0 0 0
1 1 0 1 1 0 0 1
1 1 1 1 1 0 1 0
1 1 1 0 1 0 1 1
1 0 1 0 1 1 0 0
1 0 1 1 1 1 0 1
1 0 0 1 1 1 1 0
1 0 0 0 1 1 1 1
d
DC\BA 00 01 11 10
00 0 0 0 0
01 0 0 0 0
11 1 1 1 1
10 1 1 1 1
A. FAKKAR 41
Logique combinatoire et séquentielle
c
DC\BA 00 01 11 10
00 0 0 0 0
01 1 1 1 1
11 0 0 0 0
10 1 1 1 1
b
DC\BA 00 01 11 10
00 0 0 1 1
01 1 1 0 0
11 0 0 1 1
10 1 1 0 0
a
DC\BA 00 01 11 10
00 0 1 0 1
01 1 0 1 0
11 0 1 0 1
10 1 0 1 0
dD
c DC
b DC B
a DC B A
A B C D
U?A
1
3
2 a
7486
U?A
1
3
2 b
7486
U?A
1
3
2 c
7486
d
A. FAKKAR 42
Logique combinatoire et séquentielle
Exemple 2 :
Réalisation d'un décodeur DCB / 7 Segments :
Un afficheur 7 segments se présente de la façon suivante :
a
f b
g
e c
Un décodeur DCB fait correspondre au code DCB une information en sortie composée de 7
voies qui contrôle chacune un segment, si cette voie est à 0, il allume le segment correspondant
(cas de la cathode commune). Si elle est à 1 le segment restera éteint.
L'affichage des 10 chiffres DCB se fait tel que indiqué ci-dessous :
Table de vérité :
ABCD a b c d e f g
0 0000 0 0 0 0 0 0 1
1 0001 1 0 0 1 1 1 1
2 0010 0 0 1 0 0 1 0
3 0011 0 0 0 0 1 1 0
4 0100 1 0 0 1 1 0 0
5 0101 0 1 0 0 1 0 0
6 0110 1 1 0 0 0 0 0
7 0111 0 0 0 1 1 1 1
8 1000 0 0 0 0 0 0 0
9 1001 0 0 0 1 1 0 0
a b
AB\CD 00 01 11 10 00 01 11 10
00 0 1 0 0 0 0 0 0
01 1 0 0 1 0 1 0 1
11 * * * * * * * *
10 0 0 * * 0 0 * *
A. FAKKAR 43
Logique combinatoire et séquentielle
c d
00 0 0 0 1 0 1 0 0
01 0 0 0 0 1 0 1 0
11 * * * * * * * *
10 0 0 * * 0 1 * *
e f
00 0 1 1 0 0 1 1 1
01 1 1 1 0 0 0 1 0
11 * * * * * * * *
10 0 1 * * 0 0 * *
g
00 1 1 0 0
01 0 0 1 0
11 * * * *
10 0 0 * *
a A.B .C .D B.D
b B.C .D B.C.D
c B .C.D
d B.C .D B .C .D B.C.D
e B.C D
f A.B .D B .C C.D
g A.B .C B.C.D
A. FAKKAR 44
Logique combinatoire et séquentielle
CHAPITRE V
CIRCUITS NUMERIQUES ARITHMETIQUES
F fonction égalité. F A B
Exemple de réalisation d'un comparateur de 2 mots de 4 bits.
1
A0 3 F1
2
B0
74266
A1 1
3 F2
B1 2
74266
A2 1
F3
3
B2 2
74266
A3 1
3
B3 2 F4
74266
A. FAKKAR 45
Logique combinatoire et séquentielle
A B
a1 a0 b1 b0 A>B A=B A<B
0 0 0 0 0 1 0
0 0 0 1 0 0 1
0 0 1 0 0 0 1
0 0 1 1 0 0 1
0 1 0 0 1 0 0
0 1 0 1 0 1 0
0 1 1 0 0 0 1
0 1 1 1 0 0 1
1 0 0 0 1 0 0
1 0 0 1 1 0 0
1 0 1 0 0 1 0
1 0 1 1 0 0 1
1 1 0 0 1 0 0
1 1 0 1 1 0 0
1 1 1 0 1 0 0
1 1 1 1 0 1 0
A>B
a1a0\b1b0 00 01 11 10
00 0 0 0 0
01 1 0 0 0
11 1 1 0 1
10 1 1 0 0
S A B a1 b1 a0 b 0
A<B
A. FAKKAR 46
Logique combinatoire et séquentielle
a1a0\b1b0 00 01 11 10
00 0 1 1 1
01 0 0 1 1
11 0 0 0 0
10 0 0 1 0
Les comparateurs ont, en général 3 entrées supplémentaires qui leur permettent de tenir compte
d'une comparaison effectuée sur des bits de rang inférieur et donc de traiter des mots de
longueur quelconque. EA>B, EA=B et EA<B.
La table de vérité est la suivante :
U?
10
12 A0
13 A1
15 A2
9 A3
11 B0
14 B1
1 B2
2 B3 7
3 A<Bi A<Bo 6
4 A=Bi A=Bo 5
A>Bi A>Bo
7485
A. FAKKAR 47
Logique combinatoire et séquentielle
A. FAKKAR 48
Logique combinatoire et séquentielle
Â: complément à 1 de A.
ˆ
Aˆ : complément à 2
On a : A+Â=11111111=28-1
ˆ
Et : A+ Aˆ = A + Â + 1 = 28
ˆ
Car : Aˆ = Â+1
Demi-additionneur :
Soit 2 bits a et b, a + b est différent du OU logique, la table de vérité est telle que :
A S
A B S R 1/2 additioneur
B R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
A 1
3 S
S=ab+ab=a+b 2
R=ab
B 1
3 R
2
A. FAKKAR 49
Logique combinatoire et séquentielle
Le demi - additionneur permet une addition de 2 bits. Pour additionner 2 nombres binaires,
il faut tenir compte du report (retenue) de l’étage précédent.
Additionneur binaire :
ai Si
bi Additionneur i
Ri-1 Ri
Ri-1 ai bi Si Ri Ri-1\aibi 00 01 11 10
0 0 0 0 0 Si 0 0 1 0 1
0 0 1 1 0 1 1 0 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1 Ri-1\aibi 00 01 11 10
1 1 0 0 1 Ri 0 0 0 1 0
1 1 1 1 1 1 0 1 1 1
Si = Ri-1 + ai + bi
Ri = Ri-1bi+Ri-1ai+aibi
ai bi Ri-1
1
3 1
2 2 12 Ri
13
1
3 1
2 2 12
13
1 1 1
3 2 12 2
2 13 6 Si
4
5
1
2 12
13
1
2 12
13
b3 a3 b2 a2 b1 a1 b0 a0
R3
R2 R1 R0 R-1
4t 3t 2t t =0
S3 S2 S1 S0
Soustracteur binaire :
Le soustracteur binaire se présente de la façon suivante :
ai Di
bi Additionneur i
Ri-1 Ri
Il effectue l'opération Di = ai - (bi - Ri-1) et élabore la retenue. Sa table de vérité est la suivante:
ai bi Ri-1 Di Ri
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
Di ai bi Ri 1
Ri ai Ri 1 bi Ri 1 ai bi
On réalité, on ne réalise pas un tel soustracteur, on utilise plutôt un additionneur avec des
nombres signés (les nombres négatifs sont sous forme de complément à 2).
Donc, pour effectuer l'opération A - B (A et B sont 2 mots binaires de n bits), on exécute :
A + (- B) = A + complément à 2 (B) = A + 2n - B = 2n + (A - B).
Exemple : 2 mots de 4 bits A = a3 a2 a1 a0 et B = b3 b2 b1 b0
B b3 .b2 .b1 .b0 1 et B B 24 B 24 - B
R4 R0
a3 a2 a1 a0
+ b3 b2 b1 b0
= S4 S3 S2 S1 S0
Méthode :
• Si on applique les ai et bi respectivement sur les entrées Ai et Bi et 1 sur l'entrée de retenue
R0, on effectue l'opération : A + cpl à 2 (b) = 2n + (A - B).
• Si on utilise 4 portes OU exclusif comme inverseurs commandés par un signal logique C (C
= 1 : soustraction, C = 0 : addition).
On aura un additionneur / soustracteur.
Y 1
3 S
C 2
A. FAKKAR 52
Logique combinatoire et séquentielle
Y C S Observations
Y 0 Y C = 0 opération d’addition si R0 = 0
Donc: R0 = C
Si C = 0 = R0 => Addition, A + B = S4 S3 S2 S1 S0
ˆ
A B A Bˆ 2 n ( A B)
Car : B 2 n - B
Premier cas :
A >= B: A – B = S4 S3 S2 S1 S0
On a : R4 = S4 = 1 à cause du débordement. On le force à 0 => A – B = 0 S3 S2 S1 S0
Récapitulation :
Si C = 0 : l’addition
Le 2ème additionneur transmet sans les modifier les résultats obtenus à la sortie du premier
additionneur.
A + B = S4 S3 S2 S1 S0 et S4 = 1 si R4 = 1 et C = 0
Si C = 1 : la soustraction
A >= B (R4 = 1) : A – B = 2n + (A - B)
Le second additionneur transmet : A - B=0 S3 S2 S1 S0
A < B (R4 = 0) : A – B = 2n - (B - A)
Le deuxième additionneur transmet le complément à 2 de (S3 S2 S1 S0).
A. FAKKAR 53
Logique combinatoire et séquentielle
R0 = C.R4 S4
C R4 Observations
2nd Adder
Résultat transmit en l'état
0 * 0 S4
(S4 compris)
A < B transmet le cpl à 2 de
1 0 1 0
S3 S2 S1 S0
A > 0 transmet en état (S4 =
1 1 0 0
0)
Jusqu’ici le signe du résultat n’a pas été fourni, Le résultat est donné sous forme absolu (|S4 S3
S2 S1 S0|) en outre le cas de 2 nombre négatif n’a pas encore été traité.
R4 1er
SA SB SR Etat IA IB C
Add,
0 0 0 0 Addition A + B, S4 0 0 0
0 0 1 0 2 nombres positifs 0 0 0
0 1 0 1 A < B donc R4 = 0 soustraction A - B, SR = 1 0 1 1
0 1 1 0 A >= B donc R4 = 1 soustraction A - B, SR = 0 0 1 1
1 0 0 1 B < Adonc R4 = 0 soustraction de B - A, SR = 1 1 0 1
1 0 1 0 B < Adonc R4 = 1 soustraction de B - A, SR = 0 1 0 1
1 1 0 1 Addition de A +B avec S = -1 0 0 0
1 1 1 1 - (A - B) = - (A + B), S4 = R4 0 0 0
Après simplification :
IA=SA Sb, IA=SA Sb, C = SA + SB, SR = SASB + R4C
A. FAKKAR 54
Logique combinatoire et séquentielle
Problème de la retenue :
a. Retenue propagée :
b3 a3 b2 a2 b1 a1 b0 a0
R3
R2 R1 R0 R-1
4t 3t 2t t =0
S3 S2 S1 S0
t ≈ 50 ns (74LS80)
b. Retenue anticipée :
La recherche de la rapidité a conduit à une solution utilisant plus de circuits afin de
prévoir la valeur des retenues R0, R1, R2, R3 au lieu d'attendre qu'elles se soient propagées. On
dit que l’on anticipe la valeur de la retenue.
Soit un additionneur 2x1 bit :
ai Si
bi Additionneur i
Ri
Ri-1
Calcul de Ri+1
Ri+1 = Ri. ai + ai. bi + Ri . bi
Ri+1 = Ri (ai + bi) + ai. bi
Ri+1 = Ri (Pi) + Gi
R0 = 0
R1 = G0 + R0. P0
R2 = G1 + (G0 + R0. P0). P1 = G1 + G0. P1= G1 + R1. P1
A. FAKKAR 55
Logique combinatoire et séquentielle
S 0 P0
S1 ( R0 a1 b1 )
S 2 ( R1 a2 b2 )
S 3 ( R2 a2 b2 )
Les expressions précédentes montrent qu'on obtient R3 avec 3 couches de portes (temps
de propagation minimal), Une couche pour Pi et Gi et 2 couches pour réaliser la somme des
produits en obtient un temps de 19 ns pour le CI 74181.
A. FAKKAR 56
Logique combinatoire et séquentielle
CHAPITRE IV
LES BASCULES
La bascule est un circuit bistable pouvant prendre deux états logiques "0" ou "1». L'état
de la bascule peut être modifié en agissant sur une ou plusieurs entrées. Le nouvel état de la
bascule dépend de l'état précédent, c'est l'élément de base des circuits séquentiels. La bascule
peut conserver son état pendant une durée quelconque, elle peut donc être utilisée comme
mémoire.
1. Bascules R S
1
3
b 2 Q'
b
Figure 1
On a :
𝑄=𝑎 𝑄 ′ = ̅̅̅̅̅̅̅
̅̅̅̅̅̅ 𝑎 ̅̅̅̅̅
𝑏 𝑄 = 𝑎̅ + 𝑏 𝑄 = 𝑎̅ + 𝑏𝑞
𝑄 = ̅̅̅̅̅
′ ̅̅̅̅̅̅̅̅
𝑏 𝑄 = 𝑏 ̅̅̅̅̅
𝑎 𝑄′ = 𝑏̅ + 𝑎 𝑄 ′ = 𝑏̅ + 𝑎 𝑞′
Q et Q’ sont des variables internes (entrées), on les notes dans la suite par q et q’ dans les
seconds membres des équations. On dresse ensuite la table de vérité des 2 équations :
a b q q’ Q Q’
0 0 0 0 1 1
0 0 1 1 1 1
0 1 0 0 1 0
0 1 1 1 1 0
1 0 0 0 0 1
1 0 1 1 0 1
1 1 0 0 0 0
1 1 1 1 1 1
A. FAKKAR 57
Logique combinatoire et séquentielle
On peut réduire cette table en omettant les variables internes. Ce qui donne :
a b Q Q’
0 0 1 1
0 1 1 0
1 0 0 1
1 1 q q’
En réalité, le circuit consacré pour ce type de montage est le suivant, il est nommé bascule
RS dans lequel S = 𝑎̅ et R = 𝑏̅.
1 2 1
S 3
2 Q
1
3
1 2 2 Q'
R
Structure de la bascule RS
S R Q Q’
0 0 q q’
0 1 0 1
1 0 1 0
1 1 1 1
A. FAKKAR 58
Logique combinatoire et séquentielle
S Q
R Q’
La bascule RS est une bascule asynchrone, toute modification des entrées est
immédiatement répercutée sur les sorties.
2. Bascules RST :
La bascule RST est une bascule RS synchronisée par un signal d'horloge. Ceci permet
de verrouiller la bascule pendant l’état bas du signal.
1
S 3 1
2 3
2 Q
T
1
1 3
3 2 Q'
2
R
Si T = 0 alors les sorties des 2 portes d’entrées sont à 1 (cas qui correspond à l’état mémoire)
les sorties ne changent pas même si les entrées R et S varient. On dit que la bascule est
verrouillée.
Si T = 1, la bascule retrouve le fonctionnement standard de la bascule RS.
La bascule se présente comme suit : table de fonctionnement d’une telle
T S R Q Q’
0 X x q q’
1 0 0 q q’
0 0 1 0 1
1
1 1 0 1 0
1 1 1 1 1
A. FAKKAR 59
Logique combinatoire et séquentielle
S Q
T H
R Q’
3. Bascule J K synchrone.
La bascule J K synchrone (simple étage) est obtenue à partir d'une bascule RSH dont
les sorties sont rebouclées sur les entrées. Ceci permet d'éliminer l'état indéterminé.
1
2 12 1
J 13 3
2 Q
H
1
1 3
2 12 2 Q
K 13
A. FAKKAR 60
Logique combinatoire et séquentielle
J K Q
0 0 q
0 1 0
1 0 1
1 1 𝑞̅
Remarque: Pour J = K = 1, on dit que l'on est dans le mode basculement et l'on définit la bascule
« T » (Toggle). Cette bascule passe à l'état opposé à chaque signal d'horloge. On l’appelle aussi
bascule montée en diviseur par 2.
Les montages que nous avons vus sont des montages de principe qui permettent de comprendre
le fonctionnement mais ils ne répondent pas à l'exigence « déclenchement sur front ».
Les bascules déclenchées sur front possèdent un circuit détecteur de front qui permet leur
basculement uniquement sur un front montant ou un front descendant.
Remarque : La présence du petit rond sur l’entrée d’horloge indique que la bascule est active
sur front descendant. S’il est absent le front actif est alors montant.
4. Bascule D.
a. Bascule D synchrone.
Une bascule D est réalisée à partir d'une bascule R S ou J K dont les entrées sont reliées par
un inverseur. Ceci impose donc que les entrées prennent des états complémentaires.
La sortie prend l'état de l'entrée D’après l'impulsion d'horloge. Ceci permet par exemple de
synchroniser le transfert de données en parallèle.
4
D 3
PRE
1
PRE
J 5 2 5
1
CLK
Q Q D Q
6 3 6
CLR
Q
CLR
2 CLK Q
K
2
15
H
1
b. Bascule D à verrouillage.
A. FAKKAR 61
Logique combinatoire et séquentielle
Cette bascule ne possède pas de circuit détecteur de front et la sortie Q prend donc
l'état de l'entrée D tant que l'horloge est à l'état haut. (Bascule fonctionnant sur des niveaux et
non sur des fronts).
Table de vérité de la bascule D :
oD Q
0 0
1 1
La recopie de D dans Q se fait soit sur le niveau actif (latch), soit sur front (edge).
5. Bascule Maitre-Esclave.
Dans les bascules qui déclenchent sur un front actif du signal d’horloge les entrées de
commande synchrones J et K, doivent rester stables, durant un temps minimal spécifié par le
constructeur.
La structure maître-esclave évite cette contrainte. Elle est composée de 2 bascules de type RST
montées en cascade qui évoluent en 2 phases :
Premier phase : Verrouillage de la deuxième bascule (appelée esclave). Prise en compte des
entrées par la première bascule (appelée maitre).
Deuxième phase : Verrouillage de la première bascule. Prise en compte des entrées par la
deuxième bascule.
1
2 12 1
S 1
J 13 3 2 12 1
2 13 3
2 Q
H
1
1 1 3
1 3 2 12 2
2 12 2 13
K 13
1 2
R
La table de fonctionnement complète d’une bascule JK Maitre Esclave peut se mettre sous la
forme suivante :
A. FAKKAR 62
Logique combinatoire et séquentielle
H S R J K Qn+1
x 1 1 0 0 Qn
x 0 1 x x 1
x 1 0 x x 0
0 1 1 x x Qn
1 1 0 0 Qn
1 1 0 1 0
1 1 1 0 1
1 1 1 1 ̅̅̅̅
𝑄𝑛
Il reste à justifier l’introduction des termes Qn+1 par rapport au terme Qn. En effet, il s’agit de la
sortie de la même bascule juste avant et juste après l’application du front actif.
Il est à noter aussi, que les commandes asynchrones S et R actives au niveau bas ne peuvent
être toutes deux à l’état pas même en temps car cela revient à demander le forçage de la sortie
de la bascule à la fois à 0 et à 1 !
A. FAKKAR 63
Logique combinatoire et séquentielle
CHAPITRE IIV
LES COMPTEURS
1. Circuits diviseurs par 2
Analysons le fonctionnement du montage suivant :
4
2 5
S
PR
D Q
3
H CLK
6
CL
Q
7474
1
1
La table de vérité de la bascule D est la suivante :
H D Qn+1
0 x Qn
0 0
1 1
D TH
S TS
Au moment du front montant de l’horloge la sortie S recopie la donnée qui est sur l’entrée
D = Qn+1
Soient TH la période et FH la fréquence du signal d’horloge H et TS la période et FS la fréquence
su signal de sortie, on a :
A. FAKKAR 64
Logique combinatoire et séquentielle
1
1
4
3 5 S
4
PR
3 5 S H
J Q
1
PR
J Q 1
CLK
1
H CLK 2 6
CL
2 6
1 K Q
CL
1 K Q 74S112
15
74S112
1
15
1
4
3 5 S
PR
J Q
H
1
CLK
2 6
CL
K Q
74S112
15
Une bascule montée en diviseur par 2 est équivalente à un compteur modulo 2 c’est à dire qu’il
compte les états 0 et 1.
Avec deux bascules, on peut avoir 4 états différents 00, 01, 10 et 11 correspondant aux sorties
Q1 et Q2 des 2 bascules. Le schéma de câblage avec des bascules JK maître esclave est donné
dans la figure suivante :
1 1
4
3 5 Q1 3 5
1 1 Q2
PR
PR
J Q J Q
1 1
H CLK CLK
2 6 2 6
CL
CL
1 K Q 1 K Q
74S112 74S112
15
15
1 1
Remarque :
Les bascules doivent être actives sur niveau bas.
A. FAKKAR 65
Logique combinatoire et séquentielle
Donc, avec n bascules, on dénombre 2n états différents (de 0 à 2n-1). Le compteur est dit alors
modulo m = 2n.
Q1
Q2
t
Q2Q1 00 01 10 11 00 01 10 11 00
2. Les compteurs :
Les compteurs sont de 2 types :
Les compteurs synchrones :
Lorsque le signal d’horloge attaque en parallèle toutes les bascules (sur leur entrée d’horloge).
Pour que le compteur décrive la séquence désirée, Il faut calculer les fonctions de commutation
J et K de chaque bascule.
Les compteurs asynchrones :
Lorsque la première bascule reçoit seule le signal d’horloge (bascule de poids faible). Pour les
autres bascules constituant le compteur, le signal d’horloge d’une bascule de rang i n’est autre
que le signal de sortie de la bascule de rang i-1. Toutes les bascules sont montées en diviseur
par 2.
2. 1. COMPTEURS ASYNCHRONES
Un compteur asynchrone fonctionnant selon le code binaire naturel se présente comme suit :
Q3
Q1 Q2
1 1 1
4
1 3 5 1 3 5 1 3 5
PR
PR
PR
J Q J Q J Q
H 1 1 1
CLK CLK CLK
2 6 2 6 2 6
CL
CL
CL
1 K Q 1 K Q 1 K Q
74S112 74S112 74S112
15
15
15
1 1 1
RAZ
A. FAKKAR 66
Logique combinatoire et séquentielle
On applique d’abord un signal de remise à 0 pour être sûre que toutes les bascules soient
positionnées à 0 lors du démarrage du cycle de comptage.
On considérant Q3 comme poids fort et Q1 comme poids faible, on obtient une séquence
qui suit le code binaire naturel.
Toutes les bascules sont montées en diviseur par 2, on obtient avec n bascules identique
à celles du circuit précèdent un compteur asynchrone fournissant 2n états différents de 0 à 2n-1
selon le CBN. Un tel compteur est dit à cycle complet car le nombre de ces états différents est
égal à 2n.
H
1
0
t
RAZ
t
Q1
t
Q2
Q3
Q3Q2Q1 000 001 010 011 100 101 110 111 000 001
D’autres parts, on définit le modulo d’un compteur binaire naturel comme le nombre
d’états différents qu’il produit. Ainsi, un compteur modulo m comptera de 0 à m-1.
Les compteurs asynchrones dont le modulo m est différent d’une puissance de 2 sont
dits à cycle incomplet. Pour réaliser ce type de compteur, on détermine d’abord le nombre de
bascules n tel que 2n-1 < m <=2n et on applique le signal de remise à zéro (RAZ) dès que le
compteur dépasse la valeur spécifiée c’est à dire m-1.
Exemple : Réaliser un compteur asynchrone modulo 5 (comptant de 0 à 4).
A. FAKKAR 67
Logique combinatoire et séquentielle
On a : m = 5 et 22 < 5 < 23, donc n le nombre de bascules est égal à 3. Ces bascules sont
montées en diviseur par 2.
Ce compteur doit décrire la séquence suivante :
N° Q3 Q2 Q1
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
Q1 Q2 Q3
1 1 1
4
1 3 5 1 3 5 1 3 5
PR
PR
PR
J Q J Q J Q
H 1 1 1
CLK CLK CLK
2 6 2 6 2 6
CL
CL
CL
1 K Q 1 K Q 1 K Q
74S112 74S112 74S112
RAZ1
RAZ2
RAZ3
15
15
15
1
3
2
74S00
A. FAKKAR 68
Logique combinatoire et séquentielle
tr tr tr
H
Q1
Q2
Q3
A. FAKKAR 69
Logique combinatoire et séquentielle
2. 2. COMPTEURS SYNCHRONES
Synthèse par la méthode de MARCUS
On détermine la table de transition de la bascule utilisé à partir de sa table de vérité.
H J K Qn+1 Qn Qn+1 J K
0 0 Qn 0 0 0 *
0 1 0 0 1 1 *
1 0 1 1 0 * 1
1 1 Qn 1 1 * 0
Table de transition de la
Table de vérité bascule JK
Ensuite on dresse la table de synthèse qui comporte comme entrée la succession des
états des sorties et comme sorties les différentes fonctions de commutations. On remplit les
cases correspondantes à ces dernières à l’aide de la table de transition.
Exemple : Synthèse d’un compteur synchrone modulo 6 à l’aide de bascule JK.
22 <623
Il faut donc 3 bascules pour réaliser le compteur.
N° Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 0 0 0 0 * 0 * 1 *
1 0 0 1 0 * 1 * * 1
2 0 1 0 0 * * 0 1 *
3 0 1 1 1 * * 1 * 1
4 1 0 0 * 0 0 * 1 *
5 1 0 1 * 1 0 * * 1
0 0 0 0
A. FAKKAR 70
Logique combinatoire et séquentielle
Q1Q0 Q1Q0
00 01 11 10 00 01 11 10
Q2 Q2
0 0 0 1 0 0 * * * *
1 * * - - 1 0 1 - -
J2 = Q1Q0 K2 = Q0
Q1Q0 Q1Q0
00 01 11 10 00 01 11 10
Q2 Q2
0 0 1 * * 0 * * 1 0
1 0 0 - - 1 * * - -
J1 = Q2 K1 = Q0
On peut déduire directement J0 = 1 et K0 = 1 car soit ils prennent la valeur 1 ou leur état
est indifférent.
A. FAKKAR 71
Logique combinatoire et séquentielle
3. COMPTEURS INTEGRES
C’est un compteur qui contient un compteur hybride module 5 et une bascule montée en
diviseur par 2. Pour obtenir un compteur modulo 10, il faut cascader les 2 étages de comptage.
Le circuit résultant n’est plus alors totalement synchrone. Ce compteur ainsi réalisée est dit
DCB car il fournit à sa sortie la totalité des chiffres DCB.
Les constructeurs fournissent dans les notices entre autres les schémas de montages et
les tables de fonctionnement. Celle relative au circuit ci-dessus est :
Evidemment, le compteur évolue avec le front actif de l’horloge. Pour positionner le circuit
en mode comptage il faut, d’après la table, forcer au moins une des deux entrées MR1 et MR2
à 0, ainsi que l’une au moins des deux entrées MS1 et MS2.
Ce compteur ressemble beaucoup au précèdent, en ce sens qu’il contient une bascule montée
en diviseur par 2 associée à un compteur hybride module 6. La monté en cascade des 2 circuits
permet, évidemment d’obtenir un modulo 12.
A. FAKKAR 72
Logique combinatoire et séquentielle
A. FAKKAR 73
Logique combinatoire et séquentielle
CHAPITRE IIIV
Les Registres
1. Définition
Un registre est un groupe de bascules qui permet de stocker plusieurs éléments binaires. La
façon de connecter les bascules donne la fonction au registre.
Le registre permet ainsi de mémoriser un mot. A chaque mot binaire de n bits est associée n
bascules.
E0 Q0 E1 E2 E3
Q1 Q2 Q3
4
4
4
PRE
PRE
PRE
PRE
2 5 2 5 2 5 2 5
D Q D Q D Q D Q
3 6 3 6 3 6 3 6
CLR
CLR
CLR
CLK Q
CLR
CLK Q CLK Q CLK Q
1
1
1
Registre de mémorisation
2. Fonctionnement
Chaque cellule possède une entrée information E, une entrée horloge H et une sortie Q. E
est transférée en sortie sous le contrôle de l'impulsion appliquée sur H.
Un registre permet la mémorisation de n bits. Il est donc constitué de n bascules, mémorisant
chacune un bit. L'information est emmagasinée sur un signal de commande et ensuite conservée
et disponible en lecture. La figure suivante donne un exemple de registre 4 bits réalisé avec
quatre bascules D.
E0 E1 E2 E3
4
4
PRE
PRE
PRE
PRE
2 5 2 5 2 5 2 5
D Q D Q D Q D Q
3 6 3 6 3 6 3 6
CLR
CLR
CLR
CLR
W
R
1
2
3
Q0 Q1 Q2 Q3
Registre avec validation de lecture
A. FAKKAR 74
Logique combinatoire et séquentielle
En synchronisme avec le signal d'écriture W le registre mémorise les états des entrées E0,
E1, E2 et E3. Ils sont conservés jusqu'au prochain signal de commande W. Dans cet exemple
les états mémorisés peuvent être lus sur les sorties Q0, Q1, Q2 et Q3 en coïncidence avec un
signal de validation R. La validation peut être réalisée avec une logique à 3 états.
3. Registre à décalage
Dans un registre à décalage les bascules sont interconnectées de façon à ce que l'état logique
de la bascule de rang i puisse être transmis à la bascule de rang i+1 quand un signal d'horloge
est appliqué à l'ensemble des bascules. L'information peut être chargée de deux manières dans
ce type de registre.
Entrée parallèle : comme dans le cas d'un registre de mémorisation. En général une porte
d'inhibition est nécessaire pour éviter tout risque de décalage pendant le chargement parallèle
Entrée série : l'information est présentée séquentiellement bit après bit à l'entrée de la
première bascule. A chaque signal d'horloge un nouveau bit est introduit pendant que ceux déjà
mémorisés sont décalés d'un niveau dans le registre. La figure suivante schématise le
chargement d'un registre 4 bits en quatre coups d'horloge.
Horloge Q3 Q2 Q1 Q0 Es
d c b a e0
c b a e0 e1
b a e0 e1 e2
a e0 e1 e2 e3
e0 e1 e2 e3
Les registres permettent de réaliser des décalages de chiffres. Etant donné un ensemble de n
informations binaires a0 a1...an-1 rangé dans un registre de n cellules mémoires c0 c1...cn, la
fonction de décalage consiste à faire glisser l'information d'une cellule à la suivante.
4
Q2 Q3
PRE
Q0
PRE
Q1
PRE
PRE
Es 2
D Q
5 2
D Q
5 2
D Q
5 2
D Q
5
3 6 3 6 3 6 3 6
CLR
CLR
CLR
CLR
H
Structure d’un registre à décalage
A. FAKKAR 75
Logique combinatoire et séquentielle
De même l'information peut être lue en série ou en parallèle. D'autre part, certains registres
peuvent être capables de décaler à gauche et à droite. Un registre à décalage universel serait
donc constitué des entrées, des sorties et des commandes suivantes :
S0 S1 S2 S3
4
4
PRE
PRE
PRE
PRE
Es 2
D Q
5 2
D Q
5 2
D Q
5 2
D Q
5
Ss
3 6 3 6 3 6 3 6
CLR
CLR
CLR
CLR
H
Registre à entrée série sortie parallèle
Ce type de registre permet de transformer un codage temporel (succession des bits dans le
temps) en un codage spatial (information stockée en mémoire statique).
La sortie série peut également être utilisée. L'intérêt d'utilisation d'un registre à décalage en
chargement et lecture série réside dans la possibilité d'avoir des fréquences d'horloge différentes
au chargement et à la lecture. Le registre constitue alors un tampon.
Entrée parallèle - sortie série
A. FAKKAR 76
Logique combinatoire et séquentielle
La figure suivante présente un exemple de registre à décalage avec entrées parallèle ou série
et sortie série. Si X = 1 l'entrée parallèle est inhibée et l'entrée série est validée. Si X = 0 l'entrée
série est bloquée par contre le chargement par l'entrée parallèle est autorisé.
A. FAKKAR 77
Logique combinatoire et séquentielle
fonctionnement normal des bascules. Si X = 1 alors selon l'état de chacune des entrées nous
avons :
A. FAKKAR 78
Logique combinatoire et séquentielle
Registre intégré
A. FAKKAR 79
Logique combinatoire et séquentielle
A. FAKKAR 80