Cours 1
Cours 1
1. Introduction
Notons qu’il existe deux types de circuits logiques :
Circuits logiques séquentiels : c’est des circuits dont les valeurs de sortie dépendent d’entrée
appliquées ultérieurement.
Circuits logiques combinatoires : c’est des circuits dont les valeurs de sortie ne dépendent que
de ses valeurs d’entrée.
Un circuit logique combinatoire est constitué d’éléments logiques élémentaires appelés
portes logiques, elles reçoivent des signaux appliqués en entrée et produisent des signaux en
sortie.
Variables .
. Circuit .
. Variables
d’entrée . Combinatoire . de sortie
a
b 2 f(a,b,c)
c
Symbole logique du circuit 2/3
• Table de vérité
a B c f(a, b, c)
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
1
• Expression logique
f (a, b, c ) = a .b.c + a.b .c + a.b.c + a.b.c.
• Simplification
ab 00 01 11 10 a.b
c
0 1 a.c
1 1 1 1
b.c
b f(a, b, c)
c
Circuit 2/3
3. Analyse d’un circuit combinatoire
Pour analyser un circuit combinatoire, on suit les étapes suivantes :
1. Déterminer les expressions logiques des variables de sortie.
2. Dresser la table de vérité du circuit et la traduire par un énoncé décrivant le rôle du
circuit.
Exemple
Quel est le rôle de la fonction f représentée par le logigramme suivant :
f(a, b, c)
• Expression logique
f (a, b, c) = a + a.c + b .c + b.c .
• Table de vérité
a b c f(a, b, c)
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
2
4. Exemples de circuits combinatoires
On fera la synthèse des circuits combinatoires les plus utilisés dans la technologie des
ordinateurs et ailleurs.
4.1. Additionneurs de base
4.1.1. Demi -additionneur
Rappelons les règles d’addition binaire :
Entrées Sorties
A B Somme ( ∑ ) Retenue ( Csor )
0+0 0 0
0+1 1 0
1+0 1 0
1+1 0 1
Ces opérations s’effectuent par un circuit logique appelé un demi-additionneur, qu’on note
DA. Un DA est symbolisé par le symbole logique suivant :
1 ∑
2
A ∑ Somme
Bits d’entrée Sorties
B Csor
Re tenue
• Expressions logiques
∑ = A⊕ B
.
Csor = A.B
• Logigramme
Csor
Demi-Additionneur
4.1.2. Additionneur complet
Il faut tenir compte de la retenue éventuelle des bits de poids inférieurs, d’où la nécessité
d’un circuit additionneur comportant trois entrées et deux sorties ; c’est ce qu’on appelle :
Additionneur Complet, qu’on note AC et dont le symbole logique est :
3
∑
A ∑ Somme
Bits d’entrée
Bits de sortie
B Csor
Re tenue de sortie
Retenue d’entrée Cen
A B Cen ∑ Csor
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
• Expressions logiques
∑ = ( A ⊕ B) ⊕ C en
.
C sor = A.B + ( A ⊕ B ).C en
Retenue de sortie
• Logigramme
Cen
C sor
Additionneur complet
4
En pratique pour minimiser le nombre de composants, ou de portes logiques dans un
circuit intégré, un tel additionneur n’est pas réalisé directement. Nous pouvons simplifier
l’expression de Csor en utilisant la table de Karnaugh.
A B00 01 11 10
c AB
0 1
1 1 1 1 ACen
BCen
Nous en déduisons :
Csor = AB + ACen + BCen
AC sor = AB C en
BC sor = A BC en
C en C sor = A B C en
Additionneur complet
5
Exemple
∑
0 A ∑ 0
1 B Csor
1
1 Cen
A4 B4 A3 B3 A2 B2 A1 B1
C0
C4 ∑ 4 C3 ∑3 C2 ∑ 2 C1 ∑1
1 1
Nombre binaire A 2 A ∑ 2 Somme de 4 bits
3 3
4 4
1
Nombre binaire B 2B
3
4
Retenue
Retenue C0 C4
De sortie
d’entrée
6
Exemple
Soit à additionner : 101+011.
1 0 0 1 1 1
1 ∑2 1 ∑1
∑4 ∑3
1 0 0 0
4.2. Multiplexeurs
Un multiplexeur (MUX) est un circuit logique permettant d’acheminer les informations
numériques de plusieurs sources sur une seule ligne, donc un MUX de base possède 2n lignes
de données d’entrée et une seule ligne de sortie. Il comporte aussi n entrées de sélection des
données, permettant de désigner l’adresse de l’entrée choisie comme sortie. Les Mux sont
aussi connus sous le nom de sélecteurs de données.
Exemple : MUX à 4 entrées
MUX
0
Sélection des données S 0 G0/3
S1
1
y sortie des
D0 0 données
D1 1
Entrées de données
D2 2
D3
3
Ce MUX possède 2 lignes de sélection des données, puisqu’il est possible de sélectionner
l’une ou l’autre des 4 lignes d’entrée de données avec seulement 2 bits. Soit, la table de vérité
suivante :
Entrées de sélection
S1 S0 Entrée sélectionnée
0 0 D0
0 1 D1
1 0 D2
1 1 D3
7
La sortie des données est égale à D2 seulement si S1 = 1 et S0 = 0 : Y = D2 S1S0 .
La sortie des données est égale à D3 seulement si S1 = 1 et S0 = 1 : Y = D3S1S0 .
D’où la fonction de sortie :
Y = D0 .S1.S0 + D1.S1.S0 + D2 .S1.S0 + D3.S1.S0 .
Soit, le logigramme correspondant est :
MUX 4 1
Générateur de fonctions logiques : Une application utile du multiplexeur est de générer des
fonctions logiques combinatoires sous forme de sommes de produits. Il permet donc une
transcription directe de la table de vérité.
Exemple 1
Considérons par exemple la fonction à trois variables f ( A2 , A1, A0 ) définie par la table
suivante :
Entrées Sortie
A2 A1 A0 f ( A2 , A1, A0 )
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
La table de vérité montre que f vaut 1 pour les combinaisons de variables d’entrée : 001,
011, 101 et 110, f vaut 0 pour toutes les autres combinaisons. Afin de mettre en œuvre cette
fonction avec le sélecteur de données, l’entrée sélectionnée pour chacune des combinaisons
précédentes doit être connectée à un niveau haut. Toutes les autres entrées doivent être
connectées à un niveau bas.
8
MUX
A0 0
0
Variables d’entrée A1 1 G
7
A
2 2
0 f ( A2 , A1 , A0 ) = A2 A1 A0 + A2 A1 A0
1 1 + A2 A1 A0 + A2 A1 A0
2
3
4
5
6
7
Remarque
En général, toute fonction à n variables peut être réalisée avec un multiplexeur à 2n-1
entrées. Pour une telle fonction, (n-1) variables sont reliées aux lignes d’adresses, les lignes de
données sont commandées par la variable restante ou son complément ou 0 ou 1.
Exemple 2
Soit la fonction logique f définie par sa table de Karnaugh suivante :
ab
c 00 01 11 10
0 0 0 1 1
1 0 1 1 0
c MUX
0
b 0
1 G
7
a 2
f (a, b, c) = a bc + ab c + abc + abc
0
1
2
1 3
4
5
6
7
0
f (a, b, c) = a bc + ab c + ab
c 1
2
1 3
9
Exemple 3
Soit la fonction logique f définie par sa table de Karnaugh suivante :
ab 00 01 11 10
cd
0 1 0 1
00
01 I 1 0 1
11 1 0 0 I
10 0 1 1 1
c MUX
0
b 0
1 G
7
a 2
f (a, b, c) = a bc + ab c + abc + abc
d 0
1
1 2
3
4
5
6
7
4.3. Démultiplexeurs
Un démultiplexeur (DEMUX) effectue la fonction inverse d’un multiplexeur ; donc c’est
un circuit logique ayant une seule entrée de donnée, n entrées de sélection et 2n sorties.
L’entrée de donnée est reliée à la sortie désirée par l’adresse indiquée par les entrées de
sélection. On l’appelle aussi distributeur de données.
Exemple : DEMUX à 4 sorties
Faisant la synthèse d’un DEMUX à 4 sorties : y 0 , y1 , y 2 , y 3 , une entrée E et deux entrées
de sélection : S1 , S 2
• Table de vérité
S1 S0 y0 y1 y2 y3
0 0 E 0 0 0
0 1 0 E 0 0
1 0 0 0 E 0
1 1 0 0 0 E
10
• Logigramme
S1 S0
y0
y1
y2
y3
DEMUX à 4 sorties
La ligne d’entrée est connectée à toutes les portes ET. Les deux lignes de sélection de
données valident une seule porte à la fois. Les données de la ligne d’entrée traversent la porte
sélectionnée jusqu’à sa ligne de sortie.
4.4. Comparateurs
4.4.1. Egalité
Le ou-exclusif peut servir de comparateur de base, puisque sa sortie vaut 1 si les deux bits
à ses entrées sont différents :
A B A⊕ B A⊕ B
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
Exemple
Comparateur de deux nombres binaires de deux bits chacun A=A1 A0 et B=B1 B0. Pour
comparer les nombres A et B il faut utiliser une porte ou exclusif additionnelle ; une pour
comparer les bits du poids le plus faible et l’autre pour comparer les bits du poids le plus fort.
Pour produire une sortie simple indiquant une condition d’égalité ou d’inégalité, on peut
utiliser des inverseurs et une porte logique ET.
11
Exemple
4.4.2. Inégalité
Un comparateur à n bits est un circuit capable de comparer deux nombres binaires à n
bits chacun : A=An-1 An-2 …A1 A0 et B=Bn-1 Bn-2…B1 B0. Il a trois sorties S, E et I tel que ; S=1
ssi A> B, E=1 ssi A=B et I=1 ssi A< B.
Exemple
Comparateur à deux bits : Soient les deux nombres binaires A=A1 A0 et B=B1 B0.
Comp
A0 0
A1 1 S
A> B
A=B E
B0 0
A< B I
B1 1
A1 A0 00 01 11 10
B1 B0
00 E S S S
01 I E S S
11 I I E I
10 I I S E
• Table de Karnaugh de S
12
A1 A0 00 01 11 10
B1 B0
00 1 1 1
01 1 1
11
10 1
S = A1 B1 + A1 A0 B0 + A0 B1 B0
Fonction S
• Table de Karnaugh de E
A1 A0 00 01 11 10
B1 B0
00 1
01 1
1
11
10 1
E = A1 A0 B1 B0 + A1 A0 B1 B0 + A1 A0 B1 B0 + A1 A0 B1 B0
.
= ( A1 ⊕ B1 )(
. A0 ⊕ B0 )
Fonction E
• Table de Karnaugh de I
13
A1 A0 00 01 11 10
B1 B0
00
01 1
1 1 1
11
10 1 1
I = A1 B1 + A1 A0 B0 + A0 B1 B0
Fonction I
4.5. Décodeurs
Un décodeur permet d’identifier quelle combinaison est active ; sa fonction consiste à
faire correspondre à un code présent en entrée sur n bits une seule sortie active (=1) parmi
plusieurs sorties possibles. Toutes les autres sorties sont inactives.
Par exemple, un décodeur à n bits est un circuit logique ayant n entrées et 2 n sorties.
E0 S0
E1 S1
Décodeur
En-1 S2n-1
Décodeur à n entrées
Quant le code prend la valeur i la sortie S i est activée.
Exemple : Décodeur 1 parmi 4
Ce décodeur dispose de deux entrées a et b et quatre sorties où chacune correspond à une
des quatre combinaisons de ces variables d’entrées.
• Table de vérité
a b S0 S1 S2 S3
0 0 1 0 0 0
0 1 0 1 0 0
1 0 0 0 1 0
1 1 0 0 0 1
• Expressions logiques
S 0 = a b ; S1 = a b ; S 2 = ab ; S 3 = ab.
• Logigramme
14
ab
ab
ab
ab
Décodeur 1 parmi 4
4.6. Codeurs
Le codeur réalise l’opération inverse d’un décodeur, il génère un code de sortie différent
pour chaque signal d’entrée qui est sélectionné c’est à dire, à une entrée active (=1), parmi
plusieurs entrées il fait correspondre un code en sortie. Par exemple : décimal ou octal
convertit en BCD ou binaire.
Par exemple, un codeur à n bits est un circuit logique ayant 2 n entrées et n sorties.
E0 S0
E1 S1
Codeur
n
E2 -1 Sn-1
DEC/BCD
0
1
2
Entrée Décimale 3
4 1
5 2 Sortie BCD
6
7 4
8 8
9
15
• Table de vérité
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 A3 A2 A1 A0
1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 1
0 0 0 0 0 0 1 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 0 0 0 1 1 1
0 0 0 0 0 0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1
• Expressions logiques
A3=E8+E9 ;
A2=E4+E5+E6+E7 ;
A1=E2+E3+E6+E7 ;
A0=E1+E3+E5+E7+E9.
• Logigramme
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9
A3
A2
A1
A0
Codeur DEC/BCD
Exemple 2
Réalisons un codeur exprimant les digits 0 à 7 du système octal en leurs équivalents
binaires.
Oct/Bin
0
1
2 0 S1
1 S2
3
4 2 S3
5
6
7
16
• Table de vérité
E0 E1 E2 E3 E4 E5 E6 E7 S3 S2 S1
1 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0 1
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 1 1 1 1
• Expressions logiques
S1=E1+E3+E5+E7 ;
S2=E2+E3+E6+E7 ;
S3=E4+E5+E6+E7.
• Logigramme
E0 E1 E2 E3 E4 E5 E6 E7
S3
S2
S1
Codeur Oct/Bin
17