SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
CIRCUITS LOGIQUES COMBINATOIRES
Chap-V: circuits arithmétiques
1 TRABELSI Hichem
Université Virtuelle de Tunis
CIRCUITS LOGIQUES
COMBINATOIRES
Circuits arithmétiques
TRABELSI Hichem
Attention !
Ce produit pédagogique numérisé est la propriété exclusive de
l'UVT. Il est strictement interdit de la reproduire à des fins
commerciales. Seul le téléchargement ou impression pour un
usage personnel (1 copie par utilisateur) est permis.
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem2
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
Table de vérité d'un demi-additionneur
On déduit alors les expressions logiques de Si et de Ri.
iiiiiii BAB.AB.AS ⊕=+=
iii BAR ⋅=
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).
Additionneur complet (A.C)
C’est un circuit qui fournit la somme et la retenue de deux chiffres binaires et de la retenue du
rang précédent.
Pour cela l’additionneur complet est un circuit à trois entrées Ai, Bi et Ri-1 (report précédent)
et possédant toujours deux sorties somme Si et retenue Ri.
La table de vérité de l’additionneur complet est donnée par le tableau suivant :
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem3
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
Table de vérité d'un additionneur complet
- L’expression de la somme Si est alors:
1111 −−−− +++= iiiiiiiiiiiii R.B.AR.B.AR.B.AR.B.AS
)RBRB(A)RBRB(A iiiiiiiiii 1111 −−−− ⋅+⋅⋅+⋅+⋅⋅=
)RB.(A)RB.(A iiiiii 11 −− ⊕+⊕= 1−⊕⊕= iii RBA
- L’expression de la retenue Ri est:
1111 −−−− +++= iiiiiiiiiiiii R.B.AR.B.AR.B.AR.B.AR
( ) ( ) iiiiiiiiiiii B.AR.BAB.AR.B.AB.A +⊕=++= −− 11
Ce qui conduit au schéma donné par l’applet.
Additionneur parallèle à retenue propagée
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.
Additionneur parallèle de deux nombres binaires à N bits
L’applet suivant donne un exemple d’addition de deux nombres binaires à 4 bits.
Si
Ri
Ri-1
Ai
Bi
(A.C)A0
S0
B0 R0
Si
Ri
Ri-1
Ai
Bi
(A.C)A1
S1
B1 R1
Si
Ri
Ri-1
Ai
Bi
(A.C)A2
S2
B2 R2
Si
Ri
Ri-1
Ai
Bi
(A.C)AN-1
SN-1
BN-1
RN-1
AN-1 ….. A2 A1 A0
BN-1 ….. B2 B1 B0
SN-1 ….. S2 S1 S0
RN-1 RN-2 ….. R1 R0
SN
+
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem4
Additionneur à retenue anticipée
Les additionneurs parallèles étudiés précédemment appelés aussi additionneurs à retenue
propagée, présentent un inconvénient lié à la limitation de leur rapidité d'exécution des
opérations. Cette limitation est due à un phénomène appelé propagation du report, illustrée par
l'addition suivante de deux nombres binaires à 4 bits, effectuée à partir de quatre additionneur
complets :
La sortie S4 de l'additionneur complet (A.C)4 est fonction des retenues précédentes et en
particulier de R0, qui se propage à travers les quatre (A.C) avant d’arriver à S4. Il y a donc un
retard qui dépend de la vitesse de propagation des (A.C). Par exemple si chaque (A.C) présente
un retard de propagation de 50 ns, le résultat final ne s'affichera que 200 ns après l’application
des deux nombres à additionner.
De toute évidence cette situation empire si on veut additionner des nombres à plusieurs bits.
Heureusement, les concepteurs de C.I ont trouvé des solutions qui réduisent ce retard en
utilisant l'additionneur à retenue anticipée (Look-Ahead Carry: L.A.C). Dans ce dispositif toutes
les retenues sont calculées en parallèle, à partir des données, sans même calculer les sommes
partielles.
Pour expliquer le principe de l'additionneur à retenue anticipée, revenons à l'expression de la
retenue de l'additionneur complet:
iiiiii B.AR).BA(R +⊕= −1
Pour éviter des temps de calcul cumulatifs, il ne faut pas attendre un résultat de calcul de la
retenue précédente pour effectuer le calcul de la retenue suivante. Pour cela il faut
systématiquement recalculer chaque terme de l'expression ci-dessus de la façon suivante:
• On définit la variable génération :
Gi = Ai.Bi
Quand Ai = Bi = 1 ⇒ Gi = 1, (Ri=1) une retenue propre à la colonne i sera générée
indépendamment des colonnes précédentes.
• On définit la variable de propagation :
Pi = Ai⊕Bi
Quand Ai ou bien Bi vaut 1 ⇒ Pi = 1, (Ri = Ri-1) on dit que la retenue de la colonne i-1 est
propagée .
L'expression de Ri peut s’écrire de la façon suivante:
Ri = Gi + Pi.Ri-1
Cette expression montre que la colonne i fournit une retenue si elle en génère une ou qu'elle
propage celle de la colonne précédente.
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
R3 R2 R1 R0 R-1
A3 A2 A1 A0
+ B3 B2 B1 B0
S4 S3 S2 S1 S0
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem5
R3 = G3 + R2.P3 = G3 + G2.P3 + G1.P2.P3 + G0.P1.P2.P3 + R-1.P0.P1.P2.P3
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 :
Structure d'un additionneur à retenue anticipée
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.
B3 A3 B2 A2 B1 A1 B0 A0
P3 G3 P2 G2 P1 G1 P0 G0
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
P2 G0 P2 P3 P1 R-1
P1 P2 P0
R3 R2 R1 R0
R4 S3 S2 S1 S0
B3 A3 B2 A2 B1 A1 B0 A0
R-1
Calcul des
Pi et Gi
Calcul des
restes Ri
Calcul des
sommes Si
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem6
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
8 8 9 1000 1000 1001
+ 3 7 6 0011 0111 0110
1 2 6 5 1100 0000 1111
0110 0110 0110 ← terme de correction
report → 1 0010 0110 0101
Un additionneur BCD doit pouvoir matérialiser les étapes précédentes.
En général, quand deux représentations codées B.C.D A3A2A1A0 et B3B2B1B0 sont
appliquées à un additionneur parallèle 4 bits, il réalise l’opération suivante :
A3 A2 A1 A0
+ B3 B2 B1 B0
S4 S3 S2 S1 S0
En B.C.D, il existe six combinaisons interdites appelées pseudo-tétrades qui sont 1010, 1011,
1100, 1101, 1110 et 1111. Chaque fois que le résultat est une pseudo-tétrade ou supérieur à 15
(S4 = 1), il faut faire la correction en ajoutant 6 (0110). Pour cela il faut détecter ces pseudo-
tétrades ainsi que la mise à 1 de la retenue d’ordre le plus élevé S4 pour effectuer cette
correction.
Le diagramme de Karnaugh suivant nous montre comment on peut effectuer cette opération.
01 S.S 01 S.S 01 S.S . 01 S.S
23 S.S 0 0 0 0
23 S.S 0 0 0 0
23 S.S 1 1 1 1
23 S.S 0 0 1 1
On définit une variable logique P qui indique la présence d’une pseudo-tétrade.
L’expression de P se déduit du diagramme de Karnaugh (qui indique les six pseudo-tétrades
en caractère gras) par la relation suivante :
P = S2.S3 + S1.S3
Comme la correction doit se faire en présence d’une pseudo-tétrade ou en présence de S4, on
définit alors le terme X par la relation suivante :
X = S4 + S2.S3 + S1.S3
Quand X = 1, il faut additionner la correction (0110).
en B.C.D
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem7
La figure ci-dessous montre le circuit de l’additionneur B.C.D. Il est composé de deux
additionneurs 7483 et de quelques portes logiques qui produisent le terme de correction X.
Additionneur B.C.D
Il est possible de raccorder plusieurs additionneurs B.C.D en cascade pour additionner des
nombres à N bits.
La figure suivante illustre l’addition de deux nombres B.C.D à huit digits.
Mise en cascade de deux additionneur B.C.D
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).
B3 B2 B1 B0 A3 A2 A1 A0
S3 S2 S1 S0
7483 C0C4
B3 B2 B1 B0 A3 A2 A1 A0
7483 C0
X
S3 S2 S1 S0
S3 S2 S1 S0
Y3 Y2 Y1 Y0 X3 X2 X1 X0
Report vers le
digit supérieur
Report venant du
digit inférieur
B3 B2 B1 B0 A3 A2 A1 A0
S3 S2 S1 S0
Additionneur B.C.D
B7 B6 B5 B4 A7 A6 A5 A4
S7 S6 S5 S4
C0
XX Additionneur B.C.D
Report
C0
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem8
Soit à soustraire les deux nombres binaires à 4 bits suivants:
A3 A2 A1 A0
+ 3B 2B 1B 0B
1
D4 D3 D2 D1 D0
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.
Soustracteur à l'aide d'additionneur
Si veut effectuer l’opération d’addition ou de la soustraction selon qu'on utilise B comme
nombre positif ou négatif (complémenté à 2). On peut voir à la figure ci-dessous un circuit qui
sert à la fois comme additionneur et soustracteur de deux nombres binaires à 4 bits.
Additionneur-soustracteur de 2 nombres binaires à 4 bits
D3 D2 D1 D0
B3 B2 B1 B0
A3 A2 A1 A0
Addidionneur à 4 bits C0C4
5VReport non
significatif
A0
B0
A3 A2 A1 A0
B3 B2 B1 B0
S3 S2 S1 S0S4
+/-
A1
B1
A2
B2
A3
B3
S0
S1
S2
S3
S4
C0
C4
additionneur
ADD = 0
SUB = 1
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem9
A.C A.C A.C A.C
A.C A.C A.C A.C
A.C A.C A.C A.C
a3b0 a2b0 a1b0 a0b0
a0b1a1b1a2b1a3b1
a0b2a1b2a2b2a3b2
a0b3a1b3a2b3a3b3
0
∑∑∑∑
∑∑∑∑∑
P7 P6 P5 P4 P3 P2 P1 P0
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
∑1
5 ∑1
4 ∑1
3 ∑1
2 ∑1
1 Somme partielle ∑
1
a3b2 a2b2 a1b2 a0b2 3ème
produit partiel + décalage
∑ 2
5 ∑ 2
4 ∑ 2
3 ∑ 2
2 ∑ 2
1 Somme partielle ∑
2
a3b3 a2b3 a1b3 a0b3 4ème
produit partiel + décalage
∑ 3
5 ∑ 3
4 ∑ 3
3 ∑ 3
2 ∑ 3
1 Somme partielle ∑
3
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.
Multiplieur parallèle 4x4 bits à base d’additionneurs complets
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem10
S3 S2 S1 S0
S3 S2 S1 S0
Si on veut réaliser ce multiplieur à partir d’additionneurs intégrés 7483, on obtient le
montage de la figure ci-dessous.
a3b1 a2b1 a1b1 a0b1 a3b0 a2b0 a1b0 a0b0
B3 B2 B1 B0 A3 A2 A1 A0
C4 ADDITIONNEUR 7483 C0
S3 S2 S1 S0
a3b2 a2b2 a1b2 a0b2
B3 B2 B1 B0 A3 A2 A1 A0
C4 ADDITIONNEUR 7483 C0
a3b3 a2b3 a1b3 a0b3
B3 B2 B1 B0 A3 A2 A1 A0
C4 ADDITIONNEUR 7483 C0
P7 P6 P5 P4 P3 P2 P1 P0
Multiplieur parallèle 4x4 bits à base d’additionneurs 7483
Unité arithmétique et logique (U.A.L) :74181
C’est un circuit intégré capable d’effectuer des opérations logiques ou arithmétiques sur des
mots de 4 bits. Il dispose de :
- Huit entrées relatives aux deux nombres binaires à traiter A = A3A2A1A0 et B = B3B2B1B0.
- Une entrée de retenue Cn.
- Cinq entrées de sélections S3S2S1S0 complétées par une entrée M.
• Si M =1, l’U.A.L effectue une opération logique selon le code de sélection.
• Si M =0, l’U.A.L effectue une opération arithmétique selon le code de sélection.
- Quatre sortie F = F3F2F1F0, pour afficher le résultat de sortie.
- Une sortie de la retenue Cn+4.
- L’U.A.L comprend un comparateur qui met la sortie A=B à 1, chaque fois que les entrées A et
B sont égales et cela indépendamment du résultat F.
- Deux sorties relatives aux termes de propagation P (ou X) et de génération G (ou Y).
D’après le schéma interne du 74181 donné ci-dessous, on peut déduire les expressions
logiques suivantes :
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem11
1−⊕⊕= iiii CYXF pour i=0,1,2,3
23 S.B.AS.B.AX iiiii += Xi dépend de Ai, Bi et uniquement de S3, S2.
iiii AS.BS.BY ++= 01 Yi dépend de Ai, Bi et uniquement de S1, S0.
nC.MC =−1
( )nC.XY.MC 000 +=
( )nC.X.XX.YY.MC 011011 ++=
( )nC.X.X.XX.X.YX.YY.MC 0121202122 +++=
a- En mode logique : M=1, on a :
Ci-1=1, quelle que soit la valeur de i.
iiiiiiiii Y.XY.XYXYXF +=⊕=⊕⊕= 1
En remplaçant Xi et Yi par leurs expressions, données ci-dessus, on obtient pour chaque code
S3 S2 S1 S0 une expression logique Fi. On résume dans le tableau ci-dessous les différents cas
possibles.
b- En mode arithmétique : M=0, on a :
1−⊕⊕= iiii CYXF
Les termes Ci-1 peuvent avoir deux expressions possibles selon que nC =0 (sans retenue) ou
nC =1 (avec retenue).
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.
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem12
Cn A3 A2 A1 A0 B3 B2 B1 B0
M
S3 X
S2 U.A.L : 74181
S1 Y
S0
F3 F2 F1 F0 A=B Cn+4
Fonctions arithmétiques (M = 0)Sélection
S3 S2 S1 S0
Fonctions
logiques
(M = 1)
Cn=1
(sans retenue)
Cn=0
(avec retenue)
0 0 0 0 F = A F = A F = A plus 1
0 0 0 1 F = BA + F = A+B F = (A+B) plus 1
0 0 1 0 F = B.A F = A+ B F = (A+ B ) plus 1
0 0 1 1 F=0 F= Moins 1
(complément à 2)
F = 0
0 1 0 0 F = B.A F = A plus A. B F = A plus A. B plus1
0 1 0 1 F = B F = (A+B)plus A. B F = (A+B) plus A. B plus 1
0 1 1 0 F = A⊕ B F = A moins B moins 1 F = A moins B
0 1 1 1 F = A. B F = A. B moins 1 F = A. B
1 0 0 0 F = BA + F = A plus A.B F = A plus A.B plus 1
1 0 0 1 F = BA ⊕ F = A plus B F = A plus B plus 1
1 0 1 0 F = B F = (A+ B ) plus A.B F = (A+ B ) plus A.B plus 1
1 0 1 1 F = A.B F = A.B moins 1 F = A.B
1 1 0 0 F = 1 F = A plus A F = A plus A plus 1
1 1 0 1 F = A+ B F = (A+B) plus A F = (A+B) plus A plus 1
1 1 1 0 F = A+B F = (A+ B ) plus A F = (A+ B ) plus A plus 1
1 1 1 1 F = A F = A moins 1 F = A
Fonctions réalisées par 74181 pour des opérandes actifs
au niveau haut
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem13
Pour des opérandes actifs au niveau bas, on a le tableau suivant.
Cn A3 A2 A1 A0 B3 B2 B1 B0
M
S3 P
S2 U.A.L : 74181
S1 G
S0
F3 F2 F1 F0 A=B Cn+4
Fonctions arithmétiques (M = 0)Sélection
S3 S2 S1 S0
Fonctions
logiques
(M = 1)
Cn=0
(sans retenue)
Cn=1
(avec retenue)
0 0 0 0 F = A F = A moins 1 F = A
0 0 0 1 F = B.A F = A.B moins 1 F = A.B
0 0 1 0 F = BA + F = A. B moins 1 F = A. B
0 0 1 1 F = 1 F = Moins 1
(complément à 2)
F = 0
0 1 0 0 F = BA + F = A plus (A+ B ) F = A plus (A+ B ) plus 1
0 1 0 1 F = B F = A.B plus (A+ B ) F = A.B plus (A+ B ) plus
1
0 1 1 0 F = BA⊕ F = A moins B moins 1 F = A moins B
0 1 1 1 F = A+ B F = A+ B F = (A+ B ) plus 1
1 0 0 0 F = B.A F = A plus (A+B) F = A plus (A+B) plus 1
1 0 0 1 F = A⊕ B F = A plus B F = A plus B plus 1
1 0 1 0 F = B F = A. B plus (A+B) F = A. B plus (A+B) plus1
1 0 1 1 F = A+B F = A+B F = (A+B) plus 1
1 1 0 0 F = 0 F = A F = A plus A plus 1
1 1 0 1 F = A. B F = A.B plus A F = A.B plus A plus 1
1 1 1 0 F = A.B F = A. B plus A F = A B plus A plus 1
1 1 1 1 F = A F = A F = A plus 1
Fonctions réalisées par 74181 pour des opérandes actifs
au niveau bas
Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES
_____________________________________________________________________________________________________________________________________________
Chap-V: Circuits arithmétiques
TRABELSI Hichem14
Schéma interne de l’UAL 74181
X3
S3
S2
S1
S0
Y3
X2
Y2
X1
Y1
X0
Y0
C2
C1
C0
C-1
CN ou CN
M
A0
ou
A0
B0
ou
B0
B1
ou
B1
B3
ou
B3
B2
ou
B2
A1
ou
A1
A3
ou
A3
A2
ou
A2
F0
ou
F0
F1
ou
F1
F2
ou
F2
F3
ou
F3
G ou Y
P ou X
CN+4
ou
CN+4

