Chapitre 5: Les Circuits Logiques Combinatoires
Transcript of Chapitre 5: Les Circuits Logiques Combinatoires
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 49
Chapitre 5: Les Circuits Logiques Combinatoires
Introduction On a présenté, au chapitre précédent, les techniques de simplification des équations logiques comme la méthode algébrique, les tableaux de Karnaugh et La méthode Quine-McCluskey. La réduction des fonctions combinatoires en utilisant les propriétés de l’algèbre a déjà été introduite. La simplification et L’optimisation d’un circuit logique est un enjeu important pour les systèmes numériques. Ce chapitre va présenter les fonctions logiques appelées combinatoires.Deux catégories de fonctions combinatoires peuvent être distinguées, les fonctions combinatoires et les fonctions arithmétiques. Dans ce chapitre, plusieurs types de fonctions logiques combinatoires sont introduits, y compris les additionneurs, les comparateurs, les décodeurs, les codeurs, les convertisseurs de code, les multiplexeurs (sélecteurs de données), les démultiplexeurs et les générateurs/vérificateurs de parité. Un circuit combinatoireest un assemblage de portes logiques implémentant une fonction booléennedont l'état des sorties est seulement une fonction de l'état de leurs entrées, tel qu'une combinaison particulière de ses entrées donne toujours la même sortie. Nous verrons donc : 4.1. Les Fonctions combinatoires 1. Multiplexeur, démultiplexeur 2. Décodeurs, Encodeurs et, transcodeurs 4.2. Les Fonctions arithmétiques : 1. Additionneur 2. Soustracteur 3. Multiplicateur 4. Comparateur
1. les fonctions combinatoires standards 1.1 Multiplexeur, démultiplexeur 1.1.1Multiplexeur (MUX): Le multiplexage consiste à aiguiller vers une sortie unique le signal issu d'une entrée choisie parmi les N du circuit[2].Un multiplexeurest un circuit combinatoire ayant pour fonction de sélectionner une parmi 2n entrées et de la transmettre à la sortie [10]. La sélection est faite à l'aide de n lignes d'adresse). Le multiplexeur a une seule sortie, ayant la même valeur que l’entrée sélectionnée. La notation usuelle du MUX est [14]: MUX 2n à 1. Par exemple, un MUX 8 à 1 aura 3 lignes d'adresse. La figure 5.1 présente la forme générale d'un MUX.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
e0
Y Mux
Les entrées
des données
La sortie de
donnée
de donnée
e1
e2
e2n
-1
a0
a1
a2
an-1
Les données de
selection
de donnée
Figue 5.1 Représentation générale d’un multiplexeur
Exemple5.1multiplexeur 4à 1 Un symbole logique pour un multiplexeur à 4 entrées (MUX) est illustré à la Figure 5. 2 [1]. Notez qu'il existe deux lignes de sélection de données car avec deux bits de sélection, n'importe quelle des quatre lignes d'entrée de données peut être sélectionnée.
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 50
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
e0
Y
Mux
Les entrées
des données
La sortie de
donnée
de donnée
e1
e2
e3
a0
a1
Les données de
selection
de donnée
Figue 5.2 Symbole logique d’un multiplexeur 4-1
Un résumé du fonctionnementdu multiplexeur 4 à-1est donné dans le tableau 4.1.
Table 5.1 : table de vérité dumultiplexeur 4 à-1
Les données de sélection des entrées
Entrée sectionnée
A1 A0
0 0 E0
0 1 E1
1 1 E2
1 1 E3
Cherchons maintenant le circuit logique nécessaire pour effectuer cette opération de multiplexage. La sortie de données est égale à l'état de l'entrée de données sélectionnée. Vous pouvez donc dériver une expression logique pour la sortie en fonction de l'entrée de données et de l’entrée de sélection. La sortie de données est égale à E0 uniquement si A1=0 et A0=0 :Y = 𝐸0𝐴1
.𝐴0
La sortie de données est égale à E1 uniquement si A1=0 et A0=1 :Y = 𝐸1𝐴1 𝐴0
La sortie de données est égale à E2 uniquement si A1=0 et A0=0 :Y = 𝐸2𝐴1𝐴0
La sortie de données est égale à E3 uniquement si A1=0 et A0=0 :Y = 𝐸3𝐴1𝐴0 Lorsque ces termes sont additionnés, l'expression totale pour la sortie de données est : Y = 𝐸0𝐴1
.𝐴0 + 𝐸1𝐴1
𝐴0 + 𝐸2𝐴1𝐴0 + 𝐸3𝐴1𝐴0(5.1)
L’implémentation de cette équation nécessite quatre portes ET à 3 entrées, une porte OU à 4 entrées et deux inverseurs pour générer les compléments de S1 et S0, comme le montre la Figure 5.3.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
A0
A1
E0
E1
E2
E3
Y
Figure 5.3 logigramme pour un multiplexeur à 4 entrées. Applications du circuit multiplexeur: L’implémentation de fonctions booléennes avec les multiplexeurs L'une des applications les plus communes d'un multiplexeur est son utilisation pour l’implémentation de fonctions booléennes de logique combinatoire. La technique la plus simple pour ce faire est d'utiliser un MUX 2n-à-1 pour implémenter une fonction booléenne n-variable. Les lignes d'entrée correspondant à chacun des mintermes présents dans la fonction booléenne sont faites égale à l'état logique '1'. Les mintermes restants qui sont absents dans la fonction booléenne sont désactivés en rendant leurs lignes d'entrée correspondantes égales à '0' logique.
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 51
1.1.2 Démultiplexeurs (DEMUX) Un démultiplexeur (DEMUX)fondamentalement inverse la fonction de multiplexage [1]. Il prend l’information numériqued'une seule ligne et la distribue à un nombre donné de lignes de sortie. Comme vous l'apprendrez, les décodeurs peuvent également être utilisés comme démultiplexeurs . Le démultiplexeurest un système combinatoire ayant pour fonction de transmettre une entrée vers une des 2nsorties [10].La notation usuelle du DEMUX est: DEMUX 1 à 2n. Par exemple, un DEMUX 1 à 8 aura 3 lignes d'adresse. La figure 5.6 présente la forme générale d'un DEMUX.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
y0
E
Demux
L’ entrée
de donnée
Les sorties
des données
de donnée
y1
y2
Y2n
-1
a0
a1
a2
an-1
Les données de
selection
de donnée
Figure 5.6 Représentation générale d’un démultiplexeur
Exemple5.3: Un symbole logique d’un démultiplexeur de 1 à 4 est illustré à la Figure 5.7 avec quatre lignes de sortie (y0, y1, y2 et y3), une ligne d'entrée (E) et deux lignes d'adresse (A0, A1) [1].
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
y0
E
Demux
L’entrée
de donnée
Les sorties
des données
de donnée
y1
y2
y3
a0
a1
Les données de
selection
de donnée
Figure 5.7 un démultiplexeur 1 à 4
Le fonctionnement du démultiplexeur peut être décrit par une table de vérité (montrée dansla table 5.2). L’implémentation du démultiplexeur à l'aide des portes NAND et des inverseurs est illustrée à la Figure 5.5.
Table 5.2 : table de vérité du démultiplexeur 1 à 4 Les données
de sélection Les sorties
des données
A1 A0 Y3 Y2 Y1 Y0
0 0 0 0 0 D
0 1 0 0 D 0
1 0 0 D 0 0
1 1 D 0 0 0
L'équation logique obtenue pour un démultiplexeur 1-à-4 est la suivante [R18]:
Y0 = 𝐴1 .𝐴0
𝐷, Y1 = 𝐴1 𝐴0𝐷, Y2 = 𝐴1𝐴0
𝐷, Y3 = 𝐴1𝐴0𝐷(5.2) La figure 5.8 montre un circuit démultiplexeur. La ligne de l’entrée de données va à toutes les portes ET. Les deux lignes de sélection de données active seulement une porte à la fois et la donnée apparaissant sur la ligne d'entrée de données passent à travers la porte sélectionnée vers la ligne de sortie de données associée.
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 52
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
A0
A1
Y0
Y1
Y2
Y3
D
Figure 5.8 Démultiplexeur de 1 à 4
1.2. Décodeurs, Encodeurs et, transcodeurs 1.2.1Décodeur Un décodeur est un circuit numérique qui détecte la présence d'une combinaison spécifiée de bits (code) sur ses entrées et indique la présence de ce code par un niveau de sortie spécifié [1]. Le décodeur est un système combinatoire ayant pour fonction d'activer une des 2nsorties[4]. Il comporte une entrée de n bits à décoder (sélection), une entrée de validation (enable), et 2n sorties (La sélection est faite à l'aide de n lignes d'adresse et les sorties sont mutuellement exclusives). Le décodeur est un circuit qui établit la correspondance entre un code d’entrée sur N bits et M lignes de sortie (M≤2N)[3]. Le décodeur se comporte exactement comme un Demux avec son entrée toujours à 1(Le multiplexeur et le démultiplexeur contiennent une partie dont le but est de décoder l’adresse en entrée) [14]. Par exemple, un décodeur 1 parmi 8 aura 3 lignes d'adresse. La figure 5.10 présente la forme générale d'un décodeur.
Figure 5.10représentation générale d’un décodeur Trois CI décodeurs à fonction fixe sont introduits. Les principes de base peuvent être étendus à d'autres types de décodeurs. Exemple 5.5: un décodeur 2 à 4 La figure 5.11 nous présente un décodeur 2 à 4,et la figure 5.11(b)montre sa table de vérité [1]. Le mot de code d'entrée A1, A0 représente un entier compris entre 0 et 3. Le mot de code de sortie Y3, Y2, Y1, Y0 a Yi égal à 1 si et seulement si le mot de code d'entrée (la représentation binaire de i) et l'entrée de validation EN est 1. Si EN est 0, alors toutes les sorties sont 0. Un logigramme pour le décodeur 2 à 4 est illustré sur la Figure 5.11 (c). Chaque porte ET décode une combinaison du mot de code d'entrée A1, A0.En d’autre terme lorsque signal d’activation (enableactif bas)est inactif (état logique 1), toutes les sorties sont inactives (état 0). Lorsque le signal d’autorisation (enable) est actif, la sortie correspondant au code de la sélection est active.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
y0
En
Décodeur
Les données de
selection
Les sorties
des données
de donnée
y1
y2
y2n
-1
a0
a1
a2
an-1
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 53
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
Table 5.3 table de vérité du décodeur 2 à 4 EN A1 A0 Y3 Y2 Y1 Y0
0 x x 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0
y0
En
Décodeur
2 à 4 y1
y2
y3
A0
A1
A0
A1
Y0
Y1
Y2
Y3
EN
(a)
(b)
(c)
Figure 5.11. Décodeur 2-à-4 :(a)symbole, (b) La table de vérité, (c) implémenté en utilisant des portes logiques
La table de vérité du décodeur 2-à-4 est représentée par la figure 5.11 (b).L'équation logique obtenue dans le décodeur 2 à 4 est la suivante:Y0 = 𝐴1
.𝐴0 , Y1 = 𝐴1
𝐴0 , Y2 = 𝐴1𝐴0 , Y3 = 𝐴1𝐴0 (5.3)
La figure 5.11(c) représente le circuit logique pour un décodeur 2 à 4 qui est implémenté à l'aide de portes logiques. Décodeur du BCD-au-Décimal Le décodeur BCD à décimal convertit chaque code BCD (code 8421) en une des dix indications de chiffres décimales possibles. Il est fréquemment appelé un décodeur de 4 lignes à 10 lignes ou un décodeur de 1 à 10 [1]. La méthode de l’implémentation est la même que pour le décodeur 1-de-16, sauf que seules dix portes de décodage sont requises car le code BCD ne représente que les dix chiffres décimales 0 à 9.La figure 5.12 illustre un décodeur de 4 à 10(CI 7442). Ce décodeur a des sorties inversées (indiquées par les petits cercles). Pour chaque combinaison des valeurs des entrées, exactement l'une des lignes de sortie sera 0.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
0
Décodeur
A
B
C
D
1
2
9
8
7
6
5
4
3
Table 5.4 : table de vérité de l’encodeur 4 à 10
A B C D 0 1 2 3 4 5 6 7 8 9
0 0 0 0 0 1 1 1 1 1 1 1 1 1
0 0 0 1 1 0 1 1 1 1 1 1 1 1
0 0 1 0 1 1 0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 0 1 1 1 1 1 1
0 1 0 0 1 1 1 1 0 1 1 1 1 1
0 1 0 1 1 1 1 1 1 0 1 1 1 1
0 1 1 0 1 1 1 1 1 1 0 1 1 1
0 1 1 1 1 1 1 1 1 1 1 0 1 1
1 0 0 0 1 1 1 1 1 1 1 1 0 1
1 0 0 1 1 1 1 1 1 1 1 1 1 0
0
Décodeur
4 à 10
7442 A
B
C
D
1
2
9
8
7
6
5
4
3
Figure 5.12 le décodeur de 4 à 10, (a) circuit, (b) table de vérité
Décodeur BCD-à 7-Segment Le décodeur BCD à 7 segments accepte le code BCD sur ses entrées et fournit des sorties pour conduire des dispositifs d'affichage à 7 segments pour produire une lecture décimale [1]. Le diagramme logique d'un décodeur de 7 segments de base est illustré à la figure 5.13.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
0
Décodeur
A
B
C
D
1
2
9
8
7
6
5
4
3
Décodeur
BCD/7segments
A
B
C
D
a
b
f
g
e
d
c
Entrées
en BCD
Sorties conectées à l’afficheur
7 segments
A
D
a
Transcodeur DCB
7 segments
g
B
C
a
b
c
d
e
f
g
Figure 5.13(a)symbole logique du Décodeur DCB/7 segments (Les sorties du décodeur sont activées
àI’état haut)
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 54
Tableau 5.5: Table de vérité du décodeur BCD à 7 segments
N(10) A B C D a b c d e f g 0 0 0 0 0 1 1 1 1 1 1 0
1 0 0 0 1 0 1 1 0 0 0 0
2 0 0 1 0 1 1 0 1 1 0 1
3 0 0 1 1 1 1 1 1 0 0 1
4 0 1 0 0 0 1 1 0 0 1 1
5 0 1 0 1 1 0 1 1 0 1 1
6 0 1 1 0 1 0 1 1 1 1 1
7 0 1 1 1 1 1 1 0 0 0 0
8 1 0 0 0 1 1 1 1 1 1 1
9 1 0 0 1 1 1 1 1 0 1 1
A noter:dans le type des afficheurs à anode commune,Toutes les anodes des segments sont reliées à l’alimentation (+ 5 V en général). Les cathodes sont connectées aux sorties du décodeur par l’intermédiaire de résistances limitant l'intensité du courant traversant les DEL à 20 mA environ. Application du décodeur Adressage d’unemémoire :une mémoire est un tableau d’éléments binaires (divisés en lignes et colonnes) ; pour lire un mot mémoire, il faut lui envoyer le numéro de ligne souhaité (adresse) ; souvent, le décodeur est interne à la mémoire. Décodeur en générateur de fonctions : Toute fonction logique peut être réalisée à partir d’une combinaison de décodeur.Un décodeur fournit les 2nmintermes de n variables d'entrée. Chaque sortie affirmée du décodeur est associée à unecombinaison unique de bits d'entrée. Étant donné que toute fonction booléenne peut être exprimée sous forme de somme de mintermes, un décodeur qui génère les mintermes de la fonction, avec une porte OR externe qui forme sa somme logique, fournit une implémentation matérielle de la fonction. De cette façon, tout circuit combinatoire avec n entrées et m sorties peut être implémenté avec un décodeur n-à-2 n-ligne et m portes OR. 1.2.2. Encodeur Un encodeurest un circuit logique combinatoire qui effectue essentiellement la fonction "inverse" du décodeur [1]. Un encodeur accepte un niveau actif sur l'une de ses entrées représentant un chiffre, comme un chiffre décimal ou octal, et le convertit en une sortie codée, comme BCD ou binaire. Un codeur a 2n lignes d'entrée et n lignes de sortie. Les lignes de sortie, en tant que pondérés, génèrent le code binaire correspondant à la valeur d'entrée (une seule est activée à un temps donné et produit un code de sortie N bits, selon l'entrée activée). L'encodeur est un système combinatoire ayant pour fonction à fait correspondre à l’activation d’une entrée particulière; une combinaison de bits en sortie (le circuit a donc une entrée et N sortie) [9]. En d’autre terme Codeur (encodeur) est un Circuit à M=2N entrées et N sorties qui code en binaire le rang de la seule entrée active [3]. Lorsque plusieurs entrées sont activées, l'encodeur accorde la priorité à l'entrée dont l'index est supérieur [14].La notation usuelle de l'encodeur est: encodeur 2n à n. Par exemple, un encodeur 8 à 3 aura 8 entrées et 3 lignes d'adresse en sortie. La figure 5.15 présente la forme générale d'un encodeur.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
y0
Encodeur
M entreés
N Bit du code
de sortie
de donnée
y1
y2
yn-1
a0
a1
a2
a2n
-1
Seulment une entée
est activée à la fois
Figure5.15 représentation générale d’un encodeur Exemple5.6 : un encodeur 4:2 Un codeur 4 à 2, sous sa forme la plus simple, est supposé à fonctionner avec une seule entrée active parmi quatre entrées et générer un code binaire à travers les deux sorties [18]. Par conséquence, il n'y a que cinq combinaisons autorisées des variables d'entrée sur les 16 possibles. Nous pouvons
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 55
ainsi établir la table de vérité présentés dans la table 5.2 (état indéfinie :Il y a deux caspossibles, x=0 ou x=0).
Table 5.7 table de vérité de l’encodeur 4 à 2
D3 D2 D1 D0 Y1 Y0
0 0 0 0 0 0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1
…
⁞
…
…
⁞
…
…
⁞
…
…
⁞
…
x
⁞
x
x
⁞
x
Nous sommes intéressés par le cas où les sorties Y1 et Y0 sont considérées comme des états indéfinies pour les 11 combinaisons de variables d'entrée, qui ne sont pas explicitement définies dans la table de vérité. Lestablesde Karnaugh représentées à la figure5.16 (a et b) permettent la détermination des équations logiques pour Y1 et Y0, respectivement. La figure 5.16(c) montre le circuit logique pour l'encodeur 4: 2 résultant.
D1
D0
00 01 11 10 00 x 0 x 0
01 1 x x x 11 x x x x 10 1 x x x D3 D2
D1
D0
00 01 11 10 00 x 0 x 1
01 0 x x x 11 x x x x 10 1 x x x D3 D2
Y0 Y1
D0
D1
D2
D3
Y0
Y1
Figure 5.16 Encodeur 4 à 2 Les équations logiques pour Y1 et Y0 sont : Y0 = D2 + D3 , et Y1 = D1 + D3 ((5.4)) Note.-L’encodeur génère la sortie Y1Y0 = 00 si l'entrée D0 est mise à 1 ou à 0. L'addition d'une sortie de validation V permet de distinguer ces deux cas. Exemple 4.5l'encodeur octal à binaire (8à 3) Un exemple d'encodeur est l'encodeur octal à binaire dont la table de vérité est donnée dans le tableau 5.8. Il comporte huit entrées (une pour chacun des chiffres octaux) et trois sorties qui génèrent le nombre binaire correspondant. On suppose qu'une seule entrée a une valeur de 1 à un temps donné [R6].
Table 5.8 table de vérité de l’encodeur d l’octal aubinaire
D7 D6 D5 D4 D3 D2 D1 D0 x y z
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1
Le codeur peut être implémenté avec des portes OU dont les entrées sont déterminées directement à partir de la table de vérité. La sortie z est égale à 1 lorsque les chiffres octal d'entrée est 1, 3, 5 ou 7. La sortie y est 1 pour les chiffres octaux 2, 3, 6 ou 7 et la sortie x est 1 pour les chiffres 4, 5, 6, Ou 7. Ces conditions peuvent être exprimées par les fonctions de sortie booléennes suivantes: x = D4 + D5 + D6 + D7 (5.5) y = D2 + D3 + D6 + D7 (5.6) z = D1 + D3 + D5 + D7 (5.7) L'encodeur peut être implémenté avec trois portes OR.
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 56
D0
D1
D2
D7
x
y
z
D3
D4
D5
D6
Figure 5.17 logigramme de L'encodeur 8à 3 L’Implémentation d’un encodeur 8 à 3 peut être faite à l’aide du composant 74148. Encodeur Décimal-à-BCD Ce type d'encodeur comporte dix entrées - une pour chaque chiffre décimal - et quatre sorties correspondant au code BCD, comme le montre la Figure 5-18 [1]. Il s'agit d'un codeur basique de 10 lignes à 4 lignes.Le code BCD (8421) est listé dans le tableau 5.9. A partir de ce tableau, vous pouvez déterminer la relation entre chaque bit BCD et les chiffres décimales afin d'analyser la logique.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
0
Décodeur
A
B
C
D
1
2
9
8
7
6
5
4
3
Table 5.9 table de vérité de l’encodeur décimal/BCD
Chiffre décimal
Code BCD
A3 A2 A2 A0
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
0
encodeur
dec/BCD A0
A1
A2
A3
1
2
9
8
7
6
5
4
3
Entrée
décimale
Sortie BCD
Figure 5.18.encodeur décimal /BCD, (a)symbole (b) table de vérité
Le logigramme de l’encodeur résultant de ces expressions est illustré à la Figure 5.19.
8
1
2
7
A0
A1
A2
3
5
4
6
9
A3
Figure 5.19.Logigramme de l’encodeur décimal /BCD
1.2.3Transcodeur: En plus de l'encodeur et du décodeur, nous pouvons également distinguer le transcodeur qui permet de convertir un code donné en un code différent [18].Un transcodeur est un circuit qui permet de passer d’un code à un autre (N entrées et N sorties). Conversion Binaire -au-Gray et Gray-au-Binaire Le code Gray (ou le code binaire réfléchi) est utilisé dans les capteurs angulaires ou positionnels et aussi dans les applications où la probabilité d'erreurs de commutation doit être réduite [18].Le code Grayest un code construit de sorte que la représentation de deux nombres consécutifs ne diffère que d'un seul bit.Le tableau 2.6 montre la conversion du code binaire 4 bits au code gray (ou pour les nombres de 0 à 15).
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 57
Tableau 5-11 conversion code binaire/code Gray
nombre Décimal
Binaire Code Gray
B3 B2 B1 B0 G3 G2 G1 G0
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 0 1 0
4 0 1 0 0 0 1 1 0
5 0 1 0 1 0 1 1 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 0 0
8 1 0 0 0 1 1 0 0
9 1 0 0 1 1 1 0 1
10 1 0 1 0 1 1 1 1
11 1 0 1 1 1 1 1 0
12 1 1 0 0 1 0 1 0
13 1 1 0 1 1 0 1 1
14 1 1 1 0 1 0 0 1
15 1 1 1 1 1 0 0 0
1.Transcodeur du code Binaireaucode Gray Les équations logiques associées aux bits de code Gray peuvent être déterminées en observant que les bits G3 et B3 sont identiques et en utilisant les tablesKarnaugh représentées dans les figures 5.21 (a), 5.21 (c) et 5.21 (d)dans le cas des bits G2, G1 et G0, respectivement [18].
B1
B0
00 01 11 10 00 0 0 1 1
01 1 1 0 0 11 1 1 0 0 10 0 0 1 1 B3 B2
B1
B0
00 01 11 10 00 0 1 0 1
01 0 1 0 1 11 0 1 0 1 10 0 1 0 1 B3 B2
B1
B0
00 01 11 10 00 0 0 0 0
01 1 1 1 1 11 0 0 0 0 10 1 1 1 1 B3 B2
G2 G1 G0 Figure 5.21 les tables Karnaugh du Transcodeur du code Binaire au code Gray
Ainsi, le convertisseur de code binaire à code Gray est caractérisé par: G3 = B3 (5.8) G2 = B3
. B2 + B3 . B2 = B3 ⊕ B2 (5.9)
G1 = B2 . B1 + B2 . B1
= B2 ⊕ B1 (5.10) G0 = B1
. B0 + B1 . B0 = B1 ⊕ B0 (5.11)
Le logigramme duTranscodeur de code Binaire au code Gray résultant de ces expressions est illustré à la figure 5.22.
B3
B2
B0
B1
G0
G2
G1
G3
Figure 5.22 logigramme du transcodeur du code binaire au code gray
2. Transcodeur du code Gray au code Binaire Les équations logiques pour le convertisseur code Gray au code binaire peuvent être déduites du tableau de conversion donné dans le tableau 2.6. Comme les bits B3 et G3 sont identiques, la construction des tables deKarnaugh est seulement exigée que pour chacun des bits suivants: B2, B1 et B0 (voir Figures 5.17). Pour les tables illustrées aux figures 5.17, nous avons [18]:
B1 = G3 . G2
. G1 + G3 . G2 . G1
+ G3G2G1 + G3G2 . G1
= G3 G2 ⊕ G1 + G3 G2 ⊕ G1
= G3 ⊕ G2 ⊕ G1 (5.12) Et B0 = G3
. G2G1 . G0
+ G3 . G2 . G1
. G0 + G3
. G2 . G1
. G0 + G3G2G1 G0 + G3
. G2G1G0 + G3 . G2 . G1G0 +
G3 . G2
. G1 . G0 +G3G2G1. G0
(5.13)
B0 = G3 ⊕ G2 G1 . G0
+ G3 ⊕ G2 G1
G0 + G3 ⊕ G2 G1G0 + G3 ⊕ G2 G1. G0
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 58
= G3 ⊕ G2 G1 ⊕ G0 + G3 ⊕ G2
G1 ⊕ G0 = G3 ⊕ G2 ⊕ G1 ⊕ G0 (5.14)
G1
G0
00 01 11 10 00 0 0 1 1
01 1 1 0 0 11 0 0 1 1 10 1 1 0 0 G3 G2
G1
G0
00 01 11 10 00 0 1 0 1
01 1 0 1 0 11 0 1 0 1 10 1 0 1 0 G3 G2
G1
G0
00 01 11 10 00 0 0 0 0
01 1 1 1 1 11 0 0 0 0 10 1 1 1 1 G3 G2
B2 B1 B0 Figure 5.23 les tables Karnaugh du Transcodeur du code Gray au code Binaire
Les équations logiques pour le convertisseur de code Gray au code binaire sont donc de la forme: B3 = G3(5.15) B2 = G3
. G2 + G3 . G2 = G3 ⊕ G2 (5.16)
B1 = G3 ⊕ G2 ⊕ G1 (5.17) B0 = G3 ⊕ G2 ⊕ G1 ⊕ G0 (5.18) Le logigramme du Transcodeur du code Gray au code Binaire résultant de ces expressions est illustré à la Figure 5.24.
G3
G2
G0
G1
B0
B2
B1
B3
Figure 5.24 logigramme du transcodeur code Gray au code binaire
Parmi les transcodeurs que l'on trouve en circuits intégrés on peut citer : Transcodeur excédant 3 -décimal 7443; Transcodeur gray excédant 3 -décimal 7444; Transcodeur DCB - 7 segments voir 74247, 74248 et 74249
2. Les Fonctions arithmétiques :
Les opérations arithmétiques sont souvent effectuées dans des ordinateurs numériques et d'autres systèmes numériques. Dans cette section, nous traitons la conception des additionneurs, des soustracteurs et des multiplicateurs [17]. La réalisation de fonctions arithmétiques est basée sur la décomposition de ces fonctions en opérations booléennes élémentaires [16].Attention : ne pas confondre les opérations booléennes et les opérations arithmétiques. 2.1.Demi-Additionneur et Additionneur complet La conception de Demi-Additionneur et des additionneurs complets suit la procédure de conception mentionnée précédemment, c'est-à-dire que nous générons d'abord les tables de vérité des circuits. À partir des tables de vérité, nous générons ensuite les équations nécessaires et réalisons la conception. 2.1.1 Demi-Additionneur (Half-Adders) Rappelons les règles de base pour l'addition binaire comme indiqué au chapitre 2. 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Les opérations sont effectuées par un circuit logique appelé demi-additionneur ou additionneur partiel. Un demi-additionneur est un circuit logique combinatoireaccepte deux chiffres binaires sur ses entrées et produit deux chiffres binaires sur ses sorties: un bit de somme et un bit la retenue(aussi appelée un report) [1]. Lafigure5.25montre le symbole et la table de vérité du circuit demi-additionneur [7]. Les colonnes A,B, S et RScorrespondent respectivement au entrées, la somme et au bit de report.
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 59
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
Table de vérité pour
un demi -additionneur
A B S Rs 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1
S
Demi
Additionneur les entreés
Les sorties
Rs
A
B
Figure 5.25 un demi-additionneur (a) symbole, (b) table de vérité
Les expressions booléennes pour la somme et la retenue peuvent être dérivées directement de la table de vérité comme suite: S = AB + A B = A ⊕ B (5.19) Rs = AB (5.20) Le moyen le plus simple pour implémenter un demi-additionneur consisterait à utiliser une porte EX-OR à deux entrées pour la sortie Sommeet une porte ET à deux entrées pour la sortie Retenue, comme le montre la figure 5.26, il pourrait également être implémenté en utilisant une dépositionappropriée des portes NAND ou NOR. La figure 5.26 montre l’implémentation d'un demi-additionneur avec les portes NAND et XNOR seulement.
A
B
S
C
Figure 5.26 Implémentation logique du demi-additionneur
La limitation d'un demi-additionneur est qu'il ne peut pas accepter un bit de retenue.Cet additionneur partiel ne peut pas être utilisé tel quel pour réaliser une addition sur n bits (multibits), car il ne tient pas compte de la retenue entrante. Dans l'addition multibits, un bit de retenue d’un étage précédent doit être pris en compte, ce qui entraîne la nécessité de concevoir un additionneur complet. Un additionneur prenant en compte la retenue entrante est appelé additionneur complet. 2.1.2 Additionneur Complet (Full Adder) Un circuit additionneur complet est un bloc de circuit arithmétique qui peut être utilisé pour ajouter trois bits pour produire une sortie somme S et une sortie retenue R [5]. Un tel bloc de construction devient une nécessité lorsqu'il s'agit d'additionner des nombres binaires avec un grand nombre de bits. Le figure5.27montre le symbole et la table de vérité du circuit demi-additionneur [7], un additionneur complet peut accepter deux bits d'opérandes, Ae et Be, et un bit de retenue Re de l'étage précédent; il produit une somme S et un bit de retenue Rs. Le tableau 5.21 montre la table de vérité pour un circuit d'additionneur complet.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
Table de vérité pour un additionneur complet
A B Re S Rs
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
S
Additionneur
complet les entreés
Les sorties
Rs
A
B
Re
Figure 5.27 un additionneur complet (a) symbole, (b) table de vérité
Comme le montre la table de vérité, le bit de somme Se est 1 si il y a un nombre impair de 1 sur les entrées de l'additionneur complet, alors que la retenue de sortie Rs est 1 s'il y a deux ou plus de 1 sur les entrées .sinon les bits de La somme et de la retenue de sortie seront 0. Les expressions booléennes pour les deux variables de sortie sont données dans l'équation (5.3) pour la sortie Somme (S) et dans l'équation (5.4) pour la sortie retenue (RS) [5]: S = A B . Re + A B. Re
+ AB . Re + ABRe (5.21)
Rs = A BRe + AB Re + ABRe + ABRe (5.22)
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 60
Simplification avec table de Karnaugh L'étape suivante consiste à simplifier les deux expressions. Nous le ferons à l'aide de la technique de Karnaugh. Les table de Karnaugh pour les deux expressions sont données à la figure 5.28 (a) pour la sortie Somme et la figure 5.28 (b) pour la sortie Retenue.
B
Re 00 01 11 10
0 0 1 0 1 1 1 0 1 0 A
B
Re 00 01 11 10
0 0 0 1 0 1 0 1 1 1 x (S) (Rs)
Figure 5.28Table de Karnaugh pour S et Re Comme il est clairdes deux tabes, l'expression pour la sortie Somme S ne peut plus être simplifiée, alors que l'expression booléenne simplifiée pour RS est donnée par l'équation [5]: Rs = BRe + AB + ARe(5.23) La figure 5.23 montre le logigramme de l'additionneur complet. On peut également voir un additionneur complet comprenant deux demi-additionneurs et une porte OU. Les expressions pour les sorties Somme et Retenue peuvent être réécrites comme suit: S = A B . Re + A B. Re
+ AB . Re + ABRe = Re
A B + AB + Re(AB + A B ) (5.24)
S = Re A B + AB + Re A B + AB = Re ⊕ A ⊕ B (5.25)
De même, l'expression pour la sortie Retenu peut être réécrite comme suit: Rs = BRe + AB + ARe = BRe(A + A ) + AB + ARe(B + B )
Rs = AB + ABRe + A BRe + ABRe + AB Re = AB + ABRe + A BRe + AB Re Rs = AB 1 + Re + Re A B + AB = AB+Re(A ⊕ B)(5.26) L'expression booléenne (5.7) peut être implémentée avec une porte EX-OR à deux entrées à condition que l'une des entrées soit RE et l'autre des entrées soit la sortie d'une autre porte EX-OR à deux entrées dontleurs entrées sont B et A. De même, l'expression booléenne (5.8) peut être implémentée par une porte OR en additionnant deux mintermes. L'un d'entre eux est la sortie de la porte ET à deux entrées A et B. L'autre est également la sortie d'une porte ET dont les entrées sont RE et la sortie d'une porte EX-OR à deux entrées A et B. Toute l'idée d'écrire les expressions booléennes dans cette forme modifiée était de démontrer l'utilisation d'un circuit demi-additionneur dans la construction d'un additionneur complet. La figure 5.29 (a) montre l’implémentation logique des équations (5.7) et (5.8). La figure 5.29 (b) n'est que la figure 5.29 (a) redessiner avec la partie du circuit représentant un demi-additionneur remplacée par un bloc.On peut donc construire un additionneur complet à partir de deux demi-additionneurs (figure 5.29) :
A
B
Re
Rs
S
Re
S
Rs
A
B
Somme
Rtenue
Somme
Rtenue
demi-
additionneur
demi-
additionneur
Figure5.29 Implémentation logique de l’additionneur complet avec des demi-additionneurs
2.1.3. L’additionneur parallèlecomplet Un additionneur binaire est un circuit numérique qui produit la somme arithmétique de deux nombres binaires. Il peut être construit avec des additionneurs complets connectés en cascade, avec la retenue de sortie de chaque additionneur complet connecté à la retenue d'entrée du prochain additionneur complet dans la chaîne [16]. L'addition de nombres de n bits requiert une chaîne de n additionneurs complets ou une chaîne d’undemi-additionneur et de n-1 additionneurs complets. Dans le premier cas, la retenue d'entrée à la position la moins significative est fixée à 0. La figure 5.30 montre l'interconnexion de quatre circuits d'additionneur (FA) pour fournir un additionneur binaire à quatre bits de retenue cacade.
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 61
Les bits du cumulandede A et les bits du cumulateur de B sont désignés par des nombres de souscrit de droite à gauche, avec l'indice S0 désignant le bit le moins significatif. Les retenues sont connectées en chaîne à travers les additionneurs complets. La retenue d’entrée à l'additionneur est C0, et elle estondulée à travers les additionneurs complets à la retenue de sortie C4. Les sorties S génèrent les bits de somme requis. Un additionneur n-bit nécessite n additionneurs complets, chaque retenue de sortie étant connectée à la retenue d'entrée de l'additionneur complet de l'ordre supérieur suivant. Pour démontrer avec un exemple spécifique, considérons les deux nombres binaires A = 1011 et B = 0011. Leur somme S = 1110 est formée avec l'additionneur à quatre bits comme suit:
i 3 2 1 0
Retenue d’entrée 0 1 1 0 Ri Cumulateur 1 0 1 1 Ai Cumulande 0 0 1 1 Bi
Somme 1 1 1 0 Si Retenue de Sortie 0 0 1 0 Ri+1
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
²
A0
S0
Figure 5. additionneur à 4bits
C0
Additionneur
complet
B0
Additionneur
complet
A1
S1
B1
A2
S2
Additionneur
complet
B2
A3
S3
C4
Additionneur complet
B3
C1
C2
C3
Figure 5.30 l’additionneur parallèle à 4 bits
L'additionneur à quatre bits est un exemple typique d'un composant standard. Il peut être utilisé dans de nombreuses applications impliquant des opérations arithmétiques. Observez que la conception de ce circuit par la méthode classique nécessiterait une table de vérité avec 29 = 512 entrées, puisqu'il y a neuf entrées au circuit. En utilisant une méthode itérative de cascade d'une fonction standard, il est possible d'obtenir une implémentation simple et directe. 2.2. Demi-soustracteur et soustracteur complet 2.2.1Demi-soustracteur Le circuit demi-soustracteur est utilisé pour implémenter une soustraction binaire 1 bit. La figure 5.31montre le symbole et la table de vérité d'un demi-soustracteur utilisé pour soustraire Y (diminuteur) de X(diminuende) [7]. Un demi-soustracteur est un circuit combinatoire qui peut être utilisé pour soustraire un chiffre binaire d'un autre pour produire une sortie Différence et une sortie Retenue. La sortie Retenue spécifie ici si un '1' a été emprunté pour effectuer la soustraction. Lesymbole et la table de vérité d'un demi-soustracteur, comme le montre la figure 7.31, explique ceci en outre [5].
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
Table de vérité pour
demi -soustracteur
A B S Rs 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0
S
Demi
Soustracteur les entreés
Les sorties
Rs
A
B
Figure 5.31 un demi soustracteur, (a) symbole, (b) table de vérité
Les expressions booléennes pour les deux sorties sont données par les équations: D = AB + A B = A ⊕ B(5.27) Rs = A B(5.28) Il est évident qu'il n'y a pas plus de possibilités de simplification des expressions booléennes données par les équations (5.9) et (5.10). Alors que l'expression de la sortie Différence (D) est celle d'une porte EX-OR, l'expression pour la sortie Retenue (RS) est celle d'une porte ET avec l'entrée A complémentée avant d'être passé à la porte [5].
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 62
La figure 5.32 montre l'implémentation logique d'un demi-soustracteur. En comparant un demi-soustracteur avec un demi-additionneur, nous trouvons que les expressions pour les sorties Somme et Différence sont identiques. L'expression «Retenue» dans le cas du demi-soustracteur est également similaire à ce que nous avons pour la «Retenue» dans le cas du demi-additionneur. Si l'entrée A, c'est-à-dire, le diminuende, est complémenté, une porte ET peut être utilisée pour implémenter la sortie Retenue. Notez des similarités entre les logigrammes de la figure 5.26 (demi-additionneur) et de la figure 5.32 (demi-soustracteur).
A
B
D
Rs
Figure 5.32Implémentation logique du demi-Soustracteur
2.2.2 Soustracteur complet Un soustracteur complet effectue une opération de soustraction sur deux bits [5], un diminuende et un diminuteur, et prend également en considération si un '1' a déjà été emprunté par le bit inférieur adjacent précédent du diminuende ou non. En conséquence, trois bits doivent être traités à l'entrée d'un soustracteur complet, à savoir les deux bits à soustraire et un bit de laretenue désigné par RE. Il existe deux sorties, à savoir la sortie Différence D et la sortie RetenueRS. Le bit de Retenuede sortie indique si le bit diminuende doit emprunter un '1' à partir du bit diminuende supérieur suivante possible. La figure 5.33 montre Le symbole et la table de vérité d'un soustracteur complet.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
⁞
Table de vérité pour un additionneur complet
A B Re S Rs
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
S
Soustracteur
complet les entreés
Les sorties
Rs
A
B
Re
Figure 5.33 un soustracteur complet (a) symbole, (b) table de vérité Les expressions booléennes pour les deux variables de sortie sont données par les équations [5]: S = A B . Re + A B. Re
+ AB . Re + ABRe (5.29)
Rs = A B Re + A BRe + A BRe + ABRe (5.30)
B
Re 00 01 11 10
0 0 1 0 1 1 1 0 1 0 A
B
Re 00 01 11 10
0 0 1 1 1 1 0 0 1 0 A (S) (Rs)
Figure 5.34Table de Karnaugh pour S et Re Les tables de Karnaugh pour les deux expressions sont données à la figure 7.34 (a) pour la sortie Différence D et à la figure 7.34 (b) pour la sorte retenue RS. Comme il est clair des deux tables de Karnaugh, aucune simplification n'est possible pour la sortie de différence D. L'expression simplifiée pour RSest donnée par l'équation: Rs = A Re + A B + BRe(5.31) De même, l'expression pour de la retenue desortie peut être réécrite comme suit: Rs = A Re + A B + BRe = A B + A Re(B + B ) + AB + BRe(A + A ) Rs = A B + A B Re + A BRe + ABRe + A BRe Rs = A B 1 + Re + Re AB + A B = A B+Re(A ⊕ B ) (5.32) De même: D = Re ⊕ A ⊕ B (5.33)
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 63
A
B
Re
D
Rs
Re
D
Rs
A
B
Differnce
Rtenue
Differnce
Rtenue
demi-
soustracteur
demi-
soustracteur
Figure 5.35 Implémentation logique de soustracteur complet avec des demi-soustracteurs
2.3- Multiplicateurs La Multiplication programméeutilisée dans les systèmes numériques est assez similaire à la multiplication au crayon et au papier [7]. Un ensemble de produits partiels se trouve en premier, et ceux-ci sont ensuite ajoutés pour générer le produit. La multiplication de deux bits produit un 1 si les deux bits sont 1; sinon, il produit un 0. L’addition des produits partiels s'effectue en utilisant des additionneurs complets. En général, la multiplication d'un multiplicande de m bits X (= xm-1 ... x1 x0) par un multiplicateur de n bits Y (= yn-1 ... y1 y0) avoir pour résultatun produit de (m x n) bits. Chacun des produits mn à 1 bit xiyj peut être généré par une porte ET à 2 entrées; Ces produits sont ensuite additionner par un ensemble d'additionneurs complets [7]. La figure 5.36 montre un circuit multiplicateur de 4 bits par 3 bits.
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
²
0
Additionneur
complet
Additionneur
complet
A2
Additionneur
complet
B2
A3
Additionneur
complet
0
y1
y1
x0
x0
x1
x1
x2
x2
x3
x3
P1
0
Additionneur
complet
Additionneur
complet
P3
A2
P4
Additionneur
complet
A3
P5
P6
Additionneur complet
0
y2
x2
x3
x1
x0
P0
P2
Figure 5.36le circuit de multiplicateur 4bits par 3bits
2.4. Comparateur: La fonction de base d'un comparateur est de comparer les magnitudes de deux quantités binaires pour déterminer la relation entre ces quantités [1]. Dans sa forme la plus simple, un circuit de comparaison détermine si deux nombres sont égaux. La comparaison de deux nombres est une opération qui détermine si un nombre est supérieur, inférieur ou égal à l'autre. Un comparateur de magnitude est un circuit combinatoire qui compare deux nombres A et B et détermine leurs magnitudes relatives [5]. Le résultat de la comparaison est spécifié par trois variables binaires qui indiquent si A> B, A = B ou A <B. La sortie approprie change d'état, en fonction de la magnitude relative des deux nombres. Si les deux nombres, soient disons, sont des nombres binaires de quatre bits et sont désignés comme (A3 A2 A1 A0) et (B3 B2 B1 B0), les deux nombres seront égaux si toutes les paires de chiffres significatifs sont égales, c'est-à-dire A3 = B3, A2 = B2, A1 = B1 et A0 = B0. Afin de déterminer si A est supérieur ou inférieur à B, nous inspectons la magnitude relative des paires de chiffres significatifs à partir de la position la plus significative. La comparaison se fait successivement en comparant la prochaine paire inférieure adjacente de chiffres si les chiffres de la paire examinés sont égaux. La comparaison continue jusqu'à obtenir une paire de chiffres inégaux [R5].Si X, Y et Z sont trois variables représentant respectivement les conditions A = B, A> B et A <B, alors l'expression booléenne représentante ces conditions est donnée par les équations:
X = x3 . x2 . x1 . x0ouxi = AiBi + Ai Bi (5.34)
Y = A3B3 + x3A2B2
+ x3x2 . A1B1 + x3 . x2 . x1 . A0B0
(5.35) Z = A3
B3 + x3A2 B2 + x3x2 . A1
B1 + x3 . x2 . x1 . A0 B0 (5.36)
La Figure 5.37 montre le logigramme d'un comparateur de magnitude à quatre bits:
Logique Combinatoire et Séquentielle Dr. Barra Samir
Page | 64
A0
B0
(A<B)
(A=B)
(A>B)
A2
B2
A1
B1
A3
B3
Figure 5.37 comparateur de magnitudeà 4 bits
Exemple 1 : Comparateur à 2 bits. A = a1a2 et B = b1 . b2
On a trois cas : si A > B la sortie S = 1si A < B la sortie I = 1si A = B la sortie E = 1
𝐬𝐢 𝐀 > 𝐁
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
0
0 4
1 12
1 8
1 1
0
5
0
13
1
9
1
3
0
7
0
15
0
11
0
2
0
6
0
14
1
10
0
b1b2
a1a2
00
01
11
10
00
01
11
10
S
s = a2b1
. b2 + a1b1
+ a1a2. b2
= a2 . b2 a1 + b1
+ a1b1 = a2 . b2
a1 b1 + a1b1
𝐬𝐢 𝐀 < 𝐵
I = a1 a2 b2 + a1 b1 + a2 . b1b2
= a2 b2 a1 + b1 + a1 b1 = a2 b2 a1b1 + a1 b1
𝐬𝐢 𝐀 = 𝐁
E = a1 a2 . b1
. b2 + a1 a2. b1
. b2 + a1a2b1 . b2 + a1a2 b1 . b2
= a1 . b1 a2 . b2
+ a2b2 + a1b1(a2b2 + a2 . b2 )
= a2b2 + a2 . b2 a1 . b1
+ a1b1 = (a2 ⊕ b2 )(a1 ⊕ b1
)
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
0
0 4
0 12
0 8
0 1
1
5
0
13
0
9
0
3
1
7
1
15
0
11
1
2
1
6
1
14
0
10
0
b1b2
a1a2
00
01
11
10
00
01
11
10
I
(b)
In
Ni
DAC
Ni
ADC
Σ Gi
iii
g
g
ni
+
-
MDAC
0
1 4
0 12
0 8
0 1
0
5
1
13
0
9
0
3
0
7
0
15
1
11
0
2
0
6
0
14
0
10
1
b1b2
a1a2
00
01
11
10
00
01
11
10
E
A B A>B A<B A=B
N a1 a2 b1 b2 S I E
0 0 0 0 0 0 0 1
1 0 0 0 1 0 1 0
2 0 0 1 0 0 1 0
3 0 0 1 1 0 1 0
4 0 1 0 0 1 0 0
5 0 1 0 1 0 0 1
6 0 1 1 0 0 1 0
7 0 1 1 1 0 1 0
8 1 0 0 0 1 0 0
9 1 0 0 1 1 0 0
10 1 0 1 0 0 0 1
11 1 0 1 1 0 1 0
12 1 1 0 0 1 0 0
13 1 1 0 1 1 0 0
14 1 1 1 0 1 0 0
15 1 1 1 1 0 0 1