Vous êtes sur la page 1sur 79

Partie I : LOGIQUE COMBINATOIRE

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 :

SYSTEME DE NUMERATION, ARITHMETIQUE BINAIRE, CODES

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 :

Base Chiffres Système


10 0–1–2–3–4–5–6–7–8–9 Décimal
2 0–1 Binaire
16 0–1–2–3–4–5–6–7–8–9–A–B–C–D–E–F Hexadécimal

 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

Le poids du chiffre 5 est 102 = 100 et son rang est 2.


(2) est le chiffre de poids fort (MSB) et (8) est le chiffre de poids faible (LSB).

578(B)=5 B2+7 B1+8 B0

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.

2. Représentation d’un nombre entier N de base quelconque:


L’équivalent décimal N d’un nombre de base B quelconque s’obtient par le
développement suivant :
i n
N   ai .B i a0 .B 0  a1.B1  ......  an .B n où ai  0,1,........, ( B  1) , i  
i 0
Où n est l’exposant de B du chiffre de poids fort.

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).

3. Conversion (changement de base) :


Il s’agit d’écrire un nombre exprimé dans une base B1 en un nombre de base B2.
Remarque 1. 2:
Une base B, exprimée dans son propre système, s’écrit toujours 10.

a. 1er Procédé de conversion :


n
N   ai . B i avec ai  0,1,...., ( B  1)
i 0

Le but est de déterminer les ai de la formule ci-dessus.


On applique l’algorithme suivant :
 Chercher la plus grande puissance entière de la base contenue dans N;
 Retrancher cette quantité de N;
 Considéré maintenant le reste obtenu;
 Recommencer le processus.

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).

d. Conversion base 2 en base 8 :


Regrouper les bits par bloc de 3 en allant vers le MSB, convertir ensuite ces blocs en
octal selon le code 8421.

Exemple1. 6: Convertir de la base 2 vers la base 8 le nombre : 10100101001(2)

10 100 101 001


2 4 5 1
Donc : 10100101001(2)= 2451(8)

e. Conversion base 8 en base 2 :


Ecrire par bloc de 3 bits la valeur binaire des chiffres du nombre octal en respectant les
poids.
Exemple1. 7: Convertir 7321(8) en base 2.
7 3 2 1
111 011 010 001
D’où : 7321(8) = 111011010001(2)
Exercice 1.5: Convertir 79182(10) en binaire. Réponse = 232516(8) =
10011010101001110(2).

7
f. Conversion base 2 en base 16 :
Regrouper les bits par groupe de 4 en allant vers la gauche (MSB).

Exemple 1.8: Convertir de la base 2 vers la base 16le nombre : 1100101011111110(2)

1100 1010 1111 1110


C A F E
Donc : 1100101011111110(2)=CAFE(16)

g. Conversion base 8 en base 16 : base 8 base 2  base 16

Exemple 1. 9: Convertir 325(8) en base 16.

Base 8 3 2 5
Base 2 011 010 101

Base 2 0 1101 0101


Base 16 D 5

Ainsi, 325(8) est équivalente à 11010101(2) en base 2 et à D5(16) en base 16.

Exercice 1. 6: Convertir 2CA8(16) en base 8. (Réponse 26250(8)).

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

Exemple 1. 10 : Addition de 10010101(2) et 10011101(2) = 100110010(2)

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

Exemple 1. 11 : Soustraction de 10111100(2) et 1011001(2) = 11000110(2)

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

Exemple 1. 12 : Multiplication de 11010(2) et 101(2) =10000010(2)

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.

4. Représentation des nombres algébriques


a. Forme Normalisée :
Nous avons parlé de chiffre et de caractère binaire jusqu’à présent, pour le
microprocesseur et les circuits annexes, on préfère parler de bit.
Le bit (BinarydigIT) est l’information élémentaire en logique, il ne peut prendre que la valeur
0 ou 1, En général, on traite des mots de 8, 16, 32 ou 64 bits. Un mot de 8 bits est appelé octet.

Bit MSB: signe 0 : positif, 1 : négatif * * * * * * * * : 0 ou 1

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:

Nombre binaire format 8 bits Equivalent décimal


0 1 0 0 1 0 0 1 73
1 0 0 0 1 17
1 0 0 1 0 0 0 1 -17

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)

5. addition des nombres signés :

11
Pour l’addition des nombres signés, 4 cas peuvent se présenter :

a) 2 nombres positifs :
27 00011011
+ 61 00111101
= 88 = 01011000

b) Un nombre positif supérieur à un nombre négatif :


