Vous êtes sur la page 1sur 54

Département Génie Electrique

Filière : G.I.M S2
Module : Electronique Numérique /API
Élément du module : Electronique Numérique

Chapitre 1 : Logique combinatoire


Chapitre 2 : Logique séquentielle

Pr. Abdelhafid YAHYA

1 Pr. A. Yahya
Logique combinatoire
1 Principe : ...................................................................................................................................................................... 4
1.1 Définitions : .......................................................................................................................................................... 4
1.2 Généralisation : .................................................................................................................................................... 4
2 Systèmes de numération binaires et hexadécimal (les bases 2 et 16) ........................................................................ 4
3 Conversions de bases ................................................................................................................................................... 5
4 Opérations arithmétiques en binaire : ......................................................................................................................... 6
4.1 L'addition :............................................................................................................................................................ 6
4.2 La soustraction : ................................................................................................................................................... 6
4.3 Multiplication ....................................................................................................................................................... 6
4.4 Division ................................................................................................................................................................. 7
5 Codage des nombres (dans les systèmes programmés) .............................................................................................. 7
5.1 Représentation des nombres entiers :................................................................................................................. 7
5.2 Représentation des nombres signés : .................................................................................................................. 8
6 Codage ....................................................................................................................................................................... 10
6.1 Notion de codage ............................................................................................................................................... 10
6.2 Les codes numériques : ...................................................................................................................................... 10
6.3 Détecteurs et correcteurs d'erreurs .................................................................................................................. 12
6.4 Codage ASCII (American Standard Code for Information Interchange) ............................................................ 13
7 Circuits combinatoires ............................................................................................................................................... 15
7.1 Introduction et définition .................................................................................................................................. 15
7.2 Algèbre de Boole ................................................................................................................................................ 15
7.3 Simplification et réalisation des fonctions logiques .......................................................................................... 18
8 Circuit logiques combinatoires .................................................................................................................................. 22
8.1 Circuits de transcodage (codeurs, décodeurs, convertisseurs) ......................................................................... 22
8.2 Additionneur ...................................................................................................................................................... 23
8.3 Multiplexeur ....................................................................................................................................................... 24
8.4 Démultiplexeur .................................................................................................................................................. 25
8.5 Le comparateur .................................................................................................................................................. 26
8.6 Décodeur d'adresse ........................................................................................................................................... 26
8.7 Réalisation d’une fonction logique combinatoire .............................................................................................. 27

2 Pr. A. Yahya
Logique se quentielle
9 Introduction ............................................................................................................................................................... 29
9.1 Le point mémoire élémentaire : le bistable ....................................................................................................... 29
9.2 Latch (Verrou) RS ............................................................................................................................................... 30
10 BASCULES ............................................................................................................................................................... 32
10.1 Bascule RSH (flip-flop en anglais) ....................................................................................................................... 32
10.2 Bascule D ............................................................................................................................................................ 32
10.3 Bascule JK ........................................................................................................................................................... 34
10.4 Bascule T ............................................................................................................................................................ 35
11 Les compteurs/décompteurs ................................................................................................................................. 35
11.1 Structure générale d’un compteur modulo 2n ................................................................................................... 35
11.2 Compteurs asynchrones .................................................................................................................................... 36
11.3 Décompteur asynchrone.................................................................................................................................... 37
11.4 Compteurs synchrones ...................................................................................................................................... 37
11.5 Compteurs intégrés............................................................................................................................................ 38
12 Registres ................................................................................................................................................................. 41
12.1 Structure générale : ........................................................................................................................................... 41
12.2 Mode de fonctionnement .................................................................................................................................. 41
12.3 Synthèse de registre à décalage à partir de bascule.......................................................................................... 42
12.4 Registres intégrés et universels ......................................................................................................................... 42

Travaux Dirige s

13 TD n°1 Logique Combinatoire ................................................................................................................................ 45


14 TD n°2 : Logique Séquentielle ................................................................................................................................. 48

3 Pr. A. Yahya
Logique combinatoire

1 Principe :

1.1 Définitions :
La numération représente un nombre par la juxtaposition de symboles appelés chiffres, pris
parmi un ensemble. Par exemple, dans le système décimal (Base 10), cet ensemble contient 10
symboles différents : {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Le nombre de symboles définit la base de numération ; et la position respective des chiffres
détermine leurs poids.
2021 = 2 × 1000 + 0 × 100 + 2 × 10 + 1 × 1
2021 = 2 × 103 + 0 × 102 + 2 × 101 + 1 × 100
1 1
3.14 = 3 × 1 + 1 × +4×
10 100
3.14 = 3 × 10 + 1 × 10 + 4 × 10−2
1 −1

1.2 Généralisation :
Soit une base 𝒃, associée à 𝒃 symboles : {𝑆0 , 𝑆1 , . . . 𝑆𝑏−1 }. Un nombre 𝑁 s'écrit alors avec la règle
suivante : 𝑁 = (𝑎𝑛∙ 𝑎𝑛−1 ⋯ 𝑎0 , 𝑎−1 ⋯ 𝑎−𝑚 )𝑏 avec 𝑎𝑖 ∈ {𝑆0 , S1 , . . . Sb−1 }
Ce nombre s'écrit sous forme polynomiale :
𝑁 = 𝑎𝑛∙ 𝑏 𝑛 + 𝑎𝑛−1∙ 𝑏 𝑛−1 + ⋯ + 𝑎0∙ 𝑏 0 + 𝑎−1∙ 𝑏 −1 + ⋯ + 𝑎−𝑚∙ 𝑏 −𝑚
𝑛

𝑁 = ∑ 𝑎𝑖 × 𝑏 𝑖
𝑖=−𝑚
Où :
ai est le chiffre (digit) de rang 𝒊, son poids est 𝑏 𝑖 .
an est le chiffre le plus significatif (M.S.B.).
a-m est le chiffre le moins significatif (L.S.B.).
an ... a0 représente la partie entière.
a-1 ... a-m représente la partie fractionnaire.

2 Systèmes de numération binaires et hexadécimal (les bases 2 et 16)

La base 2 est la base la plus utilisée en électronique. On dispose de 2 symboles {0, 1} appelés bits.
(101)2 = 1 × 22 + 0 × 21 + 1 × 20 = (5)10
(1010,1)2 = 1 ⋅ 23 + 0 ⋅ 22 + 1 ⋅ 21 + 0 ⋅ 20 + 1 ⋅ 2−1 = (10,5)10
La base 16 (hexadécimal) est la base la plus utilisée en logique programmée. On dispose de 16
symboles :
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}.
(𝐴𝐵8)16 = 𝐴 ⋅ 162 + 𝐵 ⋅ 161 + 8 ⋅ 160 = 10 ⋅ 162 + 11 ⋅ 161 + 8 ⋅ 160 = (2744)10
(𝐵48𝐸, 𝐶)16 = 𝐵 × 163 + 4 ⋅ 162 + 8 ⋅ 161 + 𝐸 ⋅ 160 + 𝐶 ⋅ 16−1
= 11 ⋅ 4096 + 4 ⋅ 256 + 8 ⋅ 16 + 14 ⋅ 1 + 12 ⋅ 0.0625 = (46222 ⋅ 75)10

4 Pr. A. Yahya
3 Conversions de bases
1) Passage de la base b à la base 10 :
C'est l'exploitation directe de la forme polynomiale :
𝑁 = 𝑎𝑛∙ 𝑏 𝑛 + 𝑎𝑛−1∙ 𝑏 𝑛−1 + ⋯ + 𝑎0∙ 𝑏 0 + 𝑎−1∙ 𝑏 −1 + ⋯ + 𝑎−𝑚∙ 𝑏 −𝑚
2) Passage de la base 10 à la base b :
• Conversion par divisions successives :
On divise le nombre décimal par b jusqu'à 0, et on ne prend que les restes en remontant.
23 2

1 11 2 (23)10=(10111)2

1 5 2

1 2 2

0 1 2

1 0
(625)10 = (1161)8 (4592)10 = (11𝐹0)16
;

Pour les nombres à virgule, on fait la partie entière avec la méthode précédente et la partie
fractionnaire que l'on multiplie par 𝒃, et on ne garde que la partie entière et l'on recommence avec la
partie décimale. Et on lit le nombre binaire dans l'ordre.
(23,375)10 = (? )2
0,375 × 2 = 0,75 → 0
0,75 × 2 = 1,50 → 1 } ⇒ 0,37510 = 0,0112 ⇒ (23,375)10 = (10111,011)2
0,50 × 2 = 1,00 → 1
3) Passage de la base 𝒃 à la base 𝒃𝒌 :
Il suffit de regrouper les bits du nombre par paquets de 𝒌 bits.
a) Passage de la base 2 à la base 𝟖 = 𝟐𝟑
N= (0101111101 01,011010 )2
N= (010
⏟ 111
⏟ 110
⏟⏟ 1 01 , 011
⏟ 010
⏟)2 ⇒ N = (2765,32)8
2 7 6 5 3 2

b) Passage de la base 2 à la base 𝟏𝟔 = 𝟐𝟒


N= (0101111101 01,011010 )2
N= (0101
⏟ 1111
⏟⏟ 01 01 , 0110
⏟ 1000
⏟ )2 ⇒ N = (5F5,68)16
5 𝐹 5 6 8

c) Passage de la base 𝒃𝒌 vers la base 2 :


Le même principe, mais utilisé en sens inverse, permet les conversions dans l'autre sens.
𝑁8 = 2456 𝑁16 = FA830
2 4 5 6 𝐹 𝐴 8 3 0
⏞ 100
𝑁2 = (010 ⏞ 101
⏞ 110
⏞) ⏞
𝑁2 = (1111 ⏞ 1000
1010 ⏞ 0011
⏞ 0000
⏞)
𝑁2 = (010100101110) 𝑁2 = (11111010100000110000)

5 Pr. A. Yahya
4 Opérations arithmétiques en binaire :

4.1 L'addition :
Quand on additionne deux nombres binaires, on obtient une retenue quand la somme d'une
colonne est supérieure ou égale à 210.
• Table d'addition
a b a+b
0 0 0
0 1 1
1 0 1
1 1 0 avec une retenue de 1
• Exemples

4.2 La soustraction :
On effectue la soustraction de la même manière qu'en décimal, si le chiffre à soustraire est plus
grand, on augmente le chiffre que l'on soustrait de 10, que l'on retranchera dans la colonne suivante.
• Table d'addition
a b a-b
0 0 0
0 1 1 avec une retenue de 1
1 0 1
1 1 0

• Exemples