Weitere ähnliche Inhalte

Was ist angesagt?

Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires wafawafa52
 
Chapitre2 (les systèmes de numération)
Chapitre2 (les systèmes de numération)Chapitre2 (les systèmes de numération)
Chapitre2 (les systèmes de numération)killua zoldyck
 
Cours signaux et systemes
Cours signaux et systemesCours signaux et systemes
Cours signaux et systemesFoulah Mustapha
 
Cours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.comCours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.commorin moli
 
Circuits logiques combinatoire
Circuits logiques combinatoireCircuits logiques combinatoire
Circuits logiques combinatoirelinuxscout
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivitéSana Aroussi
 
TP Compteurs - logique combinatoire
TP Compteurs - logique combinatoire TP Compteurs - logique combinatoire
TP Compteurs - logique combinatoire bilal001
 
Ch4 circuitscombinatoires
Ch4 circuitscombinatoiresCh4 circuitscombinatoires
Ch4 circuitscombinatoiresmickel iron
 
Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4ulrich loemba
 
20894657 cours-genie-autom-isai
20894657 cours-genie-autom-isai20894657 cours-genie-autom-isai
20894657 cours-genie-autom-isaiMayssa Rjaibia
 
Exercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieur
Exercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieurExercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieur
Exercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieurzahir99
 