61 00111101
- 27 - 00011011 -> Cpl à 1 de 27 : 11100100
= 34 + 1
Donc Cpl à 2 : = 11100101
On calcule: 00111101
+ 11100101
Résultat : = 100100010
Débordement à éliminer

c) Un nombre positif inférieur à un nombre négatif <0 :


27 00011011

- 61 - 00111101 -> Cpl à 1 de 61 : 11000010


= -34 + 1
Donc Cpl à 2 : = 11000011

On calcul : 00011011
+ 11000011
Résultat: =11011110

En calculant le complément à 2 du résultat, on trouve : +34. Le résultat est négatif, en prenant


le cpl à 2 du résultat, on obtient +34, Donc on obtient le résultat recherché avec le signe (-) et
sous forme de cpl à 2.

d) Deux nombres négatifs:


- 27 ->Cpl à 2 de 27: 11100101
- 61 ->Cpl à 2 de 61: + 11000011
= - 88 Résultat : 110101000
Débordement à éliminer

Et donc le cpl à 2 : 01010111+1 = 01011000 => +88


Comme pour le cas précédent, le résultat est sous forme de cpl à 2.

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.

a. Le code binaire naturel CBN :


Le tableau suivant donne les 16 premières combinaisons du code binaire naturel.

Nombre entier Binaire naturel


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

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)

0001 0011 0101 1001

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

c. Le code binaire Aiken 2421


C ‘est un code auto-complémentaire, c’est à dire que les représentations binaires de deux
chiffres dont la somme est 9 est complémentaire l’une de l’autre.

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

B. Les codes non pondérés :

a. Code de Stibitz ou excess 3


On obtient ce code en décalant vers le haut et de 3 lignes le code binaire naturel.

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.

b. Code gray ou Binaire réfléchi

Le tableau suivant donne les 16 premières combinaisons du code Gray.


Remarque :
Le code binaire réfléchi est un code cyclique qui possède la propriété d’adjacence.

Nombre entier Binaire naturel Code Gray


0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000

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é.

Exemple 1. 11 : 1011  Binaire réfléchi


+1.1
- 1.3
0.7
+ 1 . 15
= ||1 – 3 + 1 5 = 13 ||  1101  Binaire naturel

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.

Exemple : 0101 Binaires naturels


+ 0101
= 01111Code gray

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.

Décimal Code 2 parmi 5 (74210)


0 1 1 0 0 0
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 0
4 0 1 0 0 1
5 0 1 0 1 0
6 0 1 1 0 0
7 1 0 0 0 1
8 1 0 0 1 0
9 1 0 1 0 0

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é

C’est un code qui permet d’ajouter un élément binaire au caractère numérique ou


alphanumérique déjà codé. Cet élément binaire supplémentaire est choisi de telle sorte que
l’ensemble des bits (caractère plus bit de parité) ait un nombre pair ou impaire de « 1 ».

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

b. Code EBCDIC (Extended Binary Decimal Interchange Code) :


Le code EBCDIC (Extended Binary Decimal Interchange Code) est un code à 8 éléments
binaires utiles, soit 256 combinaisons possibles.

A. FAKKAR 18
Logique combinatoire et séquentielle

CHAPITRE II :

ALGEBRE DE BOOLE : FONCTIONS ET CIRCUITS LOGIQUES

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.

2. OPERATIONS DE BASE DE L’ALGEBRE DE BOOLE A :


2.1. 1 VB : Complémentation (NON, NI).
 Soit X une VB, le complément de X noté X et dit X barre, est aussi une VB.
Le circuit intégré d’implantation d’inverseur est le 74LS04 et comporte 6 inverseurs.

Table de vérité : Symbole graphique :

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.

Table de vérité : Symbole graphique :

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

Table de vérité : Symbole graphique :

X Y X+Y
U?
1
0 0 0 3
2
0 1 1
7432
1 0 1
1 1 1

L’algèbre de Boole permet d’analyser ou de synthétiser un réseau électrique.


Exemple :
A
E S E A B S
B
A OU B A ET B
3. AXIOMES ET THEOREMES DE L’ALGEBRE DE BOOLE :
Soit a, b et c trois VB. On définit :

commutativité a +b=b+a a.b=b.a

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)

idempotence a.a=a a+a=a

Identité remarquable 1.a=a 0.a=0 1+a=1 0+a=a

_ _
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

Si on a une entrée flottante pour le OU on la met à 0, et pour le ET on la met à 1.

4. EVALUATION D’UNE FOCNTION LOGIQUE :