4.3 Multiplication
La table de multiplication en binaire est très simple :
A B C
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1
Exemple :
0101  multiplicande → 5
× 0 0 1 ,1  multiplieur → × 1.5
0101
0101=
0000==
0 1 1 1,1 = 7.5

6 Pr. A. Yahya
Remarque :
La multiplication binaire par 2𝑁 se résume à un décalage de 𝑁 bits vers la gauche. On introduira donc à droite
𝑁 zéro.
Exemple :
8 × 4 sur 8 bits :
0 0 0 0 1 0 0 0 ⟹ 0 0 1 0 0 0 0 0 ← 0

−16 × 4 sur 8 bits :


1 1 1 1 0 0 0 0 ⟹ 1 1 0 0 0 0 0 0 ← 0

4.4 Division
La table de division binaire est la suivante :
A B C
0 / 0 = impossible
0 / 1 = 0
1 / 0 = impossible
1 / 1 = 1
La division binaire s’effectue à l’aide de soustractions et de décalages, comme la division décimale, sauf que
les digits du quotient ne peuvent être que 1 ou 0. Le bit du quotient est 1 si on peut soustraire le diviseur, sinon
il est 0.

Exemple :
Division du nombre (10010000111)2 par (1011)2 = (1101001)2 reste (100)2 , c’est-à-dire 1159/11 = 105,
reste 4.

1 0 0 1 0 0 0 0 1 1 1 1 0 1 1

- 1 0 1 1 1 1 0 1 0 0 1
0 1 1 1 0
- 1 0 1 1
0 0 1 1 0 0
- 1 0 1 1
0 0 0 1 1 1 1
- 1 0 1 1
0 1 0 0

5 Codage des nombres (dans les systèmes programmés)

5.1 Représentation des nombres entiers :


Le codage s'effectue en binaire naturel. Il faut définir le format pour avoir la plage de valeurs avec
laquelle on veut travailler :
sur 8 bits: sur 16 bits:
𝑁 = (𝑎7 𝑎6 𝑎5 𝑎4 𝑎3 𝑎2 𝑎1 𝑎0 )2 𝑁
𝑁 = ∑7𝑖=0 𝑎𝑖 ⋅ 2𝑖 avec 𝑎𝑖 ∈ {0,1} = (𝑎15 𝑎14 𝑎13 𝑎12 𝑎11 𝑎10 𝑎9 𝑎8 𝑎7 𝑎6 𝑎5 𝑎4 𝑎3 𝑎2 𝑎1 𝑎0 )2

0 ≤ 𝑁10 ≤ 255 𝑁 = ∑15 𝑖


𝑖=0 𝑎𝑖 ⋅ 2 avec 𝑎𝑖 ∈ {0,1}

0 ≤ 𝑁10 ≤ 65535

7 Pr. A. Yahya
5.2 Représentation des nombres signés :
Le codage binaire s'effectue en complément à 2, et le M.S.B. représente le signe : (0 <=> positif ; 1
<=> négatif)
La représentation en complément à 2 est la représentation la plus courante car c'est celle que les
microprocesseurs utilisent.

5.2.1 Complément à 1 (complément restreint):

Le complément restreint :
(
CR ( N ) = 2 F − 1 )10
− N10
avec
(2 F
)
−1
est le plus grand nombre que l'on
puisse représenter avec le format de 𝑭 bits.
Il s'obtient donc en inversant chaque bit de 𝑁2 sans oublier le bit de poids fort (signe).
N10 = (14)10 alors en base 2 N2 = (00001110)2
−𝑁2 = 𝑁 ̅̅̅̅
̅̅̅2̅ = 11110001 et N2 = 00001110 = N2
Exemple :
Si 𝐹 = 8 et 𝑏 = 2 𝐶 = 256. Alors 𝑁max = (127)10 = (7F)𝐻
· Si 𝐵10 =75, alors -75 = C𝑅 (𝐵) = 255 -75 = 180 et 𝐴10 = 100 alors dans ce cas
A – B = (100-75)=100+180 , c'est égal à 255+25=25 résultat positif.
·(-75)10 = (01001011)2; (-75)10 = (10110100)2 = 𝑁2 .
Remarque :
- Il y a deux représentations du zéro +0 : (00)ℎ et - 0 : (FF)ℎ .

5.2.2 Complément à 2 (complément vrai) :


On le définit comme étant la valeur : 𝐶𝑣 (𝑁) = (2𝐹 )10 − 𝑁10 = 𝐶𝑅 (𝑁) + 1

Pour obtenir le complément à 2, il suffit d'ajouter 1 au complément à 1.

N10 = 1410 alors en base 2 : N2 = 00001110


̅̅̅̅
N2 = 11110001 ; N ̅̅̅̅2 + 1 = 11110010
On peut donc utiliser cette méthode pour obtenir des nombres signés. Le M.S.B. est toujours
représentatif du signe.
Si on travaille sur n+1 bits, alors on pourra représenter un nombre N tel que : −2𝑛 ≤ 𝑁 ≤ 2𝑛 − 1

Exemple : n=3 alors −8 ≤ N ≤ 7


0 0000 -1 1111
1 0001 -2 1110
2 0010 -3 1101
3 0011 -4 1100
4 0100 -5 1011
5 0101 -6 1010
6 0110 -7 1001
7 0111 -8 1000
Exemples : N10 = 75 → N2 = (01001011)
N10 = -75 → (10110101)2
100 01100100 01100100

8 Pr. A. Yahya
-75 -01001011 +10110101
25 00011001 1 00011001 lecture directe du résultat

50 00110010 00110010
-75 -01001011 +10110101
-25 11100111 11100111 le résultat est en complément à deux : 256-231=25
Remarque :
1) Pour effectuer une soustraction, il suffit de faire une addition avec le complément à deux. Le
résultat se lit directement en complément à deux :
- si le signe est + la lecture est directe,
- si le signe est (-) on converti le résultat en recherchant le complément à deux de celui-ci.
2) Il existe une autre méthode pour obtenir le complément vrai. On examine le nombre binaire en
commençant par le bit de poids faible. On conserve les zéros s'il y en a jusque et y compris le
premier 1 rencontré. On complémente ensuite les autres bits.

5.2.3 Représentation des nombres fractionnaires.


Norme ANSI IEEE standard 754 pour la représentation des réels

5.2.3.1 Simple précision.

Type float du langage C (compilateur 16 bits sur IBM PC).


valeur : (−𝟏)𝒔𝒊𝒈𝒏 × (𝟏, 𝑴𝟐𝟐 . 𝑴𝟎 ) × 𝟐(𝑬−𝟏𝟐𝟕)
31 22 0

S E M

signe Exposant biaisé ( 8 bits) Mantisse (23 bits)

S E E E E E E E E M M M M M M M M M M M M M M M M M M M M M M M

0 1 8 9 31

La norme IEEE754 permet de représenter certaines valeurs spéciales lorsque E vaut 0 ou 255.

La valeur V représentée par le mot peut être déterminée comme suit :


Si E = 255 et M est non nul, alors V = NaN ("Pas un nombre")
Si E =255 et M est nul et 𝑆 = 1, alors 𝑉 = −∞
Si E =255 et M est nul et 𝑆 = 0, alors 𝑉 = +∞
Si 0 <E <255 puis 𝑉 = (−1) 𝑆 ∗ 2(𝐸−127) ∗ (1, 𝑀) où "1, 𝑀" est destiné à représenter le nombre
binaire créé en préfixant 𝑀 avec un leader implicite 1 et un point binaire.
Si E =0 et M est non nulle, alors 𝑉 = (−1)𝑆 ∗ 2(−126) ∗ (0. 𝑀) Ce sont des "valeurs" non
normalisées.
Si 𝐸 = 0 et 𝑀 = 0 et que 𝑆 = 1, alors 𝑉 = −0
9 Pr. A. Yahya
Si 𝐸 = 0 et 𝑀 = 0 et que 𝑆 = 0, alors 𝑉 = 0
Exemples:

0 10000000 00000000000000000000000 = +1 * 2**(128-127) * 1.0 = 2

0 10000001 10100000000000000000000 = +1 * 2**(129-127) * 1.101 = 6.5

1 10000001 10100000000000000000000 = -1 * 2**(129-127) * 1.101 = -6.5

5.2.3.2 Double précision.

Type double du langage C.


Valeur : (−1)𝑠𝑖𝑔𝑛 × (1, 𝑀51 . . . . . . . . . 𝑀0 ) × 2(𝐸−1023)

63 51 0

S E M

signe Exposant biaisé ( Mantisse (52 bits)


11 bits)

6 Codage

6.1 Notion de codage


Un dispositif logique ou numérique est destiné à manipuler des informations diverses qui doivent
être traduites par un ensemble de 0 et 1, obtenu suivant une loi de correspondance préétablie : c’est
l’opération de codage de l’information.

Codage (loi de correspondance)


Information {Configuration binaire}

Exemples de codes:

* Code ASCII : chaque touche du clavier est codée sur 8 bits, donc on peut coder 256 caractères.
Exemple: Touche ‘A’ ==> code ASCII « 01000001 » ??
* Code DCB (Décimal Codée en Binaire) : utilisé uniquement pour les chiffres décimaux. Ce code est
obtenu en remplaçant individuellement chacun des chiffres du nombre à représenter par son
équivalent binaire pur.
Exemple : (2458)10 = (0010 0100 0101 1000)𝐷𝐶𝐵
- Avantages : Représentation plus simple et très utile pour les systèmes d’affichage à 7 segments.
- Inconvénient : nécessite plus de bits.

6.2 Les codes numériques :


Les codes binaires :

10 Pr. A. Yahya
6.2.1 Code binaire naturel ou base 2
Voir (Numérisation S1)

6.2.2 Code binaire réfléchi ou GRAY


Ce code est utilisé lors d'un comptage réalisé par des capteurs. Car lors du passage d'un nombre au
suivant, il n'y a qu'un seul chiffre qui change à la fois. Ce qui évite les erreurs de comptage.
Décimal Gray « Binaire réfléchi »
0 0 0 0 0
1 0 0 0 1
2 0 0 1 1
3 0 0 1 0
4 0 1 1 0
5 0 1 1 1
6 0 1 0 1
7 0 1 0 0
8 1 1 0 0
9 1 1 0 1
10 1 1 1 1
11 1 1 1 0
12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0
Pour passer d'un nombre binaire à son équivalent en GRAY, on peut utiliser la formule suivante :
𝑁2 ⊕ (2 ⋅ 𝑁2 )
𝑛𝐺𝑅𝐴𝑌 =
2
(432)10 = (110110000)2 = (101101000)𝐺𝑅𝐴𝑌
Exemple :
a. Code BCD
Il s'agit de coder en binaire chacun des chiffres décimaux. Son utilisation est fréquente lorsque l'on
compte des événements et que l'on visualise le comptage. Le compteur est constitué de décades de 4
bits, et le contenu de chaque compteur est directement affiché en clair
Décimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 00010000
11 00010001
12 00010010
13 00010011
14 00010100
15 00010101