Automatisme_cours.ppt
Automatisme_cours.pptAutomatisme_cours.ppt
Automatisme_cours.pptMarouaneLbk
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siNarûtö Bàl'Sèm
 
RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6Jamal Yasser
 
Exos de logique séquentielle
Exos de logique séquentielleExos de logique séquentielle
Exos de logique séquentielleMo Ur Ad Es-se
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfsalah fenni
 
Circuits Chp.3 RéGime SinusoïDal Permanent
Circuits  Chp.3  RéGime  SinusoïDal  PermanentCircuits  Chp.3  RéGime  SinusoïDal  Permanent
Circuits Chp.3 RéGime SinusoïDal PermanentChafik Cf
 
Compte rendu de tp de commande numerique
Compte rendu de tp de commande numeriqueCompte rendu de tp de commande numerique
Compte rendu de tp de commande numeriqueELMEHDYELWARDY
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 

Was ist angesagt? (20)

Les circuits combinatoires
Les circuits combinatoires Les circuits combinatoires
Les circuits combinatoires
 
Chapitre2 (les systèmes de numération)
Chapitre2 (les systèmes de numération)Chapitre2 (les systèmes de numération)
Chapitre2 (les systèmes de numération)
 
Cours signaux et systemes
Cours signaux et systemesCours signaux et systemes
Cours signaux et systemes
 