Définition :
On appelle fonction logique une combinaison de variables booléennes reliées par des
opérateurs NON, ET, OU.
Exemple:
Z  ( x  y )( x  y )t ( x  y )
S  ( A  B)( A  C )  ( A  B)

Chaque fonction ne peut prendre que la valeur 0 ou 1.


Les fonctions logiques peuvent se simplifier à l’aide des lois énoncées à la section précédente
et s’évaluer à l’aide des tables de vérité.

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)

Logogramme de la fonction Y avant et après simplification.

5. TABLE DES FONCTIONS A DEUX VARIABLES :


16 fonctions sont possibles avec 2 VB :

X Y F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15

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.

Autres fonctions très souvent utilisées :


2
F1 = X Y=X + Y  3
1

7402

Le circuit intégré d’implantation 74LS02.

Fonction NON OU  NOR.


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

Avantage de l’utilisation des NAND et NOR :


C’est l’implantation de n’importe quel type de circuit avec un seul type de porte.

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

Remarque : Fa= F15 – a

6. RELATIONS DE BASE DE L’ALGEBRE DE BOOLE :


Ces relations vont servir pour simplifier les expressions booléennes ou pour démontrer de
nouvelles relations.
Relations de Base :

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 : écrire la duale de la fonction suivante.


Z  ab  a b  a b
Z  b (a  a )  a b
Z  b  ab
Z a b
Par dualité, on trouve :
(a  b )(a  b )(a  b)  a b
9. SIMPLIFICATION ALGEBRIQUE DES RELATIONS BOOLEENNES :
Simplifier une fonction revient à l’écrire à l’aide d’un nombre minimum de terme en utilisant
les lois fondamentales et les relations démontrées.

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 :

REPRESENTATION ET SIMPLIFCATION DES FONCTIONS


LOGIQUES

I. REPRESENTATION DES FONCTIONS LOGIQUES :


1. Objectif :

 Savoir représenter les fonctions logiques sous 4 formes :


* Expression algébrique
* Table de vérité
* Table de Karnaugh
* Logigramme
 Savoir extraire les formes canoniques,
 Savoir simplifier une expression booléenne à partir des tables de Karnaugh complètes ou
non.

2. MODES DE REPRESENTATION DES FONCTIONS LOGIQUES :

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 :

Z  a .b .d  a.b .c .d  a.b.c  a.b.c.d  a.b.c .d

Nous avons 4 variables, donc n = 4 et p = q = 2. La table de Karnaugh aura 4 lignes et


4 colonnes.

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 :

f(x)  f(1) x  f(0) x

Considérons les expressions f(1,x2,.......,xn) et f(0,x2,.......,xn) fonction de x2,.......,xn, on aboutit


au théorème de Shannon qui s'exprime ainsi :
Toute fonction booléenne de n variables f(x1, x2,......., xn) s'écrit :

f(x1 , x 2 ,......., x n )  f(1, x 2 ,.., x n ) x 1  f(0, x 2 ,.., x n ) x 1

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 :

S  x. y.c  x. y.c  x. y.c  x. y.c


b. Forme canonique conjonctive produit de somme :

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.

c. Forme canonique : Forme NAND


La forme canonique NAND permet de réaliser le logigramme uniquement et directement à
l’aide de porte NAND. On la déduit de la première forme canonique pour double
complémentation.

d. Forme canonique : Forme NOR


On l’a déduit de la 2ème forme canonique par double complémentation.

A. FAKKAR 29
Logique combinatoire et séquentielle

II. SIMPLIFICATION DES FONCTIONS LOGIQUES :


1. Principe de la méthode :
Soit une fonction booléenne complète (c'est à dire complètement spécifiée). Cette fonction est
représentée sur la table de Karnaugh par une série de cases où la fonction prend la valeur "1" et
une autre série de cases où la fonction prend la valeur "0". La table de Karnaugh étant établit
dans le code binaire réfléchi, qui possède la propriété d’adjacente, on peut mettre en évidence
les propriétés suivantes :
Deux cases adjacentes de la table de Karnaugh contenant la valeur «1» correspondent à 2
mintermes qui diffèrent par une seule variable c'est à dire que cette variable est complémentée
dans l’un des mintermes, non complémenté dans l’autre, On a affaire à 2 termes tel que :
x1 x2 ...x j ...xn etx1 x2 ...x j ...xn
Ces deux termes donnent :
x1 x2 ...x j 1 x j 1 ...xn
Où le terme xj disparaît. En généralisant, 22 = 4 cases adjacentes, contenant la valeur « 1 »,
conduisent à un seul terme réduit dans lequel 2 variables n’apparaissent pas.
2n cases adjacentes, contenant la valeur « 1 », conduisent à un seul terme réduit dans lequel n
variables n’apparaissent pas.
Cette méthode consiste à faire apparaître dans la table des groupes de « 1 » adjacents aussi
importants que possible en remarquant qu’un même « 1 » peut faire partie de plusieurs groupes
en vertu de la relation x + x + x = x.
Remarque :
Une table ou diagramme de Karnaugh est une table d’implication logique disposée de telle
manière que 2 termes logiquement adjacents soient aussi adjacents géométriquement.
2. Traitement des cas :
a. Fonction à 3 variables A, B et C :

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

V) F  A.B  A.C  B.C 5) F  A.B  A.B.C

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 :

