Circuit Logique Chap 5
Circuit Logique Chap 5
Circuit Logique Chap 5
CIRCUITS LOGIQUES
COMBINATOIRES
Circuits arithmétiques
TRABELSI Hichem
Attention !
1 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
CIRCUITS ARITHMETIQUES
Objectif du chapitre
Le présent chapitre commence par l’étude des additionneurs complets afin de les utiliser
par la suite pour la réalisation des additionneurs binaires parallèles à plusieurs bits.
Nous expliquons ensuite la différence entre les additionneurs à propagation de retenue
et à anticipation de retenue. Nous enchaînons par l’étude des soustracteurs qui sont
obtenus à partir d’additionneurs en utilisant la notion de complément à 2. Nous
terminons ce chapitre par l’étude des multiplieurs et des unités arithmétiques et
logiques.
Additionneur
Demi-additionneur
C’est un circuit qui fournit la somme modulo 2 et la retenue de deux chiffres binaires. Appelons
Ai, Bi les deux variables d’entrée représentant les bits à additionner, Si la somme et Ri la retenue
(C : appelée "carry" en anglais).
La table de vérité du demi additionneur est la suivante :
Ai Bi Si Ri
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Si = Ai .Bi + Ai .Bi = Ai ⊕ Bi
Ri = Ai ⋅ Bi
Le circuit logique du demi-additionneur est donné par l’applet.
Le demi-additionneur ne peut faire que l’addition des deux chiffres de plus faible poids,
puisqu’il ne peut pas prendre en compte la retenue qui provient d’une addition précédente. Pour
résoudre cette difficulté on utilise un circuit à trois entrées: c'est l’additionneur complet (A.C).
2 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Ai Bi Ri-1 Si Ri
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 partir des additionneurs complets (A.C), il est facile d'effectuer l'addition de deux nombres
binaires à N bits. Cette addition est réalisée par la mise en cascade de N additionneurs complets,
comme le montre le montage de la figure ci-dessous, Il s'agit d'un additionneur parallèle, parce
qu'on additionne toutes les colonnes en même temps.
RN-1 RN-2 ….. R1 R0
AN-1 ….. A2 A1 A0
+
BN-1 ….. B2 B1 B0
Ri-1 Si S0
SN SN-1 ….. S2 S1 S0 A0 Ai (A.C)
B0 Bi Ri R0
Ri-1 Si S1
A1 Ai (A.C)
B1 Bi Ri R1
Ri-1 Si S2
A2 Ai (A.C)
B2 Bi Ri R2
Ri-1 Si SN-1
AN-1 Ai (A.C)
BN-1 Bi Ri RN-1
3 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
R3 R2 R1 R0 R-1
A3 A2 A1 A0
+ B3 B2 B1 B0
S4 S3 S2 S1 S0
On en déduit aisément les expressions des retenues de chaque colonne en fonction des termes
de génération et de propagation:
R0 = G0 + R-1.P0
R1 = G1 + R0.P1 = G1 + G0.P1 + R-1.P0.P1
R2 = G2 + R1.P2 = G2 + G1.P2 + G0.P1.P2 + R-1.P0.P1.P2
4 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
G P
On voit ainsi que chacune des retenues ne dépend que des nombres à additionner par
l'intermédiaire des fonctions Gi et Pi et de la retenue rentrante R-1.
Une fois calculées les expressions des retenues, on calculera l'expression des sommes
partielles Si en fonction de Gi et Pi:
Si = Ai ⊕ Bi ⊕ Ri-1 = Pi ⊕ Ri-1 avec Ri-1 est fonction de Gi et Pi
On note bien que les temps de calcul des retenues sont égaux à la somme des temps de transit
dans une porte ET et une porte OU en cascade. Cela montre l'augmentation de la rapidité
d'exécution des opérations, d'où l'intérêt des additionneurs à retenues anticipées. Toute fois cette
rapidité s'accompagne d'une augmentation sensible de la complexité du circuit interne des
additionneurs. Une telle complexité n'est plus un problème avec l'évolution de la technologie
intégrée.
De nombreux additionneurs sous forme intégrée exploitent la technique de l'anticipation du
report afin de réduire le temps de retard de propagation.
La structure d'un additionneur à retenue anticipée est donnée par la figure ci-dessous :
B3 A3 B2 A2 B1 A1 B0 A0
Calcul des
Pi et Gi
P3 G3 P2 G2 P1 G1 P0 G0
P2 G0 P2 P3 P1 R-1
P1 P2 P0
G3 G2 P3 G1 P3 P3 P1 P2 P0
G2 G1 P2 G0 P2 P1 R-1 G1 P1 G0 P1 P0 R-1 G0 P0 R-1
Calcul des
restes Ri
R3 R2 R1 R0
B3 A3 B2 A2 B1 A1 B0 A0
R-1
Calcul des
sommes Si
R4 S3 S2 S1 S0
Cette structure d'additionneur à retenue anticipée est celle qui est adoptée pour la réalisation
des circuits intégrés (on ne fabrique plus les additionneurs à retenues propagées). Parmi les
additionneurs les plus courant le C.I 7483.
Il existe d'autres circuits intégrés qui ne calculent que les retenues Ri en fonction de Gi et Pi et
les deux termes de génération G et propagation P, c'est le cas du générateur de retenue anticipée
(Look-Ahead Carry: L.A.C) 74182. C'est un circuit très utile car il sert à anticiper la création du
report, surtout quand on l’utilise avec l'unité arithmétique et logique, qui fera l'objet de la fin de
ce chapitre.
5 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Additionneur B.C.D
Avant d’étudier ce type d’additionneur, voyons les étapes à suivre pour additionner en code
B.C.D.
- Additionner les représentations codées BCD pour chaque rang du chiffre décimal.
- Pour les rangs du nombre dont la somme est inférieure à 9, la réponse est déjà une
représentation B.C.D, aucune correction n’est nécessaire.
- Quand la somme dépasse 9, il faut faire une correction en additionnant 6 (0110), ceci à pour
effet de générer un report ramené au rang supérieur.
Exemple :
1 1
889 en B.C.D 1000 1000 1001
+376 0011 0111 0110
1265 1100 0000 1111
0110 0110 0110 ← terme de correction
report → 1 0010 0110 0101
Le diagramme de Karnaugh suivant nous montre comment on peut effectuer cette opération.
S 1 .S 0 S 1 .S 0 S 1 . .S 0 S 1 .S 0
S 3 .S 2 0 0 0 0
S 3 .S 2 0 0 0 0
S 3 .S 2 1 1 1 1
S 3 .S 2 0 0 1 1
6 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Y3 Y2 Y1 Y0 X3 X2 X1 X0
B3 B2 B1 B0 A3 A2 A1 A0
Report venant du
C4 7483 C0 digit inférieur
S3 S2 S1 S0
Report vers le
digit supérieur
X
B3 B2 B1 B0 A3 A2 A1 A0
7483 C0
S3 S2 S1 S0
S3 S2 S1 S0
Additionneur B.C.D
Il est possible de raccorder plusieurs additionneurs B.C.D en cascade pour additionner des
nombres à N bits.
B7 B6 B5 B4 A7 A6 A5 A4 B3 B2 B1 B0 A3 A2 A1 A0
Report
X Additionneur B.C.D C0 X Additionneur B.C.D C0
S7 S6 S5 S4 S3 S2 S1 S0
Soustracteur
La soustraction se résume à une opération d’addition, si on exprime les nombres négatifs selon
la notation en complément à 2 (voir chapitre-I).
7 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Pour effectuer cette soustraction en utilisant l'additionneur complet, il faut tout d'abord
effectuer le complément à 2 de B3B2B1B0, pour cela on prend le complément à 1 à l'aide des N
inverseurs et on ajoute ensuite 1 au bit de poids le plus faible, le résultat de la soustraction
apparaîtra sur les sorties de l'additionneur, en code exact ou en complément à 2 selon le bit de
signe D3 (M.S.B). La retenue D4 représentée n'est pas significative.
La figure ci-dessous montre comment un additionneur peut servir comme soustracteur.
B3 B2 B1 B0
A3 A2 A1 A0
Report non 5V
C4 Addidionneur à 4 bits C0
significatif
D3 D2 D1 D0
A3 A2 A1 A0
+/- B3 B2 B1 B0
C0
S4 S3 S2 S1 S0 A0
B0
A1 S0
B1
additionneur S1
A2
S2
B2
A3 S3
B3
C4
ADD = 0 S4
SUB = 1
8 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Des portes XOR ont été rajoutées aux entrées Bi de chaque additionneur comme inverseurs
commandés par un signal de commande ( ADD = 0 en addition et SUB = 1 en soustraction).
- Quand ADD = 0, les entrées Bi ne sont pas inversées et C0 = 0, le circuit fonctionne alors
comme un additionneur.
- Quand Sub = 1, les entrées Bi sont inversées et C0 = 1, alors le nombre B est complémenté à 2,
par conséquent le circuit fonctionnera comme soustracteur.
Quand on effectue une opération de soustraction, le report C4 est mis à 0 par la porte ET, car il
n'est pas un chiffre significatif.
L’applet suivant donne un exemple d’addition ou bien de soustraction de deux nombres binaires
à 4 bits.
Multiplieur
Le processus de la multiplication est illustré par un exemple de multiplication de deux nombres
binaires à 4 bits suivant :
a3 a2 a1 a0 Multiplicande
b3 b2 b1 b0 Multiplicateur
a3b0 a2b0 a1b0 a0b0 1er produit partiel
a3b1 a2b1 a1b1 a0b1 2ème produit partiel + décalage
∑ 15 ∑ 14 ∑ 13 ∑ 12 ∑ 11 Somme partielle ∑
1
P7 P6 P5 P4 P3 P2 P1 P0 Produit
La multiplication de deux nombres binaires à 4 bits est effectuée par un multiplieur parallèle
utilisant des additionneur complets (A.C) selon le schéma ″cellulaire″ de la figure ci-dessous.
∑ ∑ ∑ ∑
∑ ∑ ∑ ∑ ∑
P7 P6 P5 P4 P3 P2 P1 P0
9 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
B3 B2 B1 B0 A3 A2 A1 A0
C4 ADDITIONNEUR 7483 C0
S 3 S2 S1 S0
B3 B2 B1 B0 A3 A2 A1 A0
C4 ADDITIONNEUR 7483 C0
S3 S2 S1 S0
B3 B2 B1 B0 A3 A2 A1 A0
C4 ADDITIONNEUR 7483 C0
S3 S2 S1 S0
P7 P6 P5 P4 P3 P2 P1 P0
10 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Fi = X i ⊕ Yi ⊕ C i −1 pour i=0,1,2,3
C −1 = M .C n
C 0 = M .(Y0 + X 0 .C n )
C1 = M .(Y1 + Y0 .X 1 + X 1 .X 0 .C n )
C 2 = M .(Y2 + Y1 .X 2 + Y0 .X 2 .X 1 + X 2 .X 1 .X 0 .C n )
On résume dans le tableau ci-dessous les différents fonctions réalisées par le 74181, pour des
opérandes actifs au niveau haut.
11 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Cn A3 A2 A1 A0 B3 B2 B1 B0
M
S3 X
S2 U.A.L : 74181
S1 Y
S0
F 3 F2 F1 F0 A=B Cn+4
12 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
Cn A3 A2 A1 A0 B3 B2 B1 B0
M
S3 P
S2 U.A.L : 74181
S1 G
S0
F 3 F2 F1 F0 A=B Cn+4
13 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
S3
S2
S1 G ou Y
S0
X3
B3 CN+4
ou ou
B3 P ou X CN+4
Y3
A3
ou F3
A3 ou
X2 F3
B2
ou
B2 C2
Y2
A2
ou F2
A2 ou
X1 F2
B1
ou C1
B1
Y1
A1 F1
ou ou
A1 F1
X0 C0
B0
ou
B0
Y0 F0
ou
A0
F0
ou
A0 C-1
M
CN ou CN
14 TRABELSI Hichem