Académique Documents
Professionnel Documents
Culture Documents
1. INTRODUCTION
2. CIRCUITS LOGIQUES COMBINATOIRES
2.1. Définition
2.2. Algèbre de Boole
2.3. Synthèse des circuits logiques combinatoires
Eléments de contenu : 2.4. Applications :
2.5. Circuits de multiplexage et de démultiplexage :
2.6 Les circuits Encodeurs et décodeurs :
3. LES CIRCUITS SEQUENTIELS
3.1. Définition
3.2. Les bistables D
3.3. Applications
1. Introduction
Les circuits électriques modernes ont deux états d’équilibres 0 et 1, ils sont
caractérisés par deux niveaux de tensions ou de courants qui définissent un signal
logique. Une ligne permet de transporter un signal logique d’un point à un autre. L’état
de cette ligne est une variable logique (qui a deux valeurs 0 et 1).
Un circuit logique est définit comme étant un circuit électrique qui ne véhicule en
entrées et en sorties que des signaux logiques.
1
Dans ce chapitre, on va voir comment synthétiser des circuits logiques qui constituent
les composants de base avec lesquels est construit un ordinateur.
... ...
... Circuit logique ...
Ei Sj
... combinatoire ...
Figure 1 : Schéma d’un circuit logique combinatoire avec : Sj (t) = f (E1(t), E2(t),…,
Ei(t), ..., En-1(t)) et 0 ≤ i ≤ n -1 et 0 ≤ j ≤ m – 1.
On a donc une fonction f (f : {0, 1}n {0, 1}), ayant comme ensemble de départ un
produit cartésien de l’ensemble {0, 1} et comme ensemble d’arrivée l’ensemble {0, 1}.
Donc les valeurs simples manipulées par cette fonction sont des valeurs logiques (0 ou
1). C’est pour cela qu’elle est appelée fonction logique.
On dit alors, que chaque circuit logique combinatoire possède une ou plusieurs
fonctions logiques (autant de fonctions que de sorties) dont chacune est définie par une
table de correspondance entre les états d’entrées et les états de sorties. Un état des
entrées est défini par une combinaison de valeurs prises par les entrées à un instant
donné. Cette table de correspondance est appelée table de vérité.
Exemple :
A1 A2 F(A1, A2)
0 0 0
0 1 1
1 0 1
1 1 1
Remarque :
Les fonctions logiques peuvent être aussi définies sous
forme de diagramme ou d’expression algébrique.
2
2.2. Algèbre de Boole
Elle s’applique à des fonctions logiques de variables logiques. Toute fonction de ce
type peut s’exprimer comme combinaison d’un petit nombre de fonctions logiques de
base appelées aussi opérateurs logiques ou portes logiques.
La table de vérité d’une fonction de n variables possède 2n états d’entrées. Pour chacun
n
de ces états, la sortie peut prendre la valeur 0 ou 1, ainsi pour n variables, on a 22
fonctions logiques possibles.
a) Les opérateurs de base
L’opérateur NON (NOT) :
L’opérateur NON est une fonction logique a une seule variable. Elle prend l’état 1, ssi
l’entrée est à l’état 0. Elle a comme table de vérité et symbole :
L’opérateur ET (AND) :
L’opérateur ET est une fonction logique qui a deux entrées. La sortie est à l’état 1, ssi
toutes les entrées sont à l’état 1. (Voir table de vérité et symbole ci-dessous).
L’opérateur OU (OR) :
L’opérateur OU est une fonction à deux variables logiques, qui a comme sortie l’état 1,
ssi au moins l’un des entrées est à l’état 1.
3
b) Théorèmes de l’algèbre de Boole
Théorème des constantes:
a+1 =1
a+0 =a
ax1 =a
ax0 =0
Théorème Idempotence:
a+a =a
axa =a
Théorème de complémentation :
a+a =1
axa =0
Théorème de la commutativité:
a+b =b+a
ab =ba
Théorème de la distributivité :
a x (b + c) = a x b + a x c
a + b c = (a + b) x (a + c)
Théorème de l’associativité :
(a + b) + c = a + (b + c) = a + b + c
(a x b) x c = a x (b x c) = a x b x c
Théorème de De Morgan :
a×b = a +b
a +b = a•b
Théorème de l’involution :
a=a
Application :
Démontrer en utilisant l’algèbre de Boole, les formules suivantes :
1/ a + ab = a
2/ a + (a b) = a +b
3/ a (a + b) = a
4/ (a + b) (a + b) = a
4
Solution :
1/ a + a b = a (1 + b)
car a ( 1 + b) = a + a b
donc a + a b = a (1 + b) = a . 1 = a
2/ a + (a b) = (a + a) (a + b) = 1 . (a + b) = a + b
3/ a (a + b) = (a . a) + a . b = a + a . b = a
4/ (a + b) (a + b) = a (a + b) + b (a + b)
=aa+ab+ba+bb
=a+ab+ab+0
= a + a (b + b) = a + a = a
Etats (a, b)
00 01 10 11 Fonction
0 0 0 0 f1 = 0
0 0 0 1 f2 = a b
0 0 1 0
f3 = ab
0 0 1 1 f4 = ab +ab = a (b + b) = a
0 1 0 0 f5 = a.b
0 1 0 1 f6 = ab + ab = b(a + a ) = b
0 1 1 0 f7 = ab + ab
0 1 1 1 f8 = ab + ab + ab = ab + a (b + b) = ab + a = a + b
1 0 0 0
f9 = a b
1 0 0 1 f10 = ab + ab
1 0 1 0 f11 = ab + ab = b(a + a ) = b
1 0 1 1 f12 = ab + ab + ab = ab + a (b + b) = (a + a )(a + b) = a + b
1 1 0 0 f13 = ab + ab = a(b + b) = a
1 1 0 1 f14 = ab + ab + ab = ab + (a + a)b = ab + b = (b + a)(b + b) = b + a
1 1 1 0 f15 = ab + ab + ab = a + ab = a + b
1 1 1 1 f16 = 1
d) Opérateurs complémentaires
L’opérateur XOR (OU- exclusif) :
La sortie d'une fonction OU-exclusif (XOR) à deux entrées est dans l'état 1 si une
entrée et seulement une est à l'état 1.
5
table de vérité Symbole :
A B
0 0 0
0 1 1
1 0 1
1 1 0
Figure 5 : Table de vérité et schéma de la porte OU exclusif.
Une négation à la sortie d'une porte OU constitue une fonction NON OU (NOR :
NOT OR).
table de vérité Symbole :
A B
0 0 1
0 1 0
1 0 0
1 1 0
Chacun de ces deux opérateurs est dit complet car il permet a lui seul de réaliser toutes
les opérations de base. Les fonctions logiques que l’on cherche à réaliser s’expriment
généralement a l’aide des opérateurs de base. On peut aussi les exprimer à partir d’un
6
seul opérateur soit le NAND, soit le NOR. De telles logiques sont intéressantes de
point de vue pratique car les opérateurs complets NAND et NOR peuvent souvent
conduire a des performances techniques et économiques meilleures que les opérateurs
de base.
Exemple :
Equivalent des portes logiques de base avec des portes NOR :
Application :
Donner l’équivalent des portes logiques de base avec des portes NAND.
Exemple :
Additionneur binaire (1bit)
C’est un circuit logique capable de faire la somme de deux nombres de 1bit selon la
table d’addition binaire suivante :
0+0 =0
0+1 =1
1+0 =1
1 + 1 = 0 avec retenu de 1.
7
Première version : demi-additionneur 1 bit :
Somme
A 1/2 Add S
bianiare
Entrees 2 nbres
B 1 bit R Retenue
Eléments de réponse :
Travail à faire :
1/ Réaliser l’additionneur complet tout en montrant que
S = A ⊗ ( B ⊗ R' )
R = B ( A ⊗ R ) + AR '
2/ Faire la Synthèse d’un additionneur complet a l’aide du ½ additionneur 1bit.
2.4. Applications :
Application 1 :
Exprimer le logigramme de la première version d’additionneur 1bit sous forme de
portes NAND.
Application 2 :
Vous voulez construire un circuit logique capable de comparer entre eux deux
nombres binaires. En entrée, on dispose de deux nombres de 3 bits chacun :
A=(A2A1A0)2 et B= (B2B1B0)2.
8
En sortie on veut avoir : X= 1 si (A2A1A0)2 = (B2B1B0)2
X=0 si (A2A1A0)2 ≠ (B2B1B0)2
1/ Réaliser un comparateur 1bit en Montrant que S = A ⊕ B .
A
Entrees Comp 1 bit S S
B
B0
Eléments de la solution :
Pour résoudre la question 2 il faut faire un raisonnement logique :
X est vraie ssi S0 est vraie et S1 est vraie et S2 est vraie
X=S0 S1 S2 = A0 ⊕ B0 • A1 ⊕ B1 • A2 ⊕ B2
Ce qui conduira au schéma suivant :
A1 A Comp X
B1 B 1bit
S1
A0 A Comp X S0
X
B0 B 1bit
S2
A2 A Comp X
B2 B 1bit
Application 3 :
A/ Réaliser les circuits logiques suivants qui traitent deux entiers représentés sur n bits.
1/ Opérateur complément a 1.
2/ Additionneur complément a 1.
3/ Soustracteur complément a 1.
B/ Réaliser un circuit qui peut faire a la demande l’une des opérations d’addition, de
soustraction et de comparaison.
9
Eléments de la solution :
Les circuits à réaliser possèdent les schémas synoptiques suivants :
An-1 CA n-1
A
Operateur
Ca1
A0 CA
An-1 CA n-1
A0 CA0
A { A0 SC0
An-1 Add
Ca1
n bits SCn-1
B
B { B0
n-1
Soustracteur / C (Débordement)
Donnée1
Comparateur / Z (comparaison)
Comparateur
Donnée2 R0 Résultat
N bits Rn-1
Remarque :
Un raisonnement logique nous permet de déduire des
circuits combinatoires complexes à l’aide de circuits
élémentaires. Ce qui nous permet d’éviter la complexité du
raisonnement avec la démarche classique de synthèse.
10
2.5. Circuits de multiplexage et de démultiplexage
a) Le multiplexeur :
Schéma de principe :
Donnees
{
e 2 k-1 e1 e0
Aut
Commandes (@) { k bits Mux
S
Figure 12 : Schéma de principe d’un multiplexeur.
Fonctionnement :
Si Aut = 0 alors S = 0 ∀ ai 0 ≤ i ≤ k-1 et ej , 0 ≤ j ≤ 2k-1
Si Aut = 1 alors si (ak-1 … a0)2 = α10 ; alors S = eα
e3 e2 e1 e0
a0 Aut
a1
Mux
S
Figure 13 : Schéma de principe d’un multiplexeur à 4 adresses.
Aut a1 a0 α S
0 X X X 0
1 0 0 0 e0
1 0 1 1 e1
1 1 0 2 e2
1 1 1 3 e3
S = Aut ( a 0 a 1 e 0 + a 0 a 1 e1 + a 0 a1 e 2 + a 0 a1 e 3 )
11
b) Demultiplexeur :
Schéma de principe :
Aut
Commandes (@) { k bits Demux
s 2 k-1 s1 s0
{
Sortie de donnees
Figure 13 : Schéma de principe d’un démultiplexeur.
Fonctionnement :
si Aut = 0 alors S = 0 ∀ E et ∀ ai 0 ≤ i ≤ k-1
si Aut = 1 alors si (ak-1 … a0) = ∝10 alors S∝ = E et Sj= 0 ∀j 0 ≤ j ≤ 2k-1 et j ≠ ∝
a0 Aut
a1 Demux
s3 s2 s1 s0
Aut a1 a0 α S0 S1 S2 S3
0 X X X 0 0 0 0
1 0 0 0 E 0 0 0
1 0 1 1 0 E 0 0
1 1 0 2 0 0 E 0
1 1 1 3 0 0 0 E
S 0 = Aut.a 0 .a 1 .E
S1 = Aut.a 0 .a 1 .E
S 2 = Aut.a 0 .a1 .E
S 3 = Aut.a 0 .a1 .E
12
Application 1 :
Partage d’un support de transmission entre plusieurs liaisons de données :
0 0
1 1
Tunis Mux Mux Bizerte
2 2
a0 a1 a0 a1
3 3
Aut Decodeur
S2k-1 S0
Figure 16 : Schéma de principe d’un décodeur.
Fonctionnement :
• Si Aut = 0 alors Si = 0, 0≤ i ≤ 2k – 1
• Si Aut = 1 alors Si (ak-1 … a0)2 = α10 alors Sα = 1 et Si=0, 0≤ i ≤ 2k – 1 et i ≠ α
b) Encodeur :
Fait correspondre à un code en entrée sur 2k lignes, un code sur k lignes.
Schéma de principe :
e2k-1 e0
Sak-1
k-1 a0
S
Figure 17 : Schéma de principe d’un encodeur.
13
Fonctionnement :
• eact = 1 ssi uniquement une des entrées est activée.
• eact = 0 dans le cas contraire.
o Si Aut = 0 alors Si = 0 ∀ 0≤ i ≤ k– 1
o Si Aut = 1 alors si eα = 1 alors (Sk-1 … S0)2 = α10
Application 1 :
Décodage de l’instruction à exécuter pour passer l’ordre approprié à l’UAL.
Application 2 :
Lecture d’un caractère à partir d’un clavier au niveau de son contrôleur.
14
3. Les circuits séquentiels
3.1. Définition
Les circuits séquentiels sont des circuits dont on doit tenir compte du temps de
propagation des signaux et de la mémoire du circuit (C’est la capacité de garder à la
sortie des valeurs logiques même si les entrées sont inexistantes). Les signaux de sortie
dépendent des signaux en entrée appliqués antérieurement.
S (t + ∆t ) = f ( E (t ))
E(t) circuit sequentiel
D Q
C Q
Fonctionnement :
Si C est active alors Q+ = Q(t + ∆t ) = D = D(t )
Si C est non active alors Q+= Q(t + ∆t ) = Q = Q (t )
C est active selon 3 modes :
3
- Front montant (1)
- Front descendant (2) 1 2
- Palier (3) 3
15
Le bistable D (Delay) recopie sur sa sortie son entrée avec un certain retard ∆t
C est généralement alimentée par un signal de commande dit horloge et qui est
également périodique. Dans la plupart des cas, C est activé sur des fronts montants.
Chronogramme d’un bistable D
Un chronogramme d’un circuit séquentiel est graphique qui montre l’évolution des
entrées et des sorties de ce circuit en fonction du temps.
T/2
T/2
C
1 1 0 1 0 0
D 0
Q t
3.3. Applications
a) les registres
Définition :
Un ensemble de bistables montés en parallèles pour mémoriser une information
binaire.
Application 1
Réaliser un registre mémoire (4bits) avec lecture/écriture en parallèle et deux ordres
l’un pour la lecture et le deuxième pour l(écriture. :
E3 E2 E1 E0
R
c
w
S3 S2 S1 S0
Figure 22 : schéma synoptique un registre mémoire (4bits) avec lecture/écriture en
parallèle.
16
Eléments de la solution :
W
E0 E1 E2 E3
D Q Q
D Q D Q D Q
C Q C Q C Q C Q
C
S0 S1 S2 S3
Application 2 :
Réaliser un registre (3 bits) de décalage à droite, avec insertion de zéro dans le bis le
plus à gauche.
b) les compteurs
Définition :
Ce sont des registres dont les sorties reflètent séquentiellement dans le temps les
valeurs 0, 1, 2,….. 2k-1, 2k
On parle de compteur n bits ou de compteur modulo 2n
T+dt
1 2
T
0 2n-2
2n-1 2n-3
T+ (2n-1)dt
17
Exemple 1 :
Réalisation d’un compteur 1 bit :
Solution :
Q0 D0 D0 = Q0 D0 Q0
0 1 0 1
1 0 C0 Q0
H
Figure 24 : Réalisation d’un compteur modulo 2.
Exemple 2 :
Réalisation d’un compteur 2 bits :
Eléments de solution :
Q1 Q0 D1 D0
D0 Q0 D0 Q0 0 0 0 1
0 1 1 0
C0 Q0 C0 Q0 1 0 1 1
1 1 0 0
H H
Figure 25 : Réalisation d’un compteur modulo 4.
Application :
Réalisation un compteur 2 bits, qu’on peut initialiser avec une valeur de départ et ce en
utilisant les entrées asynchrones des bascules D.
Les entrées asynchrones d’une bascule D agissent sur sa sortie et ce sans prendre en
considération l’entrée de commande. La première entrée connue sous le nom de SET
permet la mise à 1 de la sortie Q0. La deuxième, appelé CLEAR, permet de forcer la
sortie Q0 à 0. Elle est active à 0.
SET
D0 Q0
C0 Q0
H CLR
Figure 26 : Bistable D avec des entrées asynchrones.
18