Cours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.comCours sur les circuits logiques câblés www.cours-online.com
Cours sur les circuits logiques câblés www.cours-online.com
 
Circuits logiques combinatoire
Circuits logiques combinatoireCircuits logiques combinatoire
Circuits logiques combinatoire
 
Chapitre 4 récursivité
Chapitre 4 récursivitéChapitre 4 récursivité
Chapitre 4 récursivité
 
TP Compteurs - logique combinatoire
TP Compteurs - logique combinatoire TP Compteurs - logique combinatoire
TP Compteurs - logique combinatoire
 
Métrologie
MétrologieMétrologie
Métrologie
 
Ch4 circuitscombinatoires
Ch4 circuitscombinatoiresCh4 circuitscombinatoires
Ch4 circuitscombinatoires
 
Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4Limites classiques de toutes les fonctions 4
Limites classiques de toutes les fonctions 4
 
20894657 cours-genie-autom-isai
20894657 cours-genie-autom-isai20894657 cours-genie-autom-isai
20894657 cours-genie-autom-isai
 
Exercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieur
Exercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieurExercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieur
Exercices corrigés-sur-convertisseurs-statiques-2-bac-science-d ingénieur
 
Automatisme_cours.ppt
Automatisme_cours.pptAutomatisme_cours.ppt
Automatisme_cours.ppt
 
Devoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 siDevoirs Algorithme + correction pour 4 si
Devoirs Algorithme + correction pour 4 si
 
RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6RECHERCHE OPÉRATIONNELLE SEMESTRE 6
RECHERCHE OPÉRATIONNELLE SEMESTRE 6
 