Le numéro de chaque case et l’équivalent décimal du nombre binaire d c b a avec les


poids respectifs 23, 22, 21, 20.

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

d est le poids fort et a le poids faible.


Exemple :
Soit F une fonction logique de 4 variables booléenne d, c, b et a définit par l'équivalent décimal
des mintermes vrais. Cette représentation facilite le remplissage de la table de Karnaugh.
F = R {0, 1, 2, 5, 6, 7, 9, 10, 11, 13, 14, 15}, R exprimant la réunion des cases à "1".
Remarque :
Cette représentation est l'équivalent de :
F = {0000, 0001, 0010, 0101, 0110, 0111, 1001, 1010, 1011, 1101, 1110, 1111}
La table de Karnaugh correspondante se présente comme ci-dessous :

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

ed\cba 000 001 011 010 110 111 101 100


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\CDE 000 001 011 010 110 111 101 100

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

F  B .C .E  A.B.D  A.B .E  A.C.D.E  B.C .D  A.D.E


Remarque :
La table à 5 variables peut être représentée à l'aide de 2 tables à 4 variables, l'une d'elle est
établie pour la valeur "0", l'autre pour la valeur "1" de la 5ème variable.
d. Cas des fonctions incomplètement spécifiée ou incomplètes
Certaines fonctions possèdent des combinaisons de variables pour lesquelles la valeur de la
fonction est indifférente ou arbitraire. Dans ce cas, on choisit ces valeurs arbitraires de manière
à faciliter la formation des groupes de "1" aussi important que possible.
Exemple :

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

Schéma de principe d'un multiplexeur

N = 2n ou en général (N <= 2n), avec N nombre d'entrées de donnée et n nombre d'entrées


d'adresse.
Exemple :
A. FAKKAR 34
Logique combinatoire et séquentielle

Réalisation d'un multiplexeur de 4 entrées :


N = 4 = 22 entrées (E1, E2, E3, E4): donc n = 2 adresses (A1, A2).
Le but est de réaliser la fonction définie par la table de fonctionnement suivante :

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

Le 74LS151 est un multiplexeur de type 8 vers 1, le 74LS150 est un multiplexeur de


type 16 vers 1.
Le 74LS151 a donc 8 entrées de données (D0 - D7), 3 entrées d'adresses (A,B,C), une sortie
normale Y, une sortie sous forme complémenté WN et une entrée de validation STRN.

Sa table de vérité est :

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

Le niveau d’inhibition est «1» c'est à dire si STRN = 1 on a : la sortie Y = 0 quelques


soit le niveau des adresses et des entrées. Par contre si STRN = 0 la sortie Y recopie l’entrée Ei
sélectionnée grâce à l’adresse 3 bits A, B et C correspondante. (A étant le poids faible, C le
poids fort).

A. FAKKAR 36
Logique combinatoire et séquentielle

II. MULTIPLEXEUR DE MOTS :


Un multiplexeur de mots travaille simultanément sur plusieurs bits. Il peut, donc, être
considéré comme un ensemble de multiplexeurs de type 1 parmi N fonctionnant simultanément
avec la même adresse.
Ce type de multiplexeur accepte N groupes d'entrées (ou mots) de x bits. En sortie, sur
x accès, on dispose du mot (1 parmi N) qui est sélectionné grasse à l'adresse de n fils
(si N = 2n).

1
mot 1
x 1

1
mot 2 Sortie
x x s

mot N

1 n

n Addresses

Dans cette famille de multiplexeur, on trouve des multiplexeurs de 2 mots de 4 bits, de


3 mots de 4 bits et de 4 mots de 2 bits.
Exemple :
Le circuit intégré 74LS153 est un multiplexeur de 4 mots de 2 entrées.

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 :

Un décodeur digital est un circuit combinatoire à l’entrée duquel on applique un code