11 Pr. A. Yahya
Avantage : facilité de conversion
Inconvénients :
− Toutes les combinaisons ne sont pas utilisées ; − Code pondéré de façon non linéaire.

6.3 Détecteurs et correcteurs d'erreurs


Ces codes sont utilisés pour contrôler la transmission des données.

Souvent, on utilise un nombre de bits supérieur à celui strictement nécessaire pour coder
l’information elle-même.

6.3.1 Les codes P parmi n


Ce sont des codes auto-vérificateurs (détecteurs d’erreurs mais pas auto-correcteurs).

Ces codes possèdent 𝑛 bits dont 𝑃 sont à 1 ; la position des « 1 » permet de reconnaître un élément
codé.

Exemple :

Pour transmettre l’information numérique dans les centraux téléphoniques (cross bar), on utilise un
code 2 parmi 5 (ou code 74210) pour représenter les chiffres décimaux.

Il existe 10 combinaisons :

Décimal 2 parmi 5
1 00011
2 00101
3 00110
4 01001
5 01010
6 01100
7 10001
8 10010
9 10100
0 11000

6.3.2 Les codes à contrôle de parité


Dans ces codes, on ajoute un e.b. de sorte que l’ensemble des bits à transmettre (ou le mot) ait un
nombre pair (parité paire) ou impaire (parité impaire) de « 1 ».
Exemple :
0101 → 𝟎 0101
0111 → 𝟏 0111
Remarque :
Dans l’application de la méthode de la parité, l’émetteur et le récepteur se mettent d’accord à l’avance sur la
parité à surveiller (paire ou impaire).
12 Pr. A. Yahya
Remarque :
Pour détecter la place d’un e.b. faux, il faut coder dans 2 dimensions selon les lignes et les colonnes.
Exemple :
0 1 0 0 1 0 1 0 0 1
1 0 0 1 0 ⟶ 1 0 0 0 0
0 0 0 1 1 transmission 0 0 0 1 1
1 1 1 0 1 1 1 1 0 1
0 0 1 0 1 0 0 1 0 1

Ce code détecte les erreurs simples à condition que l’e.b. de parité ne soit pas erroné.

6.4 Codage ASCII (American Standard Code for Information Interchange)