Exos de logique séquentielle
Exos de logique séquentielleExos de logique séquentielle
Exos de logique séquentielle
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Circuits Chp.3 RéGime SinusoïDal Permanent
Circuits  Chp.3  RéGime  SinusoïDal  PermanentCircuits  Chp.3  RéGime  SinusoïDal  Permanent
Circuits Chp.3 RéGime SinusoïDal Permanent
 
Compte rendu de tp de commande numerique
Compte rendu de tp de commande numeriqueCompte rendu de tp de commande numerique
Compte rendu de tp de commande numerique
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 

Ähnlich wie Chap05

regle de calcul TRI.pdf
regle de calcul TRI.pdfregle de calcul TRI.pdf
regle de calcul TRI.pdfhassanamibh
 
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variableMayssa Rjaibia
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage cDaoua Lotfi
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfYassine Sabri
 
chapitre3 de la hyper fréquence cours professionnel
chapitre3 de la hyper fréquence cours professionnelchapitre3 de la hyper fréquence cours professionnel
chapitre3 de la hyper fréquence cours professionnelSoufianeElbouti
 
Cours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bCours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bArthur Charpentier
 
Calcul commerciaux
Calcul commerciauxCalcul commerciaux
Calcul commerciauxMa Ac
 
article technologie kanban (1).pdf
article technologie kanban (1).pdfarticle technologie kanban (1).pdf
article technologie kanban (1).pdfLamia801371
 
article technologie kanban (1).pdf
article technologie kanban (1).pdfarticle technologie kanban (1).pdf
article technologie kanban (1).pdfLamia801371
 
article technologie kanban (1).pdf
article technologie kanban (1).pdfarticle technologie kanban (1).pdf
article technologie kanban (1).pdfLamia801371
 
ELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires IIELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires IIJerome LE NY
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011sunprass
 
Calage sur bornes minimales
Calage sur bornes minimalesCalage sur bornes minimales
Calage sur bornes minimalesAntoine Rebecq
 
Chapitre 6 - Les opérateurs et les expressions en C.pdf
Chapitre 6 - Les opérateurs et les expressions en C.pdfChapitre 6 - Les opérateurs et les expressions en C.pdf
Chapitre 6 - Les opérateurs et les expressions en C.pdfShiniGami0o0
 

Ähnlich wie Chap05 (20)

Muf141231
Muf141231Muf141231
Muf141231
 
Deversoir
DeversoirDeversoir
Deversoir
 
Présentation grafcet
Présentation grafcetPrésentation grafcet
Présentation grafcet
 
regle de calcul TRI.pdf
regle de calcul TRI.pdfregle de calcul TRI.pdf
regle de calcul TRI.pdf
 
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
17281795 commande-d-une-machine-a-courant-continu-a-vitesse-variable
 
Exercices en langage c
Exercices en langage cExercices en langage c
Exercices en langage c
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdf
 
chapitre3 de la hyper fréquence cours professionnel
chapitre3 de la hyper fréquence cours professionnelchapitre3 de la hyper fréquence cours professionnel
chapitre3 de la hyper fréquence cours professionnel
 
Smb20 sur 20
Smb20 sur 20Smb20 sur 20
Smb20 sur 20
 
Le grafcet
Le grafcetLe grafcet
Le grafcet
 
Td logique
Td logiqueTd logique
Td logique
 
Cours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2bCours gestion-actifs-r1-part-2b
Cours gestion-actifs-r1-part-2b
 
Calcul commerciaux
Calcul commerciauxCalcul commerciaux
Calcul commerciaux
 
article technologie kanban (1).pdf
article technologie kanban (1).pdfarticle technologie kanban (1).pdf
article technologie kanban (1).pdf
 
article technologie kanban (1).pdf
article technologie kanban (1).pdfarticle technologie kanban (1).pdf
article technologie kanban (1).pdf
 
article technologie kanban (1).pdf
article technologie kanban (1).pdfarticle technologie kanban (1).pdf
article technologie kanban (1).pdf
 
ELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires IIELE2611 Classe 4 - Filtres analogiques linéaires II
ELE2611 Classe 4 - Filtres analogiques linéaires II
 
124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011124776153 td-automatique-1 a-jmd-2011
124776153 td-automatique-1 a-jmd-2011
 
Calage sur bornes minimales
Calage sur bornes minimalesCalage sur bornes minimales
Calage sur bornes minimales
 
Chapitre 6 - Les opérateurs et les expressions en C.pdf
Chapitre 6 - Les opérateurs et les expressions en C.pdfChapitre 6 - Les opérateurs et les expressions en C.pdf
Chapitre 6 - Les opérateurs et les expressions en C.pdf
 