binaire de n bits. Deux possibilités se pressentent :
• Le décodeur à N sorties avec, en général, N = 2n. Pour chaque code d'entrée, une seule
sortie est valide, c'est à dire à l'inverse de toutes les autres. Ce fonctionnement est à rapprocher
de celui du démultiplexeur.
• Le décodeur à m sorties de telles sortes qu'à chaque code d'entrée de n bits correspond
un code de sortie de m bits. C'est la fonction transcodage ou conversion de code.

1. Décodeur de n bits ou sélecteur de sortie :

Validation

1 1

Entrées Sorties

n N

Avec n bits, on peut on peut avoir 2n combinaisons et donc désigner 2n directions ou


sorties différentes :
Exemple :
Décodeur 2 vers 4 (2 entrées et 4 sorties).

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

Les sorties sont alors, telles que :

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

Le logigramme est le suivant :


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

On simplifie les fonctions de sorties à l’aide de la table de Karnaugh :

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

dD
c  DC
b  DC  B
a  DC  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

Pour simplifier les fonctions de sorties, on utilise la table de Karnaugh :

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 * *

On trouve les fonctions simplifiées suivantes :

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

I. COMPARATEURS ET GENERATEURS DE PARITES :


Ces deux familles de circuits exploitent la propriété des fonctions logiques OU exclusif et OU
exclusif inverse.
1. Détecteur d’égalité :
Deux mots binaires A et B sont égaux si tous leur bits de même rang ai et bi sont égaux.
A B F
0 0 1
0 1 0
1 0 0
1 1 1

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

2. Comparateur donnant A > B, A< B ou A=B :


Soit à comparer 2 mots de n bits chacun :
ON désire savoir s'il y a égalité ou si non le sens de l'inégalité. Pour traduire les 3 possibilités,
on préfère délivrer le résultat à l'aide de 3 sorties, chaque sortie étant alors spécialisée.
(A > B), (A < B) et (A = B).
Exemple :
Comparaison de 2 mots de 2 bits :
A (a1a0) et B (b1b0)

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

On simplifie les trois sorties à l'aide de la table de Karnaugh et on trouve :

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  a1b1  a0b1b0  a1a0b


A=B
a1a0\b1b0 00 01 11 10
00 1 0 0 0
01 0 1 0 0
11 0 0 1 0
10 0 0 0 1

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

S A B  a1b1  a0b1b0  a1a0b


Remarque :
S AB .S AB .S A B  1 donc S AB  S AB .S AB

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 :

Des CI réalisant cette fonction existent. Par exemple le CI 74 LS 85 est un comparateur de 2


mots de 4 bits.

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

Extension de la fonction « comparateur » :

A. FAKKAR 47
Logique combinatoire et séquentielle

L’extension de la fonction comparaison peut se faire de la façon suivante :

A. FAKKAR 48
Logique combinatoire et séquentielle

II. Opérateurs arithmétique d’addition – soustraction :


Rappel sur les nombres signés en complément à 2 (format de 8 bits).
La représentation des nombres et telle que :
Nombre positif : 0xxxxxxx nombre > = 0 de [00000000 = 0 à 01111111 = 127]
Nombre négatif : 1xxxxxxx nombre < 0 de [10000000 = -128 à 11111111 = -1]

Pour un mot de n bits :


L’extension des nombres > = 0 : de 0 à 2n-1-1
L’extension des nombre < 0 : -1 à –2n-1

Les nombres en complément à 2 sont tel que :


N = 0 27 + a6 26 +…+ a1 21 + a0 (nombre >= 0)
N = -1.27 + a6 26 +…+a1 21 + a0 (nombre <0)

Soit A un mot de 8 bits, on note :

Â: complément à 1 de A.

ˆ
Aˆ : complément à 2

On a : A+Â=11111111=28-1

ˆ
Et : A+ Aˆ = A + Â + 1 = 28
ˆ
Car : Aˆ = Â+1

Le complément à 2 d’un nombre est son opposé (dans le format !).

 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

Schéma d'un demi - additionneur

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 :

L’additionneur a 3 entrées : les entrées ai et bi de l'étage i et l’entrée Ri-1 report de l’étage


précédent i-1 et de 2 sorties Si et Ri. Ri étant le report de l’étage i.

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

Schéma d’un additionneur complet

Additionneur de 2 mots de n bits :


A. FAKKAR 50
Logique combinatoire et séquentielle

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

En généralisant, pour un mot de n bits :


 
B  B  2n  B  2n - B
Ainsi, A - B = 2n + (A - B), n, étant le nombre de bits des mots A et B.
A. FAKKAR 51
Logique combinatoire et séquentielle

