Chapitre 5: Les Circuits Logiques Combinatoires

16
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 2 n 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 2 n à 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. e 0 Y Mux Les entrées des données La sortie de donnée e 1 e 2 e 2 n -1 a 0 a 1 a 2 a n-1 Les données de selection 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.

Transcript of Chapitre 5: Les Circuits Logiques Combinatoires

Page 1: 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.

Page 2: Chapitre 5: Les Circuits Logiques Combinatoires

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.

Page 3: Chapitre 5: Les Circuits Logiques Combinatoires

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.

Page 4: Chapitre 5: Les Circuits Logiques Combinatoires

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

Page 5: Chapitre 5: Les Circuits Logiques Combinatoires

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)

Page 6: Chapitre 5: Les Circuits Logiques Combinatoires

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

Page 7: Chapitre 5: Les Circuits Logiques Combinatoires

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.

Page 8: Chapitre 5: Les Circuits Logiques Combinatoires

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).

Page 9: Chapitre 5: Les Circuits Logiques Combinatoires

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

Page 10: Chapitre 5: Les Circuits Logiques Combinatoires

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.

Page 11: Chapitre 5: Les Circuits Logiques Combinatoires

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)

Page 12: Chapitre 5: Les Circuits Logiques Combinatoires

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.

Page 13: Chapitre 5: Les Circuits Logiques Combinatoires

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].

Page 14: Chapitre 5: Les Circuits Logiques Combinatoires

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)

Page 15: Chapitre 5: Les Circuits Logiques Combinatoires

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:

Page 16: Chapitre 5: Les Circuits Logiques Combinatoires

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