Chap05

  • 1. CIRCUITS LOGIQUES COMBINATOIRES Chap-V: circuits arithmétiques 1 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES Circuits arithmétiques TRABELSI Hichem Attention ! Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est strictement interdit de la reproduire à des fins commerciales. Seul le téléchargement ou impression pour un usage personnel (1 copie par utilisateur) est permis.
  • 2. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem2 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 Table de vérité d'un demi-additionneur On déduit alors les expressions logiques de Si et de Ri. iiiiiii BAB.AB.AS ⊕=+= iii BAR ⋅= 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). Additionneur complet (A.C) C’est un circuit qui fournit la somme et la retenue de deux chiffres binaires et de la retenue du rang précédent. Pour cela l’additionneur complet est un circuit à trois entrées Ai, Bi et Ri-1 (report précédent) et possédant toujours deux sorties somme Si et retenue Ri. La table de vérité de l’additionneur complet est donnée par le tableau suivant :
  • 3. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem3 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 Table de vérité d'un additionneur complet - L’expression de la somme Si est alors: 1111 −−−− +++= iiiiiiiiiiiii R.B.AR.B.AR.B.AR.B.AS )RBRB(A)RBRB(A iiiiiiiiii 1111 −−−− ⋅+⋅⋅+⋅+⋅⋅= )RB.(A)RB.(A iiiiii 11 −− ⊕+⊕= 1−⊕⊕= iii RBA - L’expression de la retenue Ri est: 1111 −−−− +++= iiiiiiiiiiiii R.B.AR.B.AR.B.AR.B.AR ( ) ( ) iiiiiiiiiiii B.AR.BAB.AR.B.AB.A +⊕=++= −− 11 Ce qui conduit au schéma donné par l’applet. Additionneur parallèle à retenue propagée 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. Additionneur parallèle de deux nombres binaires à N bits L’applet suivant donne un exemple d’addition de deux nombres binaires à 4 bits. Si Ri Ri-1 Ai Bi (A.C)A0 S0 B0 R0 Si Ri Ri-1 Ai Bi (A.C)A1 S1 B1 R1 Si Ri Ri-1 Ai Bi (A.C)A2 S2 B2 R2 Si Ri Ri-1 Ai Bi (A.C)AN-1 SN-1 BN-1 RN-1 AN-1 ….. A2 A1 A0 BN-1 ….. B2 B1 B0 SN-1 ….. S2 S1 S0 RN-1 RN-2 ….. R1 R0 SN +
  • 4. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem4 Additionneur à retenue anticipée Les additionneurs parallèles étudiés précédemment appelés aussi additionneurs à retenue propagée, présentent un inconvénient lié à la limitation de leur rapidité d'exécution des opérations. Cette limitation est due à un phénomène appelé propagation du report, illustrée par l'addition suivante de deux nombres binaires à 4 bits, effectuée à partir de quatre additionneur complets : La sortie S4 de l'additionneur complet (A.C)4 est fonction des retenues précédentes et en particulier de R0, qui se propage à travers les quatre (A.C) avant d’arriver à S4. Il y a donc un retard qui dépend de la vitesse de propagation des (A.C). Par exemple si chaque (A.C) présente un retard de propagation de 50 ns, le résultat final ne s'affichera que 200 ns après l’application des deux nombres à additionner. De toute évidence cette situation empire si on veut additionner des nombres à plusieurs bits. Heureusement, les concepteurs de C.I ont trouvé des solutions qui réduisent ce retard en utilisant l'additionneur à retenue anticipée (Look-Ahead Carry: L.A.C). Dans ce dispositif toutes les retenues sont calculées en parallèle, à partir des données, sans même calculer les sommes partielles. Pour expliquer le principe de l'additionneur à retenue anticipée, revenons à l'expression de la retenue de l'additionneur complet: iiiiii B.AR).BA(R +⊕= −1 Pour éviter des temps de calcul cumulatifs, il ne faut pas attendre un résultat de calcul de la retenue précédente pour effectuer le calcul de la retenue suivante. Pour cela il faut systématiquement recalculer chaque terme de l'expression ci-dessus de la façon suivante: • On définit la variable génération : Gi = Ai.Bi Quand Ai = Bi = 1 ⇒ Gi = 1, (Ri=1) une retenue propre à la colonne i sera générée indépendamment des colonnes précédentes. • On définit la variable de propagation : Pi = Ai⊕Bi Quand Ai ou bien Bi vaut 1 ⇒ Pi = 1, (Ri = Ri-1) on dit que la retenue de la colonne i-1 est propagée . L'expression de Ri peut s’écrire de la façon suivante: Ri = Gi + Pi.Ri-1 Cette expression montre que la colonne i fournit une retenue si elle en génère une ou qu'elle propage celle de la colonne précédente. 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 R3 R2 R1 R0 R-1 A3 A2 A1 A0 + B3 B2 B1 B0 S4 S3 S2 S1 S0
  • 5. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem5 R3 = G3 + R2.P3 = G3 + G2.P3 + G1.P2.P3 + G0.P1.P2.P3 + R-1.P0.P1.P2.P3 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 : Structure d'un additionneur à retenue anticipée 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. B3 A3 B2 A2 B1 A1 B0 A0 P3 G3 P2 G2 P1 G1 P0 G0 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 P2 G0 P2 P3 P1 R-1 P1 P2 P0 R3 R2 R1 R0 R4 S3 S2 S1 S0 B3 A3 B2 A2 B1 A1 B0 A0 R-1 Calcul des Pi et Gi Calcul des restes Ri Calcul des sommes Si
  • 6. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem6 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 8 8 9 1000 1000 1001 + 3 7 6 0011 0111 0110 1 2 6 5 1100 0000 1111 0110 0110 0110 ← terme de correction report → 1 0010 0110 0101 Un additionneur BCD doit pouvoir matérialiser les étapes précédentes. En général, quand deux représentations codées B.C.D A3A2A1A0 et B3B2B1B0 sont appliquées à un additionneur parallèle 4 bits, il réalise l’opération suivante : A3 A2 A1 A0 + B3 B2 B1 B0 S4 S3 S2 S1 S0 En B.C.D, il existe six combinaisons interdites appelées pseudo-tétrades qui sont 1010, 1011, 1100, 1101, 1110 et 1111. Chaque fois que le résultat est une pseudo-tétrade ou supérieur à 15 (S4 = 1), il faut faire la correction en ajoutant 6 (0110). Pour cela il faut détecter ces pseudo- tétrades ainsi que la mise à 1 de la retenue d’ordre le plus élevé S4 pour effectuer cette correction. Le diagramme de Karnaugh suivant nous montre comment on peut effectuer cette opération. 01 S.S 01 S.S 01 S.S . 01 S.S 23 S.S 0 0 0 0 23 S.S 0 0 0 0 23 S.S 1 1 1 1 23 S.S 0 0 1 1 On définit une variable logique P qui indique la présence d’une pseudo-tétrade. L’expression de P se déduit du diagramme de Karnaugh (qui indique les six pseudo-tétrades en caractère gras) par la relation suivante : P = S2.S3 + S1.S3 Comme la correction doit se faire en présence d’une pseudo-tétrade ou en présence de S4, on définit alors le terme X par la relation suivante : X = S4 + S2.S3 + S1.S3 Quand X = 1, il faut additionner la correction (0110). en B.C.D
  • 7. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem7 La figure ci-dessous montre le circuit de l’additionneur B.C.D. Il est composé de deux additionneurs 7483 et de quelques portes logiques qui produisent le terme de correction X. Additionneur B.C.D Il est possible de raccorder plusieurs additionneurs B.C.D en cascade pour additionner des nombres à N bits. La figure suivante illustre l’addition de deux nombres B.C.D à huit digits. Mise en cascade de deux additionneur B.C.D 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). B3 B2 B1 B0 A3 A2 A1 A0 S3 S2 S1 S0 7483 C0C4 B3 B2 B1 B0 A3 A2 A1 A0 7483 C0 X S3 S2 S1 S0 S3 S2 S1 S0 Y3 Y2 Y1 Y0 X3 X2 X1 X0 Report vers le digit supérieur Report venant du digit inférieur B3 B2 B1 B0 A3 A2 A1 A0 S3 S2 S1 S0 Additionneur B.C.D B7 B6 B5 B4 A7 A6 A5 A4 S7 S6 S5 S4 C0 XX Additionneur B.C.D Report C0
  • 8. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem8 Soit à soustraire les deux nombres binaires à 4 bits suivants: A3 A2 A1 A0 + 3B 2B 1B 0B 1 D4 D3 D2 D1 D0 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. Soustracteur à l'aide d'additionneur Si veut effectuer l’opération d’addition ou de la soustraction selon qu'on utilise B comme nombre positif ou négatif (complémenté à 2). On peut voir à la figure ci-dessous un circuit qui sert à la fois comme additionneur et soustracteur de deux nombres binaires à 4 bits. Additionneur-soustracteur de 2 nombres binaires à 4 bits D3 D2 D1 D0 B3 B2 B1 B0 A3 A2 A1 A0 Addidionneur à 4 bits C0C4 5VReport non significatif A0 B0 A3 A2 A1 A0 B3 B2 B1 B0 S3 S2 S1 S0S4 +/- A1 B1 A2 B2 A3 B3 S0 S1 S2 S3 S4 C0 C4 additionneur ADD = 0 SUB = 1
  • 9. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem9 A.C A.C A.C A.C A.C A.C A.C A.C A.C A.C A.C A.C a3b0 a2b0 a1b0 a0b0 a0b1a1b1a2b1a3b1 a0b2a1b2a2b2a3b2 a0b3a1b3a2b3a3b3 0 ∑∑∑∑ ∑∑∑∑∑ P7 P6 P5 P4 P3 P2 P1 P0 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 ∑1 5 ∑1 4 ∑1 3 ∑1 2 ∑1 1 Somme partielle ∑ 1 a3b2 a2b2 a1b2 a0b2 3ème produit partiel + décalage ∑ 2 5 ∑ 2 4 ∑ 2 3 ∑ 2 2 ∑ 2 1 Somme partielle ∑ 2 a3b3 a2b3 a1b3 a0b3 4ème produit partiel + décalage ∑ 3 5 ∑ 3 4 ∑ 3 3 ∑ 3 2 ∑ 3 1 Somme partielle ∑ 3 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. Multiplieur parallèle 4x4 bits à base d’additionneurs complets
  • 10. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem10 S3 S2 S1 S0 S3 S2 S1 S0 Si on veut réaliser ce multiplieur à partir d’additionneurs intégrés 7483, on obtient le montage de la figure ci-dessous. a3b1 a2b1 a1b1 a0b1 a3b0 a2b0 a1b0 a0b0 B3 B2 B1 B0 A3 A2 A1 A0 C4 ADDITIONNEUR 7483 C0 S3 S2 S1 S0 a3b2 a2b2 a1b2 a0b2 B3 B2 B1 B0 A3 A2 A1 A0 C4 ADDITIONNEUR 7483 C0 a3b3 a2b3 a1b3 a0b3 B3 B2 B1 B0 A3 A2 A1 A0 C4 ADDITIONNEUR 7483 C0 P7 P6 P5 P4 P3 P2 P1 P0 Multiplieur parallèle 4x4 bits à base d’additionneurs 7483 Unité arithmétique et logique (U.A.L) :74181 C’est un circuit intégré capable d’effectuer des opérations logiques ou arithmétiques sur des mots de 4 bits. Il dispose de : - Huit entrées relatives aux deux nombres binaires à traiter A = A3A2A1A0 et B = B3B2B1B0. - Une entrée de retenue Cn. - Cinq entrées de sélections S3S2S1S0 complétées par une entrée M. • Si M =1, l’U.A.L effectue une opération logique selon le code de sélection. • Si M =0, l’U.A.L effectue une opération arithmétique selon le code de sélection. - Quatre sortie F = F3F2F1F0, pour afficher le résultat de sortie. - Une sortie de la retenue Cn+4. - L’U.A.L comprend un comparateur qui met la sortie A=B à 1, chaque fois que les entrées A et B sont égales et cela indépendamment du résultat F. - Deux sorties relatives aux termes de propagation P (ou X) et de génération G (ou Y). D’après le schéma interne du 74181 donné ci-dessous, on peut déduire les expressions logiques suivantes :
  • 11. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem11 1−⊕⊕= iiii CYXF pour i=0,1,2,3 23 S.B.AS.B.AX iiiii += Xi dépend de Ai, Bi et uniquement de S3, S2. iiii AS.BS.BY ++= 01 Yi dépend de Ai, Bi et uniquement de S1, S0. nC.MC =−1 ( )nC.XY.MC 000 += ( )nC.X.XX.YY.MC 011011 ++= ( )nC.X.X.XX.X.YX.YY.MC 0121202122 +++= a- En mode logique : M=1, on a : Ci-1=1, quelle que soit la valeur de i. iiiiiiiii Y.XY.XYXYXF +=⊕=⊕⊕= 1 En remplaçant Xi et Yi par leurs expressions, données ci-dessus, on obtient pour chaque code S3 S2 S1 S0 une expression logique Fi. On résume dans le tableau ci-dessous les différents cas possibles. b- En mode arithmétique : M=0, on a : 1−⊕⊕= iiii CYXF Les termes Ci-1 peuvent avoir deux expressions possibles selon que nC =0 (sans retenue) ou nC =1 (avec retenue). 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.
  • 12. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem12 Cn A3 A2 A1 A0 B3 B2 B1 B0 M S3 X S2 U.A.L : 74181 S1 Y S0 F3 F2 F1 F0 A=B Cn+4 Fonctions arithmétiques (M = 0)Sélection S3 S2 S1 S0 Fonctions logiques (M = 1) Cn=1 (sans retenue) Cn=0 (avec retenue) 0 0 0 0 F = A F = A F = A plus 1 0 0 0 1 F = BA + F = A+B F = (A+B) plus 1 0 0 1 0 F = B.A F = A+ B F = (A+ B ) plus 1 0 0 1 1 F=0 F= Moins 1 (complément à 2) F = 0 0 1 0 0 F = B.A F = A plus A. B F = A plus A. B plus1 0 1 0 1 F = B F = (A+B)plus A. B F = (A+B) plus A. B plus 1 0 1 1 0 F = A⊕ B F = A moins B moins 1 F = A moins B 0 1 1 1 F = A. B F = A. B moins 1 F = A. B 1 0 0 0 F = BA + F = A plus A.B F = A plus A.B plus 1 1 0 0 1 F = BA ⊕ F = A plus B F = A plus B plus 1 1 0 1 0 F = B F = (A+ B ) plus A.B F = (A+ B ) plus A.B plus 1 1 0 1 1 F = A.B F = A.B moins 1 F = A.B 1 1 0 0 F = 1 F = A plus A F = A plus A plus 1 1 1 0 1 F = A+ B F = (A+B) plus A F = (A+B) plus A plus 1 1 1 1 0 F = A+B F = (A+ B ) plus A F = (A+ B ) plus A plus 1 1 1 1 1 F = A F = A moins 1 F = A Fonctions réalisées par 74181 pour des opérandes actifs au niveau haut
  • 13. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem13 Pour des opérandes actifs au niveau bas, on a le tableau suivant. Cn A3 A2 A1 A0 B3 B2 B1 B0 M S3 P S2 U.A.L : 74181 S1 G S0 F3 F2 F1 F0 A=B Cn+4 Fonctions arithmétiques (M = 0)Sélection S3 S2 S1 S0 Fonctions logiques (M = 1) Cn=0 (sans retenue) Cn=1 (avec retenue) 0 0 0 0 F = A F = A moins 1 F = A 0 0 0 1 F = B.A F = A.B moins 1 F = A.B 0 0 1 0 F = BA + F = A. B moins 1 F = A. B 0 0 1 1 F = 1 F = Moins 1 (complément à 2) F = 0 0 1 0 0 F = BA + F = A plus (A+ B ) F = A plus (A+ B ) plus 1 0 1 0 1 F = B F = A.B plus (A+ B ) F = A.B plus (A+ B ) plus 1 0 1 1 0 F = BA⊕ F = A moins B moins 1 F = A moins B 0 1 1 1 F = A+ B F = A+ B F = (A+ B ) plus 1 1 0 0 0 F = B.A F = A plus (A+B) F = A plus (A+B) plus 1 1 0 0 1 F = A⊕ B F = A plus B F = A plus B plus 1 1 0 1 0 F = B F = A. B plus (A+B) F = A. B plus (A+B) plus1 1 0 1 1 F = A+B F = A+B F = (A+B) plus 1 1 1 0 0 F = 0 F = A F = A plus A plus 1 1 1 0 1 F = A. B F = A.B plus A F = A.B plus A plus 1 1 1 1 0 F = A.B F = A. B plus A F = A B plus A plus 1 1 1 1 1 F = A F = A F = A plus 1 Fonctions réalisées par 74181 pour des opérandes actifs au niveau bas
  • 14. Université Virtuelle de Tunis CIRCUITS LOGIQUES COMBINATOIRES _____________________________________________________________________________________________________________________________________________ Chap-V: Circuits arithmétiques TRABELSI Hichem14 Schéma interne de l’UAL 74181 X3 S3 S2 S1 S0 Y3 X2 Y2 X1 Y1 X0 Y0 C2 C1 C0 C-1 CN ou CN M A0 ou A0 B0 ou B0 B1 ou B1 B3 ou B3 B2 ou B2 A1 ou A1 A3 ou A3 A2 ou A2 F0 ou F0 F1 ou F1 F2 ou F2 F3 ou F3 G ou Y P ou X CN+4 ou CN+4