On distingue deux cas :


a. A ≥ B → A - B ≥ 0 → A - B = A + cpl à 2(B) - 2n
Il suffit de faire une addition est de négliger la retenue qui apparaît (terme de rang n).

Remarque : la retenue de l'étage de poids fort de l'additionneur est à 1.


b. A< B →A - B = A + 2n - B = 2n - (B - A) < 2n
D'autre part, on a : A - B = 2n - (B - A). Ainsi, le résultat étant négatif, il apparaît sous forme
de complément à 2. Donc, le complément à 2 du résultat est la valeur absolue de ce dernier.
Remarque : (B - A) < 2n donc la retenue de l'étage de poids fort de l'additionneur est à 0.
Réalisation d'un additionneur de 4 bits :
Ce circuit va réaliser l'addition de 2 mots de 4 bits. Ainsi, le résultat sera sur 5 bits.
Soit 2 mots de 4 bits A = a3 a2 a1 a0 et B = b3 b2 b1 b0

R4 R0
a3 a2 a1 a0
+ b3 b2 b1 b0
= S4 S3 S2 S1 S0

R0 = 0 pour l'étage additionneur de poids faible.


On présente cet additionneur de la façon suivante :
U?
10 9
8 A1 S1 6
3 A2 S2 2
1 A3 S3 15
A4 S4
11
7 B1
4 B2
16 B3
B4
13 14
C0 C4
7483

Le problème qui se pose est de savoir la manière de transformer cet additionneur en


soustracteur.

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

Y 1 Y C=1 opération de soustraction si R0 = 1

Donc: R0 = C

Si C = 0 = R0 => Addition, A + B = S4 S3 S2 S1 S0

Si C = 1 => opération de soustraction telle que :

ˆ
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

En effet 2n représente le bit de débordement ; dû au complément à 2, qu’il faut éliminer pour


corriger le résultat.
Deuxième cas :
 A < B : A – B = A +2n – B = 2n + (A - B) = 2n - (B - A)
A – B = S3 S2 S1 S0 avec S4 = R4 = 0

Le résultat est donnée sous forme de complément à 2 de (B-A), Il suffit de générer le


complément à 2 de A – B = S3 S2 S1 S0 à l’aide d’un second additionneur à 4 bits et de 4
inverseurs commandés.

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é.

Recherche du signe du résultat :


Il faut élaborer un signal SR indiquant le signe du résultat.
SR = 1 => résultat négatif.
SR = 0 => résultat positif.

On va associer au mot A : le bit de SA signe de A, et au mot B : le bit de SB signe de B.


Le signe du résultat SR dépend de SA, SB et R4 du premier additionneur. On génère IA et IB qui
vont servir à commander les inverseurs qui vont fournir soit ai ou ai soit bi ou bi,

Le tableau suivant résume toutes les possibilités :

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 :

Soit 2 mots binaires de 4 bits : A = a3 a2 a1 a0 et B = b3 b2 b1 b0


On peut associer 4 additionneurs selon le schéma :

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

On sait que : Ri = ai.bi + (ai + bi) Ri-1


Que l’on met sous forme :
Ri = Gi + Pi Ri-1 avec {Gi = ai bi, Pi = ai + bi}
Si ai = bi = 0 alors Ri = 0quelque soit Ri-1
Si ai = 0 et bi = 1 ou si ai = 1 et bi = 0 alors Ri = Ri-1
Le terme Pi = ai + bi est appelé terme de propagation.
Si ai = 1 et bi = 1 alors Ri = 1
Le terme Gi = ai bi est appelé terme de génération car il génère la retenue propre à l'étage.
On peut récrire les expressions des retenues de chaque étage comme suit :
Gi = Ai . Bi
Pi = Ai + Bi

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

R3 = G2 + (G1 + (G0 + R0. P0). P1). P2 = G2 + (G1 + G0. P1). P2 = G2 + R2. P2

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

On considère le circuit de la figure 1 :


1
a 3
1 2 Q
a 3 Q 1
2 3 Q'
2

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

Sa table de vérité est la suivante :

S R Q Q’
0 0 q q’
0 1 0 1
1 0 1 0
1 1 1 1

Pour R = S = 1, il apparait que la sortie ne change pas, c’est l’état mémoire.