Un fichier contient une représentation de données. Par exemple un fichier peut contenir une
représentation d'un texte (mais aussi d'une image, d'un son ...). Bien souvent on dit plus simplement
que le fichier contient le texte.
Le contenu du fichier n'est lui-même qu'une suite de 0 et de 1, des bits. On choisit donc de coder
chacune des lettres, plus généralement chacun des caractères, par une représentation binaire.
Historiquement, le codage ASCII a été défini et utilisé pour écrire des textes en anglais.
La table ASCII fournit la correspondance entre 128 caractères et leur représentation binaire. Les
caractères sont numérotés de 0 à 127. A priori, 7 bits suffisent à coder ces caractères, en effet 128 = 27.
En pratique, les ordinateurs travaillent presque tous sur des multiples de 8 bits, ce que l'on nomme
octet. Chacun des 128 caractères ASCII est donc codé par un octet dont le 8ème bit est à 0.
Un caractère peut être une lettre, un chiffre, une ponctuation, tout autre symbole accessible via les
touches de votre clavier, etc.
Table des caractères ASCII

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
0001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
0010 SP ! " # $ % & ' ( ) * + , - . /
0011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
0100 @ A B C D E F G H I J K L M N O
0101 P Q R S T U V W X Y Z [ \ ] ^ _
0110 ` a b c d e f g h i j k l m n o
0111 p q r s t u v w x y z { | } ~ DEL

13 Pr. A. Yahya
La représentation binaire du caractère ′𝒂′ est '0110_0001' (7e ligne, 2e colonne).
Le caractère de représentation binaire ′0111_1010′ est ′𝒛′ (′0111′ 8e ligne, ′1010′ 11e colonne)
On remarque que certains caractères de la table ASCII sont des caractères dits de contrôle, ils ne sont
pas imprimables ou ne peuvent pas être affichés.)

Note : les 33 caractères de contrôle (deux premières lignes et caractère DEL) correspondent aux
significations suivantes :
NUL Null (nul)
SOH Start of Header (debut d'en-tete)
STX Start of Text (debut du texte)
ETX End of Text (fin du texte)
EOT End of Transmission (fin de transmission)
ENQ Enquiry (End of Line) (demande, fin de ligne)
ACK Acknowledge (accuse de reception)
BEL Bell (caractere d'appel)
BS Backspace (espacement arriere)
HT Horizontal Tab (tabulation horizontale)
LF Line Feed (saut de ligne)
VT Vertical Tab (tabulation verticale)
FF Form Feed (saut de page)
CR Carriage Return (retour chariot)
SO Shift Out (fin d'extension)
SI Shift In (démarrage d'extension)
DLE Data Link Escape
DC1-DC4 Device Control (contrôle de périphérique)
NAK Negative Acknowledge (accuse de réception négatif)
SYN Synchronous Idle
ETB End of Transmission Block (fin du bloc de transmission)
CAN Cancel (annulation)
EM End of Medium (fin de support)
SUB Substitute (substitution)
ESC Escape (echappement)
FS File Separator (separateur de fichier)
GS Group Separator (separateur de groupe)
RS Record Separator (separateur d'enregistrement)
US Unit Separator (separateur d'unite)
SP Space (espace)
DEL Delete (effacement)

14 Pr. A. Yahya
Application :
Donnez la représentation binaire ASCII du texte suivant :
Je code en binaire !
0100101001100101 0010000001100011 0110111101100100 0110010100100000 0110010101101110 0010000001100010
0110100101101110 0110000101101001 0111001001100101 0010000000100001

7 Circuits combinatoires

7.1 Introduction et définition


• Une variable logique (dite booléenne) ne peut prendre que 2 valeurs O ou 1. Elle peut être utilisée
pour représenter une proposition ou l’état d’un objet (vrai ou faux, niveaux haut 5V et bas 0V en
électronique numérique, présent ou absent, tout ou rien).

• Un système logique combinatoire est un dispositif qui possède un nombre d’entrées logiques
(binaires) n donné, soit e1, e2, ..., en et on suppose, pour simplifier, qu’il dispose d’une sortie s
unique, binaire elle aussi, qui peut être considérée comme une fonction des variables logiques
d’entrée : S = f (e1,e2,. . . ,en)
𝑒1
𝑒2
. SLC 𝑆 = 𝑓(𝑒1 , 𝑒2 , … , 𝑒𝑛 )
.
.
𝑒𝑛

L’ensemble (e1,e2,. . . ,en) est appelé combinaison d’entrée du système. On utilise également parfois le
terme de vecteur d’entrée.

7.2 Algèbre de Boole

7.2.1 Description des circuits logiques : Notion de table de vérité


Tout circuit logique peut être décrit par des fonctions logiques et/ou une table de vérité, et être
réalisé à partir des opérateurs logiques élémentaires.
Pour les systèmes comportant un nombre réduit d’entrées, il est relativement facile d’établir la liste
exhaustive de toutes les combinaisons d’entrée possibles et, pour chacune d’entre elles, de préciser la
valeur de la fonction logique réalisée par le système. On présente alors ces résultats dans un tableau
appelé table de vérité. Dans le cas d’un système à 3 entrées, il y a 8 combinaisons possibles à l’entrée
(23) que l’on peut représenter par les nombres binaires ordonnés de 000 à 111.
Exemple
A B C S
0 0 0 0
Si la sortie s prend la valeur 1 lorsqu’au moins 0 0 1 0
deux des variables d’entrées sont égales à 1, il 0 1 0 0
suffit de placer la valeur 1 sur chaque ligne 0 1 1 1
1 0 0 0
correspondante et 0 partout ailleurs. 1 0 1 1
1 1 0 1
1 1 1 1
15 Pr. A. Yahya
Un logigramme est un schéma illustrant l’expression d’une fonction logique sans tenir compte des
constituants technologiques
Exemple : 𝑆 = 𝐵𝐶 + 𝐴. (𝐵⨁𝐶)

S
B
C

7.2.2 Algèbre de Boole


Définition
Définition :
L’algèbre de Boole est l’ensemble B = {0 ; 1} muni de la loi « OU » notée « x + y », de la loi « ET » notée
« x.y » et de la négation « NON » notée « 𝑥̅ », où x et y sont deux éléments de l’ensemble B. Les
éléments 0 et 1 de B peuvent être appelés vrai ou faux, oui ou non.
Ces lois sont définies par :
x. y = 1 si et seulement si x = 1 et y = 1.
x +y = 1 si et seulement si l’une au moins des deux variables vaut 1.
x=1 si et seulement si x = 0 et réciproquement (lire « x barre »).

a b S=a+b a b S=a .b a S=𝑎̅


0 0 0 0 0 0 0 1
0 1 1 0 1 0 1 0
1 0 1 négation
1 0 0
1 1 1
1 1 1
loi OU
loi ET

16 Pr. A. Yahya
7.2.3 Les opérateurs logiques de base

7.2.4 Règles de l’algèbre de Boole


Propriétés Sommes Produits
Commutativité 𝑎 + 𝑏= 𝑏 + 𝑎 𝑎. 𝑏 = 𝑏. 𝑎
Associativité 𝑎 + (𝑏 + 𝑐) = (𝑎 + 𝑏) + 𝑐 𝑎. (𝑏. 𝑐) = (𝑎. 𝑏). 𝑐
Distributivité 𝑎 + (𝑏 . 𝑐) = (𝑎 + 𝑏). (𝑎 + 𝑐) 𝑎. (𝑏 + 𝑐) = (𝑎. 𝑏) + (𝑎. 𝑐)
Éléments neutres 𝑎+0=𝑎 𝑎. 1 = 𝑎
Complémentation 𝑎̅ + 𝑎 = 1 𝑎̅. 𝑎 = 0
Idempotence 𝑎+𝑎 =𝑎 𝑎. 𝑎 = 𝑎
Absorption 𝑎 + 𝑎. 𝑏 = 𝑎 𝑎. (𝑎 + 𝑏) = 𝑎
Éléments absorbants 𝑎+1=1 𝑎. 𝑂 = 0
Théorème de De Morgan ̅̅̅̅̅̅̅
𝑎 + 𝑏 = 𝑎̅. 𝑏̅ ̅̅̅̅̅
𝑎. 𝑏 = 𝑎̅ + 𝑏̅
Double complémentation 𝑎̿ = 𝑎

17 Pr. A. Yahya
Universalité des portes NON-ET et des portes NON-OU :
Toutes les portes logiques élémentaires (ET, OU, NON) peuvent être réalisées avec des portes
NON-OU ou NON-ET.
Famille des circuits logiques
– TTL (Transistor-Transistor Logic) !le plus populaire (54xx, 74xx) ;
– ECL (Emitter-Coupled Logic) !pour des circuits rapides (10xxx) ;
– MOS (Metal Oxyd Semiconductor) !haute intégration ;
– CMOS (Complementary Metal Oxyd Semiconductor) !faible consom. (40xx) ;
– I2L (Integrated Injection Logic) ! haute intégration.
Certains fonctionnent en logique positive, d’autres en logique négative.

7.3 Simplification et réalisation des fonctions logiques

7.3.1 Simplification par application des règles de l’algèbre de Boole


Elle consiste à utiliser les propriétés précédentes pour réduire le nombre d’opérateurs.
𝑆1 = 𝑎. 𝑏 + 𝑎̅. 𝑏. 𝑐̅. +𝑏. 𝑐 = 𝑏. (𝑎 + 𝑎̅. 𝑐̅ + 𝑐) = 𝑏. (𝑎 + 𝑐̅ + 𝑐) = 𝑏. (𝑎 + 1) = 𝑏
𝑆 = 𝑎 + 𝑏̅. 𝑐 + (𝑎. 𝑑 + 𝑐). ̅̅̅̅̅̅̅̅̅̅
2 𝑎 + 𝑏̅ . 𝑐 = 𝑋 + 𝑌. 𝑋̅ en posant 𝑋 = 𝑎 + 𝑏̅. 𝑐 𝑒𝑡 𝑌 = 𝑎. 𝑑 + 𝑐
𝑆2 = 𝑋 + 𝑌 = 𝑎 + 𝑏̅. 𝑐 + 𝑎. 𝑑 + 𝑐 = 𝑎 + 𝑎. 𝑑 + 𝑐 + 𝑐. 𝑏̅ = 𝑎 + 𝑐

7.3.2 Simplification à l’aide du tableau de Karnaugh


Le tableau de Karnaugh permet de simplifier rapidement les équations logiques. C’est un tableau à double
entrée ; les combinaisons des variables d’entrée doivent être organisées suivant une organisation en code
binaire réfléchi (code GRAY). Dans le code GRAY, il n’y a qu’une seule variable qui change d’état à chaque
ligne.
Code GRAY N Code bin. naturel
0 0 0 0 0 0 0 0 0
0 0 0 1 1 0 0 0 1
0 0 1 1 2 0 0 1 0
0 0 1 0 3 0 0 1 1
0 1 1 0 4 0 1 0 0
0 1 1 1 5 0 1 0 1
0 1 0 1 6 0 1 1 0
0 1 0 0 7 0 1 1 1
1 1 0 0 8 1 0 0 0
1 1 0 1 9 1 0 0 1
1 1 1 1 10 1 0 1 0
1 1 1 0 11 1 0 1 1
1 0 1 0 12 1 1 0 0
1 0 1 1 13 1 1 0 1
1 0 0 1 14 1 1 1 0
1 0 0 0 15 1 1 1 1
Exemples

S3 ab
00 01 11 10
S1 a S2 ab
00
0 1 00 01 11 10
01
0 c 0
cd 11
b 1 1
10
Système à 2 variables Système à 3 variables
Système à 4 variables

18 Pr. A. Yahya
Remarque :

Les tableaux de Karnaugh se présentent comme des cylindres fermés dans les deux sens.

7.3.2.1 Compléter le tableau de Karnaugh à partir d’une équation logique


▪ Equation logique sous forme d’une somme de produits (forme disjonctive)

S ab
S = abc
{ + abc
{ + abc
{ + abc
{ 00 01 11 10
=1 =1 =1 =1
si a=1 si a=1 si a=0 si a=1 c 0 0 0 1 0
et b=1 et b=0 et b=1 et b=1
et c=0 et c=1 et c=1 et c=1 1 0 1 1 1

𝑆 = 1 si un des produits qui compose l’équation est égal à 1


▪ Equation logique s’exprime sous forme d’un produit de sommes (forme conjonctive)

S ab
a + b)g(1
S = ({ a4
+24 c)g({
b +3 a + c) 00 01 11 10
=0 =0 =0
si a=0 si a=1 si a=0 c 0 0 0 1 1
et b=0 et b=1 et c=0 1 0 1 0 1
et c=1

𝑆 = 0 si une des sommes qui compose l’équation est égal à 0

Remarque :
– il peut exister des états indifférents (notés ’X’). Ces états correspondent à des combinaisons d’entrée
impossibles. On les remplacera par 1 ou 0 de façon à avoir la simplification la plus optimale ;
– on peut utiliser une même case plusieurs fois, puisque 𝑥 + 𝑥 + 𝑥 + · · · + 𝑥 = 𝑥.

7.3.2.2 compléter un tableau de Karnaugh à partir d’une table de vérité :


Il suffit de répartir dans le tableau de Karnaugh, pour chaque combinaison des variables d’entrée, la
valeur de la variable de sortie de la table de vérité.
a b c S
0 0 0 0
0 0 1 1 S 𝑎𝑏
0 1 0 0 00 01 11 10

0 1 1 1 0 0 0 0 0
𝑐
1 0 0 0 1 1 1 1 0
1 0 1 0
1 1 0 0
1 1 1 1

7.3.2.3 Rechercher une équation logique à l’aide du tableau de Karnaugh


Théorème d’adjacence : deux mots binaires sont dits adjacents s’ils ne diffèrent que par la
complémentarité d’une, et une seule, variable. Si deux mots sont adjacents sont sommés, ils peuvent
être fusionnés et la variable qui diffère est éliminée.
Par exemple, les mots 𝐴𝐵𝐶 et 𝐴𝐵𝐶̅ sont adjacents puisqu’ils ne diffèrent que par la complémentarité
de la variable C. le théorème stipule donc que 𝐴𝐵𝐶̅ + 𝐴𝐵𝐶 = 𝐴𝐵
▪ Regroupement des cases adjacentes :
19 Pr. A. Yahya
La réunion de 2 cases adjacentes contenant ‘1’ élimine la variable qui change d’état quand on passe
d’une case à l’autre.
2 variables disparaissent quand on regroupe 4 cases adjacentes.
3 variables disparaissent quand on regroupe 8 cases adjacentes.
On ne peut regrouper que 2n cases : 2, 4, 8, 16, …
▪ Groupement présentant des symétries

Des groupes de 2n cases symétriques par rapport aux axes de tableau peuvent être considérés
comme faisant partie d’un même groupement.
▪ Les valeurs indifférentes ou non spécifiées :
Le symbole Φ peut prendre indifféremment la valeur 0 ou 1 ; on remplace donc par 1 uniquement
ceux qui permettent de simplifier une expression par regroupement.

S3 Abc

000 001 011 010 110 111 101 100

00 1 0 1 1 1 1 0 1

01 1 1 0 0 0 0 1 1

de 11 1 1 0 0 0 0 1 1

10 1 1 1 1 1 1 1 1

𝑆 = 𝑏̅. 𝑐̅ + 𝑏̅. 𝑒 + 𝑏𝑒̅ + 𝑑𝑒̅


Ou 𝑆̅ = 𝑏𝑒 + 𝑐𝑑̅𝑒̅

Méthode de Quine McClusky


7.3.3
Pour les fonctions booléennes comprend jusqu’à quatre variables, la méthode du tableau de
Karnaugh est une méthode de minimisation puissante. Quand il y a cinq variables, la méthode du
tableau de Karnaugh est difficile à appliquer et complètement impraticable au-delà de cinq variables.
La méthode Quine-Mc-Cluskey est une méthode tabulaire formelle pour appliquer la loi distributive
booléenne à divers termes pour trouver la somme minimale de produits en éliminant les littéraux qui
apparaissent en deux termes comme des compléments. La méthode tabulaire de simplification de
Quine-Mc-Cluskey est basée sur le théorème de complémentation (propriété d'adjacence), qui dit que
: X .Y + X .Y = X

La méthode Quine-Mc-Cluskey comprend deux étapes :

1. Génération de tous les impliquants primaires (PI).

2. Sélection d’un sous-ensemble minimal d'impliquants primaires, qui représentera (couvre) la


fonction originale.

Soit par exemple une fonction logique à plusieurs variables :

20 Pr. A. Yahya
F = f ( A, B, C , D ) = A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D + A.B.C.D = (1,8,9,10,14,15 )

Étape 1: Regrouper les minterms en fonction du nombre de « 1 »

Minterms A B C D Groupe Nb de « 1 »
1 0 0 0 1
G1 1
8 1 0 0 0
9 1 0 0 1
G2 2
10 1 0 1 0
14 1 1 1 0 G3 3
15 1 1 1 1 G4 4
Étape 2 :

✓ Les simplifications ne peuvent se produire qu’entre groupes adjacents. On vérifie alors les
adjacences de chaque terme d’un groupe avec chaque terme du groupe immédiatement
suivant :

G1/G2 : (1 -9) – (1 -10) – (8-9) – (8-10)

G2/G3 : (9 -14) – (10-14)

G3/G4 : (14 -15)

✓ Eliminer les bits qui changent d’état entre chaque combinaison

Groupe Minterms A B C D Remarque


(1-9) - 0 0 1 1 seul bit éliminé
(1-10) - 0 - - 3 bits éliminés
G1/G2
(8 -9) 1 0 0 - 1 seul bit éliminé
(8 -10) 1 0 - 0 1 seul bit éliminé
(9 -14) 1 - - - 3 bits éliminés
G2/G3
(10 -14) 1 - 1 0 1 seul bit éliminé
G3/G4 (14 -15) 1 1 1 - 1 bit éliminé
✓ Pour ces combinaisons vérifiées, retenir uniquement celles où 1 seul bit éliminé (rejeter les autres)

Groupe Minterms A B C D
(1 -9) - 0 0 1
G1/G2 (8 -9) 1 0 0 -
(8-10) 1 0 - 0
G2/G3 (10 -14) 1 - 1 0
G3/G4 (14 -15) 1 1 1 -
Étape 3 :

Chercher les combinaisons élémentaires qui vérifient l’expression initiale de la fonction à simplifier :

Les impliquants premiers sont en lignes et les minterms de départ sont en colonnes. Un impliquant
premier est dit essentiel s’il est le seul à couvrir un des minterms en colonne ; on le repère avec une
marque ’*’. Les impliquants premiers essentiels sont nécessaires, mais pas forcément suffisants. Ici
par exemple, si on ne prenait qu’eux, les minterms 8 et 10 ne seraient pas couverts. Dans notre
exemple, on peut ajouter 8-10 pour couvrir les manquants, ce qui donne la possibilité suivante :

21 Pr. A. Yahya
Minterms

Impliquants 1 8 9 10 14 15
premiers
1-9 -001 * X X Retenue ( PI essentiel )
8-9 100- X X Non retenue
8-10 10-0 X X Retenue
10-14 1-10 X X Non retenue
14-15 111- * X X Retenue ( PI essentiel )
* : Impliquant premier (PI) essentiels

D’où : F = B.C.D + A.B.D + A.B.C

8 Circuit logiques combinatoires

8.1 Circuits de transcodage (codeurs, décodeurs, convertisseurs)

8.1.1 Codeur (encodeur)


𝑁
Circuit à 𝑀 = 2 entrées et 𝑁 sorties qui code en binaire le rang de la seule entrée active.
A0 S0
A1 S1
Une seule entrée A2 Codeur S2 Représentation
active à la fois Codeur en sortie sur N
bits
AM-1 SN-1

Exemple :
Codeur 𝑑é𝑐𝑖𝑚𝑎𝑙 − 𝐷𝐶𝐵 : 10 entrées, 4 sorties

0
1 S0
2
3 Codeur S1
4
5
6 Déc/BCD S2
7
8
9 S3

8.1.2 Décodeur
Le décodeur est un circuit qui établit la correspondance entre un code d’entrée sur N bits et M
lignes de sortie (𝑀 ≤ 2𝑁 ).
Exemple :
Décodeur DCB-décimal : 4 entrées, 10 sorties.

8.1.3 Transcodeurs (convertisseurs)


Circuit à p entrées et k sorties qui convertit un nombre écrit dans un code C1 en un nombre écrit
dans un autre code C2.

22 Pr. A. Yahya
Exemple :
Code binaire ↦ code Gray
Code DCB ↦ code affichage chiffre (décodeur 7 segments)

8.2 Additionneur

8.2.1 Demi-additionneur
L'addition est une opération très courante dans un microprocesseur. Outre dans l'unité arithmétique,
elle sert pour incrémenter le compteur de programme et pour les calculs d'adresses.
Il prend en entrée deux bits A et B et calcule la somme S et la retenue C (pour Carry en anglais).
Entrées Sorties A Somme
A B C S B
0 0 0 0
Retenue
0 1 0 1
1 0 0 1
1 1 1 0
On remarque sur la table de vérité que S est le ou exclusif des deux entrées A et B, i.e. S = A + B et
que C vaut 1 lorsque les deux entrées valent 1, c’est-à-dire C = A. B

A B

D.A. C

Schéma et symbole d'un demi-additionneur (D.A.)

8.2.2 Additionneur complet 1 bit

Entrées Sorties
Pour construire un additionneur sur
A B C0 C1 S
plusieurs bits, plusieurs additionneurs 1 bit sont
0 0 0 0 0
mis en cascade. Chacun de ces additionneurs 0 1 0 0 1
prend en entrée deux bits A et B ainsi que la Table de vérité : 1 0 0 0 1
retenue précédente C0. Il calcule la somme S de 1 1 0 1 0
ces trois valeurs binaires ainsi que la retenue C1. 0 0 1 0 1
0 1 1 1 0
1 0 1 1 0
1 1 1 1 1

23 Pr. A. Yahya
A
On peut remarquer sur la table de vérité que S
Somme S
B
est le ou exclusif des trois entrées 𝐴, 𝐵 et 𝐶0 , i.e.
C0
𝑆 = 𝐴 ⊕ 𝐵 ⊕ 𝐶0 et que la retenue 𝐶1 vaut 1 dès
Retenue C1
que deux des trois entrées valent 1, c'est-à-dire
𝐶1 = 𝐴𝐵 + 𝐴𝐶0 + 𝐵𝐶0

Ce circuit peut aussi être construit en A B


assemblant deux semi-additionneurs en
cascade. C0 A.C. C1

8.2.3 Additionneur intégré

Additionneur parallèle 4 bits (7483)

8.3 Multiplexeur
C'est un circuit d'aiguillage comportant 2n Notation du multiplexeur :
entrées, n lignes de sélection et une seule sortie. E1
Les n lignes de sélection permettent de E2

"programmer" le numéro de l'entrée qui doit


2n
être sélectionnée pour sortir sur une seule sortie Entrées MUX Sortie

(un bit). La construction d'un tel circuit


E2n

24 n lignes de sélection Pr. A. Yahya


nécessite 2n circuits "ET", n circuits "NON" et 1
circuit "OU".

Exemple : Multiplexeur 1parmi 4


4 entrées (2 lignes d'adressage et 1 strobe)
c- Logigramme
a- Table de vérité
E B A Y
0 0 0 X0
0 0 1 X1
0 1 0 X2
0 1 1 X3
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

b- Equation logique
Y = ABEX0 + ABEX1 + ABEX2 + ABEX3

8.4 Démultiplexeur

C'est un circuit qui fonctionne à l'inverse du circuit précédent, il permet d'aiguiller une seule entrée
(un bit) sur l'une des 𝟐𝒏 sorties possibles, selon la "programmation"(l’état) de ses 𝒏 lignes de
sélection.

Exemple : Démultiplexeur 1 vers 4


1 ligne d'entrée portant les données D
8.4.1.1.2 Logigramme
4 lignes de sortie Y0, Y1, Y2, Y3

2 lignes d'adressage A et B

validation de l'adressage par un strobe E (Enable)


à0

25 Pr. A. Yahya
8.4.1.1.1 Table de correspondance

8.5 Le comparateur
Il détecte l’égalité entre deux nombres A et B. Certains circuits permettent également de détecter si
A est supérieur ou bien inférieur à B.

Comparateur de 2 e.b.
a b E S I 𝐸 = (𝑎 = 𝑏 ) = ̅̅̅̅̅̅̅
𝑎⨁ 𝑏
0 0 1 0 0 𝑆 = (𝑎 > 𝑏 ) = 𝑎. 𝑏̅
0 1 0 0 1 𝐼 = (𝑎 < 𝑏) = 𝑎̅. 𝑏
𝐷 = ( 𝑎 ≠ 𝑏) = 𝑎 ⊕ 𝑏
1 0 0 1 0
1 1 1 0 0

8.6 Décodeur d'adresse

C'est un circuit composé de n lignes d'entrées qui représentent une adresse sur 𝒏 bits et de 𝟐𝒏 lignes
de sortie possibles dont une seule est sélectionnée en fonction de la "programmation" des 𝒏 lignes
d'entrées.

Notation du décodeur d'adresse :

A0
S1
A1
S2
Adresse sur n bits
. .
. . 2n sorties
. .

An-1 S2n

Exemple d'utilisation d'un décodeur d'adresse à 8 bits :

On entre l'adresse de la ligne à sélectionner soit 10100010 ( 𝐴0 = 1 , 𝐴1 = 0, 𝐴2 = 1, … , 𝐴7 = 0) ce


nombre binaire vaut 162 en décimal, c'est donc la sortie 𝑆162 qui est activée par le composant comme
le montre la figure ci-dessous.
26 Pr. A. Yahya
La construction d'un circuit décodeur d'adresse à n bits nécessite 2n circuits "et", n circuits "non". Ce
genre de circuits très fréquent dans un ordinateur sert à sélectionner des registres, des cellules
mémoires ou des lignes de périphériques.

8.7 Réalisation d’une fonction logique combinatoire


Soit la table de vérité suivante :
N A B C F
0 0 0 0 1
1 0 0 1 1
2 0 1 0 0
3 0 1 1 0
4 1 0 0 0
5 1 0 1 1
6 1 1 0 1
7 1 1 1 0
Les trois formes de fonction logique 𝐹 sont
1. La forme canonique complète est :
F = f ( A, B, C ) = 1. A.B.C + 1. A.B.C + 0. A.B.C + 0. A.B.C + 0. A.B.C + 1. A.B.C + 1. A.B.C + 0. A.B.C
2. La forme canonique abrégée est : F = A.B.C + A.B.C + A.B.C + A.B.C = ( 0,1,5, 6 )
3. La forme simplifiée par le tableau de Karnaugh est : F = A.B + B.C + A.B.C
A partir de ces trois formes et de la table de vérité, on peut réaliser la fonction logique 𝐹 soit avec
un multiplexeur, soit avec un décodeur, soit avec des opérateurs fondamentaux, soit avec une
𝑃𝑅𝑂𝑀.
▪ Avec la forme canonique abrégée, on réalise A
𝐹 avec un décodeur et une porte 𝑂𝑅 : B
C

0
1
2
G=1 DEC. 3 ≥𝟏 𝑭
4
▪ Avec la forme canonique complète, on réalise 𝐹 5
6
7
avec un multiplexeur. En effet, on a :

F = 1. A.B.C + 1. A.B.C + 0. A.B.C + 0. A.B.C + 0. A.B.C +1. A.B.C +1. A.B.C + 0. A.B.C
D’où on tire :

27 Pr. A. Yahya
( ) ( ) ( ) (
F = B.C 1. A + 0. A + B.C 1. A. + 1. A + B.C 0. A + 1. A + B.C 0. A + 0. A ) B
C
F = B.C.A + B.C.1 + B.C.A + B.C.0
̅
𝑨 I0
Comme, l'équation de sortie d'un multiplexeur est
1 I1 MUX
𝑭
F = I 0 .B.C + I1.B.C + I 2 .B.C + I 3.B.C , on obtient en identifiant les deux A I2
0 I3
expressions le schéma suivant :

▪ Avec un multiplexeur à 2𝑛 entrées 𝐼𝑘 , on peut réaliser n’importe quelle fonction de 𝑛 + 1


variables. Les entrées 𝐼𝑘 valent toujours : 𝑎𝑛 , 𝑎̅𝑛 , 1 ou 0 (étant la 𝑛 + 1 variable). La réalisation
d'une fonction logique avec un multiplexeur est à la base du fonctionnement des 𝐹𝑃𝐺𝐴.
▪ Avec la table de vérité, on réalise 𝐹 avec une 𝑃𝑅𝑂𝑀. Dans notre exemple, il faut connecter
𝐴𝐵𝐶 sur les adresses de la mémoire et charger les 8 bits aux adresses 0 à 7. 𝐹 est alors
disponible sur le bit de donnée. La réalisation d'une fonction logique avec une 𝑃𝑅𝑂𝑀 est à la
base du fonctionnement des 𝑃𝐴𝐿 et des 𝐸𝑃𝐿𝐷.

28 Pr. A. Yahya
Logique sequentielle
9 Introduction
Dans un circuit séquentiel, une sortie est une fonction des entrées mais aussi des sorties du
circuit. Il y a rebouclage (rétroaction) des sorties sur les entrées. Cela signifie qu’un circuit
séquentiel garde la mémoire des états passés. Il existe deux grandes catégories de circuit
séquentiel :

▪ Le circuit séquentiel asynchrone. Les sorties du montage peuvent changer à tout moment
dès qu’une ou plusieurs entrées changent après un temps de propagation qui peut être
différent pour chaque sortie.

Figure 1

▪ Le circuit séquentiel synchrone. Le changement sur les sorties se produit après le


changement d’état (front montant ou descendant) du signal horloge. Les entrées servent à
préparer le changement d’état, mais ne provoquent pas de changement des sorties.

Figure 2

9.1 Le point mémoire élémentaire : le bistable


La fonction mémoire sous sa forme la plus élémentaire est obtenue en connectant deux
inverseurs tête-bêche (figure 3). Le rebouclage des deux portes accorde à ce circuit son caractère
séquentiel et permet de stocker une valeur logique. Ce circuit permet de mémoriser deux états
possibles :

1. Q = 0 et Q  = 1
2. Q = 1 et Q  = 0

Ces deux états sont stables car le circuit est câblé de telle sorte que la propagation de ces valeurs
dans les inverseurs confirme cet état (nombre pair d’inverseurs). Ce point mémoire est
également désigné par le terme bistable.

29 Pr. A. Yahya
Figure 3: Le bistable, point mémoire élémentaire

Ce bistable constitue la base de la structure des mémoires RAM statiques. Une évolution de la
structure du bistable, appelée bascule RS.

Problème : écriture d’une valeur dans le bistable ⇒ bascule RS

9.2 Latch (Verrou) RS


La cellule mémoire la plus simple est le Latch 𝑅𝑆 (𝑅𝑆 étant les initiales de 𝑅 (Reset) = effacement ;
𝑆 (Set) = inscription).

On appelle 𝑄𝑛 : l’état de la sortie 𝑄 avant la modification de l’une des variables d’entrée et 𝑄𝑛+1
son état après la modification.

9.2.1 Comportement statique du verrou 𝑹𝑺 − 𝑵𝑶𝑹


Schématisation Table de transition Logigramme

𝑄 R S Qn+1 Fonction
S
0 0 Qn Mémoire
R 0 1 1 SET
𝑄̅
1 0 0 RESET
1 1 X Interdit

Équations séquentielles

Tableau de Karnaugh

R S Qn Qn+1 Qn-1 RS
0 0 0 0
00 01 11 10
0 0 1 1
0 1 0 1 Qn 0 0 1 X 0
0 1 1 1
1 0 0 0 1 1 1 X 0
1 0 1 0 Équation logique :
1 1 0 X
1 1 1 X ̅ . 𝑸𝒏 + 𝑺
𝑸𝒏+𝟏 = 𝑹

30 Pr. A. Yahya
9.2.2 Comportement dynamique de la bascule 𝑹𝑺 − 𝑵𝑶𝑹
Chronogramme :

≥ 𝒕𝑾

R 𝑡𝑊 : width time est temps minimale


≥ 𝒕𝑾 pour qu’une impulsion doit être
prise en compte par le verrou
S
𝒕𝒑 (𝑺 → 𝑸) 𝒕𝒑 (𝑹 → 𝑸) 𝑡𝑝 : temps de propagation.
Q
𝒕𝒑 (𝑺 → 𝑸∗ ) 𝒕𝒑 (𝑹 → 𝑸∗ )
Q*

Graphe d’états
Les modes de fonctionnement décrits précédemment peuvent être résumés dans le graphe de la
Figure 4

(R, S) = (1, 0) Q=0 (R, S) = (0, 0)

(R, S) = (0, 1) (R, S) = (1, 0)

(R, S) = (0, 1) Q=1 (R, S) = (0, 0)

Figure 4: Graphe d'états d'un latch RS. Les nœuds correspondent aux états stables du circuit, et les arcs représentent les transitions entre les états

Fronts et niveaux ; signaux d’horloge


Le niveau d’un signal, c’est sa valeur 0 ou 1. On parle de front lors d’un changement de niveau :
front montant lorsque le signal passe de 0 à 1, front descendant lorsqu’il passe de 1 à 0. En pratique,
ces transitions ne sont pas tout à fait instantanées, mais leur durée est très inférieure aux temps de
propagation des portes (Figure 5)

Figure 5: Fronts et niveaux d'un signal réel, et leur équivalent logique simplifié

31 Pr. A. Yahya
Une horloge est un signal périodique Il produit donc une succession périodique de fronts montants
et/ou descendants.

10 BASCULES
Les bascules sont les éléments de base des systèmes séquentiels ; ce sont des cellules de
mémorisation à 1 bit.

Entrées d’inscription/ 𝑄
d’effacement
Bascule
Entrées de 𝑄̅
synchronisation
Il existe deux types de bascules :

• Bascules asynchrones, dont la sortie peut changer d’état au temps de propagation prés, au
moment où la combinaison des états des entrées est changée (bascule RS…)

• Bascules synchrones, dont le changement d’état de la sortie, qui correspond à une nouvelle
combinaison d’états des entrées, est validé par un signal de synchronisation ou signal d’horloge
(RSH, D, T et JK).

10.1 Bascule RSH (flip-flop en anglais)


S 𝑄 Table de vérité :
S 𝑄
H
H
R 𝑄̅ R S H Qn+1 Fonction
R 𝑄̅
X X Inactif Qn Mémoire
0 0 Front actif Qn Mémoire
Active sur le front montant de Active sur le front descendant 0 1 Front actif 1 SET
l’horloge. de l’horloge. 1 0 Front actif 0 RESET
1 1 Front actif X Interdit
Un triangle au niveau de l'entrée H vient en indiquer un fonctionnement sur front.
Equation logique :

̅ . 𝑸𝒏 + 𝑺) + 𝑯
𝑸𝒏+𝟏 = 𝑯(𝑹 ̅ 𝑸𝒏

Graphe d’évolution :

10.2 Bascule D

10.2.1 Bascule D latch (le bistable DH)


Schématisation Table de vérité Logigramme

D Q
32 Pr. A. Yahya
CK 𝑄̅
CK D Qn+1 Fonction
0 X Qn Mémoire
1 0 0 RESET
1 1 1 SET

Elle décale dans le temps l’état de la sortie d’où son appellation D (D pour Delay : retard)
Equation logique :

̅̅̅̅. 𝑸𝒏
𝑸𝒏+𝟏 = 𝑪𝑲. 𝑫 + 𝑪𝑲

10.2.2 Bascule D flip-flop


Elle est obtenue en posant 𝐷 = 𝑆 = 𝑅̅ avec une bascule 𝑅𝑆 ou 𝐷 = 𝐽 = 𝐾
̅ avec une bascule 𝐽𝐾, ce
qui donne l’équation
𝑸 𝒏+𝟏 = 𝑫

D Q
D Q
CK 𝑄̅
CK 𝑄̅

Bascule D flip-flop active sur front montant Bascule D flip-flop active sur front descendant

CK D Qn+1 Fonction
0 X Qn Mémoire
1 X Qn Mémoire
0 0 RESET
1 1 SET
L'entrée D est copiée sur Q sur les fronts actifs de l'horloge H => synchronisation sur fronts
Exemple du chronogramme :
D

CK

Équation d’évolution
L’équation d’évolution d’une bascule, c’est l’équation de la valeur que prendra l’état après le front
d’horloge. Dans le cas de la bascule D c’est tout simplement la valeur présente à son entrée : Q D
Graphe d’évolution :

33 Pr. A. Yahya
Caractéristiques temporelles de la D flip-flop

Les temps de propagation sont tous référencés par rapport aux fronts actifs de l'horloge. Cette
bascule existe sous forme de composant discret et permet la réalisation de montages nécessitant un
minimum de câblage, la bascule D est la seule utilisée dans les circuits programmables et dans les
ASIC

10.3 Bascule JK

Schématisation Table de vérité Equation logique

J K H Qn+1 Fonction
X
J X 0 Qn Mémoire
̅̅̅̅
𝑸𝒏+𝟏 = 𝑯(𝑱. 𝑸 ̅ ̅
𝒏 + 𝑲𝑸𝒏 ) + 𝑯𝑸𝒏
0 0 Qn Mémoire
J 𝑸
0 1 0 RESET
H
̅
𝐐 1 0 1 SET
K
1 1 ̅̅̅̅
𝐐𝑛 Basculement

Exemple du chronogramme :

Q
Graphe d’évolution :

34 Pr. A. Yahya
10.4 Bascule T
Elle possède une seule entrée T donnant l’ordre à 𝑄 de changer d’état sur chaque front montant du
signal H appliqué en T.

Symbole Table de vérité Réalisation

à partir de D flip-flop à partir de JK


Q
H H Qn+1 ‘’1’’
𝑄̅ 0 Qn J Q
1D Q
1 Qn H
̅̅̅̅
𝐐𝑛 K ̅
𝐐
H ̅
𝐐

La bascule T n’existe pas sous forme de composant discret car elle est très facile à réaliser à partir
d’une bascule JK ou d’une bascule D. Elle est particulièrement efficace dans la réalisation de
compteurs binaires.

11 Les compteurs/décompteurs

11.1 Structure générale d’un compteur modulo 2n


C’est l’assemblage de n bascules JK, le plus souvent, cadencé par un signal horloge.

H
Poids 2 n-1 Poids 2 1 Poids 2 0

. .. .. .
RAZ Bn-1 B1 B0

Qn-1 Q1 Q0

(N)2 : résultat de comptage exprimé en binaire naturel (mot de n bits)

35 Pr. A. Yahya
• Une impulsion (front montant ou descendant selon les circuits) sur l’entrée horloge H
(appelée aussi CK, CLK ou CP) provoque l’incrémentation du compteur d’une unité en
décimal.
• Entrée RAZ (nommée aussi CLR, RESET…) permet d’initialiser le compteur (remise à zéro).
• L’entrée LOAD (non représentée) permet de charger la valeur d’un nombre.

11.2 Compteurs asynchrones


La réalisation d’un compteur asynchrone consiste à mettre en cascade des bascules.

11.2.1 Compteur asynchrone modulo 6


• Modulo 6 → nombre de bascules est 3 ( 22 < 6 ≤ 2𝟑 )
• Lorsque le contenu du compteur atteint 6 (c.à.d.𝑄2 = 𝑄1 = 1), la sortie de l’opérateur NAND
prend l’état 0 et génère la remise à zéro de toutes les sorties des bascules.
• La succession de nombre du compteur est donc 0,1,2,3,4,5,0,1, …,5,0 , …

11.2.2 Compteur asynchrones binaires modulo 16

Vdd

A Q0 B Q1 C Q2 D Q3

H J Q J Q J Q J Q
Clk Clk Clk Clk
K Q K Q K Q K Q

36 Pr. A. Yahya
11.3 Décompteur asynchrone
Pour réaliser un décompteur le signal d'horloge est actif sur front montant.
Exemple de décompteur 3 bits, qui décompte de 7 à 0 :

11.4 Compteurs synchrones


Dans les compteurs synchrones, toutes les bascules sont synchronisées par le même signal
d’horloge, ce qui évite les retards de propagation.

L’entrée de forçage à zéro (Reset) des bascules n’est plus nécessaire.

Compteur synchrone modulo 16 à base des bascules 𝑱𝑲𝑯

Avec les bascules T, on aura :

37 Pr. A. Yahya
Q0 commute à chaque front actif sur H.
Q1 commute à chaque front actif sur H si Q0 = 1 sinon conserve son état.
Q2 commute à chaque front actif sur H si Q0 = Q1 = 1 sinon conserve son état.

Qk commute à chaque front actif sur H si Q0 = Q1 = … = Qk-1 = 1 sinon conserve son état.

11.5 Compteurs intégrés

Présentation 74xx191
Le 74xx191 est un compteur/décompteur 4 bits binaire naturel, synchrone à prépositionnement parallèle
asynchrone.

38 Pr. A. Yahya
̅̅̅̅̅̅̅̅
𝐶𝑇𝐸𝑁 : (ou 𝐺̅ ) Entrée de validation ( CounT ENable) active sur niveau bas. Autorisation de
comptage décomptage.
̅
𝐷/𝑈 : Mode de fonctionnement 𝐷/𝑈 ̅ = 1 : Décomptage 𝐷/𝑈 ̅ = 0 : Comptage.

𝐶𝐿𝐾 : Entrée de Comptage/ Décomptage active sur front montant ( ⊳ sans


complèmentation)
̅̅̅̅̅̅̅̅
𝐿𝑂𝐴𝐷 : Entrée de chargement active sur niveau bas. Entrée de pré-positionnement
asynchrone, dès que cette patte passe à l'état bas, les sorties sont égales aux entrées, et
cela jusqu'au passage à 1 de LOAD. Le cycle de comptage/décomptage ne commence
que si LOAD = 1

𝐴, 𝐵, 𝐶 𝑒𝑡 𝐷 : Entrées de données : valeur à charger.

𝑀𝑎𝑥/𝑀𝑖𝑛 : Sortie de débordement du compteur (= 1) si CT = 15 en mode comptage (M3) et (=0)


si CT= 0 en mode décomptage (M2).
̅̅̅̅̅̅
𝑅𝐶𝑂 : Sortie pour mise en cascade. Patte d'indication de débordement (Report Carry Out)
Cette patte est mise à l'état bas si la valeur du compteur vaut 15 en mode comptage, 0 en mode
décomptage.

𝑄𝐴 , 𝑄𝐵 , 𝑄𝐶 𝑒𝑡 𝑄𝐷 : Sorties de comptage/ Décomptage 0 ≤ (𝑁)10 ≤ 15

[1], [2], [4] 𝑒𝑡 [8] : Poids binaires des entées et sorties.

ANALYSE :

• Le compteur peut compter ou décompter suivant l’état de 𝐷/𝑈 ̅ . il est bloqué si ̅̅̅̅̅̅̅̅
𝐶𝑇𝐸𝑁 = 1
• ̅̅̅̅̅̅̅̅ = 0:
Les états des entrées A, B, C et D sont recopiés en sortie 𝑄𝐴 , 𝑄𝐵 , 𝑄𝐶 𝑒𝑡 𝑄𝐷 dès que 𝐿𝑂𝐴𝐷
il s’agit de l’opération de préchargement asynchrone.

39 Pr. A. Yahya
• La sortie 𝑀𝑎𝑥/𝑀𝑖𝑛 reste à 1 pendant que la sortie est [1 1 1 1 ] =(15)10 en mode comptage
𝐷/𝑈 ̅ = 0 et [0 0 0 0]= (0)10 en mode décomptage.
• ̅̅̅̅̅̅ : permet de synchroniser le fonctionnement d’un autre compteur dans une mise en
𝑅𝐶𝑂
cascade en reliant cette sortie à l’entrée ̅̅̅̅̅̅̅̅
𝐶𝑇𝐸𝑁 du boitier suivant.

Mise en cascade
Le compteur 74xx191 est capable de compter sur 4 bits soit de 0 à 15 cependant il peut être utile
d’aller au-delà de cette capacité. Il sera donc nécessaire d’associer plusieurs compteurs 4 bits afin
de réaliser un compteur 8 bits (0 à 255), 12 bits (0 à 4095), 16 bits (0 à 65535) ou plus.
Association asynchrone :
Lors d'une mise en cascade asynchrone, c'est le front montant de RCO qui déclenche un cycle de
comptage décomptage sur le compteur suivant.
LSB
? MSB
?
?
?

?
?
?
?
U2 U1
15 3 15 3
D0 Q0 D0 Q0
1 2 1 2
D1 Q1 D1 Q1
10 6 10 6
D2 Q2 D2 Q2
9 7 9 7
D3 Q3 D3 Q3
Horloge 13 13
RCO RCO
14 14
VCC CLK CLK
4 4
E E
5 5
D/U D/U
11 11
PL PL
12 12
TC TC
MODE 74191 74191

Il existe donc un décalage entre l'instant où commutent les sorties du premier compteur et l'instant
où commutent les sorties du second compteur égale au temps de propagation du carry out.
Association synchrone :
Lors d'une mise en cascade synchrone, l’horloge est commune aux deux compteurs c’est le RCO du
compteur de poids faible (unités) qui autorise le comptage de celui de poids fort (seizaine). Ceci
permet un fonctionnement parfaitement synchrone des sorties avec l’horloge.
LSB MSB
?
?
?
?

?
?
?
?

U2 U1
15 3 15 3
D0 Q0 D0 Q0
1 2 1 2
D1 Q1 D1 Q1
10 6 10 6
D2 Q2 D2 Q2
9 7 9 7
D3 Q3 D3 Q3
Horloge 13 13
RCO RCO
14 14
VCC CLK CLK
4 4
E E
5 5
D/U D/U
11 11
PL PL
12 12
TC TC
MODE 74191 74191

Association synchrone de deux compteurs 74190 pour réaliser un compteur de 0 à 99

40 Pr. A. Yahya
‘’1’’
‘’1’’ Vers le compteur
des centaines

LSB

MSB

UNITES DIZAINES

12 Registres

12.1 Structure générale :


L’association judicieuse de n bascules (mémoire élémentaire) permet la mémorisation d’un mot de
n bits : ceci constitue un registre. Les contenus rk (0 < k < n-1) de bascules passent de l’une à l’autre
sur un front actif du signal de commande de décalage.

Entrées parallèles (optionnelles)

Ecriture
parallèle

Entrée Sortie
série (SR) r3 r2 r1 r0 série (SL)

Commande
de
décalage
Lecture
parallèle
Sorties parallèles (optionnelles)

Organisation fonctionnelle d’un registre à décalage (à droite) de 4bits

12.2 Mode de fonctionnement


Les manipulations pouvant être réalisées par les registres sont les suivantes :

• Ecriture parallèle : l’écriture constitue un changement du registre.


• Lecture parallèle : la lecture de tous les bits du mot binaire mémorisé est simultanée.
• Ecriture-Lecture série : La fonction « décalage » consiste à faire glisser l’information de
chaque cellule élémentaire du registre vers les cellules adjacentes. Ce décalage peut se faire
à « droite » ou « à gauche »

41 Pr. A. Yahya
avant avant

r33 r2 r1 r0 r3 r2 r1 r0

SR r3 r2 r1 r2 r1 r0 SL

après après

SR : Serial Right : entrée de chargement série côté droit


SL : Serial Lift : entrée de chargement série côté gauche

12.3 Synthèse de registre à décalage à partir de bascule.


Registre à décalage à droite de 4 bits à partir de bascules D ou JK

Chronogramme :

CLK
1 0 0 0
Ser-In
0 1 0 0
r3
r2 1 0 1 0

r1 0 1 0 1

r0 0 0 1 0

Avec la bascule JK

Sortie série
Entrée série
r3 r2 r1 r0
SIN 1J Q 1J Q 1J Q 1J Q Sout
C1 C1 C1 C1

1K 1K 1K 1K

CLK

12.4 Registres intégrés et universels


Registre intégré : 74164 est un registre à entrée série sortie parallèle ou série.

Registres universels : Ce sont des registres combinant toutes les fonctions : écriture et lecture
parallèle ou série avec possibilité d’un décalage de l’information vers la droite (→) ou la gauche ()

Exemple : circuit 74194

42 Pr. A. Yahya
43 Pr. A. Yahya
Circuit 74191 : Compteur/Décompteur binaire 4 bits

Entrées parallèles (optionnelles)

Ecriture
parallèle

Entrée Sortie
série (SR) r3 r2 r1 r0 série (SL)

Commande
de
décalage
Lecture
parallèle
Sorties parallèles (optionnelles)

Sortie série
Entrée série
r3 r2 r1 r0
SIN 1J Q 1J Q 1J Q 1J Q Sout
C1 C1 C1 C1

1K 1K 1K 1K

CLK

Chronogramme

CLK
1 0 0 0
Ser-In
0 1 0 0
r3
1 0 1 0
r2
r1 0 1 0 1

r0 0 0 1 0

44 Pr. A. Yahya
13 TD n°1 Logique Combinatoire

EXERCICE 1
1. Coder sur 8 bits les parties fractionnaires suivantes
► (0.54862)10 ► (0.85)10
2. Décoder : ► (0.10010011)2 ► (111.0110011)2
3. Coder les 3 nombres décimaux (86)10 , (87)10 et (88)10 en code BCD puis en code binaire réfléchi
(GRAY)
EXERCICE 2 ( Codage des réels Norme IEEE 754 )
1. Coder les réels suivants ( représentés en base décimale) en simple et double précision
► (−0.078125)10 ► (0)10 ► (+)10
2. Donnez la représentation décimale des nombres codés en simple précision suivants :
► (3EA80000)16 ► (1011 1101 0100 0000 0000 0000 0000 0000)2
3. Déterminez, en valeur absolue, le plus petit et le plus grand nombre flottant coder avec la norme IEEE
754 simple précision.
EXERCICE 3
Effectuer les opérations arithmétiques suivantes :
► (1001, 0011)2 + (1010, 0111)2 ► (1001, 0011)2 − (0111,1101)2
► (101, 011)2  (101,11)2 ► (1001, 0011)2  (11, 01)2
EXERCICE 4
A partir du chronogramme suivant :

1. Déterminer l’équation de la sortie S 1


E1
par rapport aux entrées E1 et E2 0
2. Identifier l’opérateur logique 1
E2
correspondant 0
3. Réaliser cette fonction logique avec 1
S
des opérateurs NAND à 2 entrées. 0

EXERCICE 5
On définit l'expression logique V par sa table de vérité :
a) Écrire l'expression logique de V sous forme de polynôme.
b) Simplifier algébriquement V.
c) Vérifier la simplification de V grâce au tableau de Karnaugh
d) Construire le logigramme de V en utilisant uniquement des opérateurs logiques
NAND à deux entrées.
e) Construire le logigramme de V en utilisant uniquement des opérateurs logiques
NOR à deux entrées

EXERCICE 6
Formes disjonctive et conjonctive d’une fonction logique.
Soit la fonction logique de 3 variables définie par : f = A + B  C
1) Donner sa forme disjonctive ("somme-de-produits  ") standard.
2) En déduire sa forme conjonctive ("produit-de-sommes  ") standard.
3) Donner sa table de vérité.
45 Pr. A. Yahya
7402

EXERCICE 7
U1:A

On considère le circuit à base de portes NOR suivant 2

3
1

1. Etablir à partir du circuit de fonction logique A U1:B


7402
8
U1:C
S
0
S = f ( A, B )
5 10
?
B
4 9
6

1 7402

2. Remplir la table de vérité


7402
U2:A
2
1

3. En déduire un circuit logique plus simplifié 3

7402

EXERCICE 8
Simplifier par Karnaugh les fonctions booliennes suivantes :
X1 = A  B + C  D + A  B  C  D + A  B  C  D
X 2 = A B  C  D + A B  C  D + A B  C  D + A B  C  D + + A B  C  D

Exercice 9 : Quine-McCluskey
Soit la table de vérité de la fonction logique 𝐹(𝐴, 𝐵, 𝐶, 𝐷) :

1. Retranscrire les minterms de la fonction 𝐹 sous forme binaire en soulignant les minterms facultatifs -.
𝑭(𝑨, 𝑩, 𝑪, 𝑫) =
2. Procéder par la méthode Quine-Mc-Cluskey pour simplifier la fonction 𝐹(𝐴, 𝐵, 𝐶, 𝐷) et identifier les
impliqués premiers
3. Compléter la table suivante pour identifier les impliqués essentiels de 𝐹(𝐴, 𝐵, 𝐶, 𝐷).

4. Les impliqués essentiels couvrent-ils l’ensemble des minterms ? Si oui, donner l’expression disjonctive
simplifiée de la fonction 𝐹(𝐴, 𝐵, 𝐶, 𝐷). Autrement, suggérer une solution et donner l’expression disjonctive
simplifiée de la fonction 𝐹(𝐴, 𝐵, 𝐶, 𝐷) ainsi obtenue.
5. Confirmer votre résultat en utilisant un tableau de Karnaugh

46 Pr. A. Yahya
Exercice 10 : générateur de bit de parité

Le générateur de parité est un système qui permet de détecter certaines erreurs, sans pouvoir les corriger. Le système
consiste, par exemple tous les 4 bits, à rajouter un cinquième bit de parité dont la valeur est 0 si le nombre de 1
transférés est impair et 1 si ce nombre est pair.
1) Donner la table de vérité de ce système.
2) Réaliser cette fonction logique avec un multiplexeur à trois entrées adresses.

Exercice 11
1. Donner l’équation de la fonction logique F réalisée par le multiplexeur représenté sur la Figure suivante :

2. A l’aide d’un multiplexeur à 2 entrées d’adresses, réaliser la fonction : 𝑭 = 𝑨


̅∙𝑩 ̅+𝑨∙𝑩∙𝑪
̅ ∙𝑪 ̅+𝑨
̅∙𝑩∙𝑪

3. A l’aide d’un multiplexeur à 3 entrées d’adresses, réaliser la fonction


̅∙𝑩
𝑭 = 𝑨 ̅∙𝑫
̅ ∙𝑪 ̅∙𝑫
̅ +𝑨∙𝑩∙𝑪 ̅ +𝑨∙𝑩
̅ ∙𝑪∙𝑫
̅ +𝑨∙𝑩 ̅∙𝑫+𝑨
̅ ∙𝑪 ̅∙𝑩∙𝑪
̅∙𝑫+𝑨
̅∙𝑩
̅ ∙𝑪∙𝑫
̅ ̅
+𝑨∙𝑩∙𝑪∙𝑫+𝑨∙𝑩∙𝑪∙𝑫 A B
Exercice 12
1. En utilisant des demi-additionneurs, construire un additionneur complet.
2. Montrer comment réaliser une addition de deux (2) nombres codés sur n bits D.A. C
en utilisant des additionneurs élémentaires (1 bit) complets. (On prendra n=
4 ).
S
Exercice 13
Donner l’équation logique
0
S = f ( A, B, C , D, E ) du montage ci-
E3
E2
E1 MUX
E0

S1
1
4 vers 1

contre : 1
0
a0
a1 a0
A 0 S
E3
E2
E1 MUX
E0

B -
4 vers 1

0
-
1
E3
E2 4 vers 1
E1 MUX
E0

1 S2
0
1

a1 a0
C
D
E

47 Pr. A. Yahya
14 TD n°2 : Logique Séquentielle
EXERCICE 1
Si nous désirons commander un système logique à l’aide
d’un bouton poussoir, un défaut important apparaît : le
rebond.

Figure 1
Pour supprimer ces rebondissements on réalise le montage
suivant à l’aide d’une bascule 𝑹 ̅𝑺̅ . Compléter le
chronogramme ci-contre :

Figure 2
EXERCICE 2
On considère le montage de la Figure 3 réalisé avec 1. Donner les expressions des sorties A et B en
une bascule D synchrone active sur les fronts fonction de CLK et Q.
montants du signal d'horloge. 2. Compléter le chronogramme de la Figure suivante :.
CLK
CLK

QAA

QBB

QQ
C

Figure 3
QD Figure 4
EXERCICE 3
Compléter le chronogramme de la sortie Q de la bascule JK suivante

Figure 5
La bascule JK est transformée comme le montre la fig. ci-dessous. Sachant que les entrées asynchrones ( 𝑹
̅𝑺̅ ) sont

au niveau haut et que la sortie est initialement au niveau haut,


2-1- compléter le chronogramme de la sortie Q.
48 Pr. A. Yahya
Figure 6
2-2- Comment peut-on appeler la bascule ainsi réalisée ?
2-3- Comparer les périodes TH et TQ et les fréquences fH et fQ des signaux H et Q
2-4- Le signal obtenu a la sortie Q est de période TQ = 0,02s ; trouver alors la fréquence du signal d'horloge H
EXERCICE 4
1. Tracer le logigramme d’un compteur asynchrone modulo 11 en utilisant des bascules JK à front
montant dont les entrées asynchrones 𝑺 ̅ (Set) et 𝑹
̅ (Reset) sont activées au niveau bas. Prévoir une
entrée de remise à zéro du compteur par un bouton poussoir RAZ (N.F).
2. La fréquence du signal d’horloge est f= 110 Hz, calculer la fréquence du signal à la sortie de la bascule
du poids le plus fort (M.S.B)
EXERCICE 5

Soit le circuit ci-contre :


Figure 7
a) Que réalise ce circuit (compteur ou décompteur)
b) Donner le cycle de comptage ou de décomptage du circuit.
c) Déduire alors son modulo.
EXERCICE 6
En utilisant des bascules de type JKH, réaliser un décompteur
synchrone modulo 7.
a) A partir de la table de vérité et du diagramme des phases
de la bascule JK, Compléter la table des séquences du décompteur binaire suivant :
Equiv. sorties Entrées à élaborer
décimal 𝑄2 𝑄1 𝑄0 𝐾2 𝐽2 𝐾1 𝐽1 𝐾0 𝐽0

b) Établir les tableaux de Karnaugh des entrées 𝐽𝑖 et 𝐾𝑖 des 3 bascules. En déduire leurs équations logiques.
c) Donner le schéma logique
EXERCICE 7
Compléter le schéma de câblage d’un compteur modulo 42 en utilisant 2 circuits 74190 (voir dossier technique)
montés en cascade asynchrone et des portes NAND. Prévoir un bouton « Raz ».

49 Pr. A. Yahya
EXERCICE 8
1°) Quel est le comptage réalisé par ce circuit.

2°) Réaliser un compteur modulo 9 avec le CI 7490

4°) Quel est le comptage réalisé par ce circuit :

3°) Soit le circuit suivant réalisé avec le CI 7490


compléter les chronogrammes

EXERCICE 9
On donne le registre à décalage de la figure ci-contre
constitué de bascules « D ».
1) On suppose qu’initialement les bascules sont à
zéro. Que se passe-t-il lorsqu’on applique des
impulsions d’horloge sur l’entrée Clk ?
2) On initialise Q0 à « 1 ». Quel est l’état du registre
après deux impulsions ?

50 Pr. A. Yahya
Annexe :
Compteur – décompteur BCD synchrone 74190

Compteur – décompteur BINAIRE synchrone 74191

51 Pr. A. Yahya
52 Pr. A. Yahya
Compteur asynchrone 4 bits 7490 - 74290

Le Schéma interne du compteur 7490 est comme suit

N.B Les entrées J et K sont à l’état logique 1 une fois que le circuit est alimenté

53 Pr. A. Yahya
54 Pr. A. Yahya

Vous aimerez peut-être aussi