On vérifie aisément que pour S = R = 0, on a : 𝑞 ′ = 𝑞̅ de même que pour les deux
combinaisons d’entrées S = 0, R = 1 et S = 1, R = 0.
La combinaison des entrées S = 1 et R = 1 est une combinaison interdite, dans laquelle
Q = Q’. Il faut donc toujours s’assurer que la combinaison des entrées S = R = 1 ne puisse avoir
lieu. Dans ses conditions, on ne représente dans la table de vérité que la sortie Q.
Dans cette bascule : L’entrée S (set) mise à 1 force la sortie Q à 1.
L’entée R (reset) mise à 1 force la sortie Q à 0.
Une représentation bloc de la bascule RS est souvent utilisée (figure ci-dessous).

A. FAKKAR 58
Logique combinatoire et séquentielle

S Q

R Q’

Symbole graphique de la bascule RS

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

Structure d’une bascule RST

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

On remarque que l’état interdite persiste dans cette bascule.

A. FAKKAR 59
Logique combinatoire et séquentielle

S Q
T H
R Q’

Symbole graphique de la bascule RST

Exemple de fonctionnement de la bascule RST à l’aide de son chronogramme :

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

La table de vérité de la bascule JK est la suivante :

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.

Front montant Front descendant

Symbole graphique de la bascule JK J Q

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.

La structure de la bascule JK maire-esclave est présentée dans la figure ci-dessous :

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

Deux entrées asynchrones disponibles au niveau de la bascule esclave permettent le forçage


des sorties soit à 0 soit à 1.

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

Le chronogramme correspondant au schéma si dessus est le suivant :


H
1
t

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

TS = 2 TH et comme la fréquence est l’inverse de la période du signal, on a : FS = FH / 2. Ainsi,


la fréquence du signal de sortie est la moitié du signal d’entrée. D’où l’appellation diviseur par
2 de la fréquence donnée au circuit précédant.
D’autres schémas de circuits diviseurs par 2 sont possibles notamment à l’aide de bascules JK
maître esclave. On donne dans ce qui suit un certain nombre de circuits réalisant la division par
2 de la fréquence.

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.

On peut généraliser : Ainsi, avec 3 bascules montées en diviseur par 2 de la fréquence


d’horloge, on peut avoir 8 = 23 états différant et plus généralement avec n bascules de ce type
on a 2n états différents.

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.

Le chronogramme correspondant au schéma si dessus est le suivant :


H
1
t

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

Dont le chronogramme de fonctionnement est le suivant :

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

Chronogramme du compteur asynchrone modulo 8

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

Dès l’apparition de la combinaison N° 5 (101), il faut renvoyer le compteur à l’état 000.


Donc, il faut appliquer une remise à zéro à l’entrée RAZ des bascules qui sont au niveau haut.
Ainsi, il faut forcer les sorties des bascules 1 et 3 (Q1 et Q3) à 0 momentanément pour que le
cycle de comptage puisse reprendre.
Si, comme c’est généralement le cas, les entrées de remise à zéro des bascules sont
actives au niveau bas « 0 », alors RAZ1 = RAZ3 =Q1.Q3. Le schéma du câblage du compteur
asynchrone modulo 5 se pressente alors comme suit :

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

INCONVENIENTS DES COMPTEURS ASYNCHRONES :


Si on examine l’évolution d’un compteur asynchrone au moment du front actif de
l’impulsion de l’horloge, on s’aperçoit qu’il y a des états transitoires.
Par exemple, lorsque le compteur progresse de l’état 011 à l’état 100, on a (tr étant le
temps de transition):

A. FAKKAR 68
Logique combinatoire et séquentielle

tr tr tr
H

Q1

Q2

Q3

110 110 010 000 100

Etats parasites transitoires

Diagramme du temps (dilaté) au moment de la transition :


Le temps nécessaire au compteur pour se stabiliser à sa valeur finale est de 3 tr, mais ce
qui est plus grave, c’est que le compteur passe par 2 états successifs erronés.
Cette particularité devient un inconvénient majeur chaque fois que le compteur est
exploité par des circuits rapides. Cependant, un exemple d’utilisation ou ce fonctionnement
n’est absolument pas gênant est le cas où l’on ne s’intéresse qu’à une seule sortie de ce
compteur. Comme exemple, on peut citer l’utilisation en diviseur de fréquence.

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 <623
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

On dresse la table de synthèse qui comporte la succession des états de sorties 0, 1, 2, 3,


4, 5 puis le cycle recommence.
Pour l’évolution des états de chaque sortie, on détermine les valeurs des fonctions de
commutation Ji et Ki de la façon suivante :
Si la sortie évolue de 0 à 0 alors J = 0 et K = *
Si la sortie évolue de 0 à 1 alors J = 1 et K = *

A. FAKKAR 70
Logique combinatoire et séquentielle

Si la sortie évolue de 1 à 0 alors J = * et K = 1


Si la sortie évolue de 1 à 1 alors J = * et K = 0
Conformément aux états de la table de transition
Ensuite, on simplifie les diverses fonctions de commutation à l’aide de tables de
Karnaugh.

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.

Enfin, on réalise le câblage de la structure synchrone.

A. FAKKAR 71
Logique combinatoire et séquentielle

3. COMPTEURS INTEGRES

Les constructeurs de circuits logiques proposent un certain nombre de compteurs


intégrés, on présente dans la suite quelques références en technologie TTL.

a. Compteur intégré 74LS90 :

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 :

Table de fonctionnement du circuit 74LS90

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.

b. Compteur intégré 74LS92 :

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

L’extrait du schéma constructeur est donné ci-dessous :

c. Compteur intégré 74LS93 :

C’est une module structure complétement asynchrone composé d’un modulo 2 et un


modulo 8, montée en cascade ces deux structures réalisent un compteur hexadécimal.

La table de fonctionnement des 2 circuits précédents est :

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

CLK Q CLK Q CLK Q CLK Q


1

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

Exemple de décalage à droite

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

CLK Q CLK Q CLK Q CLK Q


1

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 :

Généralement on utilise des bascules du type maître-esclave D ou R-S.


Entrée série - Sortie parallèle
La figure suivante donne un exemple de registre de 4 bits à une entrée série et des sorties
parallèles réalisé avec des bascules D.

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

CLK Q CLK Q CLK Q CLK Q


1

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é.

Registre à entrée parallèle sortie série


Un registre à décalage avec entrées parallèle et sortie série transforme un codage spatial en
codage temporel.
Entrée parallèle - Sortie parallèle
La figure suivante présente un exemple de registre à décalage avec entrées série et parallèle
et sorties série et parallèle réalisé avec des bascules de type D.

Registre à entrée parallèle Sortie parallèle


La commande permet de sélectionner le mode de chargement et d'inhiber le signal d'horloge
en cas de chargement parallèle. Si X = 0 nous avons Pr = Cr = 1, ce qui garantit le

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 :

Registre à décalage à droite et à gauche


La dernière figure présente un exemple de registre à décalage universel de 4 bits. Les
diverses possibilités sont sélectionnées par les lignes commande S0 et S1. Considérons la ligne
transportant le signal d'horloge aux bascules, elle est gouvernée par l'expression logique :

Le signal d'horloge sera donc inhibé si S0 = S1 = 0.


Pour sélectionner le chargement parallèle (entrées A, B, C et D) il faut :

C'est-à-dire S0 = S1 = 1. Le chargement se fera sur un signal d'horloge.


Pour sélectionner le décalage à droite (entrée E1, sortie QD) il nous faut S0 = 1 et S1 = 0 et
pour le décalage à gauche (entrée E0, sortie QA) S0 = 0 et S1 = 1. Ce que nous pouvons résumer
dans le tableau suivant :
S0 S1 Fonction
0 0 Registre bloqué
0 1 Décalage à gauche
1 0 Décalage à droite
1 1 Chargement parallèle
Un registre à décalage à droite et à gauche permet d'effectuer des multiplications et
des divisions entières par des puissances de 2. En effet une multiplication par 2 est équivalente
à un décalage vers la gauche et une division par 2 à un décalage vers la droite. Une
multiplication par 2n sera obtenue par n décalages à gauche et une division par 2n par n
décalages à droite.

A. FAKKAR 78
Logique combinatoire et séquentielle

Registre intégré

Registre en circuit intégré


Le SN74LS95 est un registre à décalage synchrone de 4 bits avec entrées série et parallèle.
Les modes entrée série et parallèle sont activés par deux horloges séparés qui sont sélectionnés
par une commande du choix de mode de fonctionnement. Les données sont transférées vers les
sorties (entrées série ou parallèle) sur front descendant de l’horloge.

Le schéma interne du registre 74LS95

A. FAKKAR 79
Logique combinatoire et séquentielle

Table de fonctionnement du registre 74LS95


Le SN74LS194 est un registre à décalage 4 bits, universel, bidirectionnel et très rapide. Il a
une grande variété d'applications. Il peut être utilisé en entrée série sortie série avec décalage à
droite et décalage à gauche, chargement parallèle sortie série, chargement parallèle sortie
parallèle et entrée série sortie parallèle.

Le schéma interne du registre 74LS94

Table de fonctionnement du registre 74LS94

A. FAKKAR 80

Vous aimerez peut-être aussi