You are on page 1of 15

ETUDE ET REALISATION D’UN CIRCUIT

COMBINATOIRE
Nous allons étudier et concevoir dans ce chapitre un certain nombre de circuits
combinatoires.

1. Etude et réalisation d’un additionneur

1.1 Demi -addition

On appelle demi addition, l’addition de deux chiffres quelconques avec l’indication d’un
report éventuel (on ne tient pas compte du report précédant).
Le report 1 apparait des que la somme des deux chiffres est supérieure ou égale à la base
utilisée.

Nous allons considérer ici le système binaire.


La conception du circuit combinatoire capable d’additionner deux bits, capable donc de
générer leur somme et leur report se fait en trois étapes :
1) Etablissement de la table de vérité
2) Mise en équation et simplification
3) Dessin du circuit à l’aide de portes logiques

Etape 1 Table de vérité


Appelons A et B les deux variables d’entrée représentant les bits à additionner. Le tableau de
vérité suivant donne la valeur de la somme S et du report R
A B S R
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Etape 2 Mise en équation
S=AB+AB
R= A B
Étape 3 Dessin du circuit logique
1.2 Additionneur complet

L’addition complète consiste à additionner deux chiffres Ai et Bi de poids (de rang i ou


d’ordre i) en tenant compte d’un éventuel report Ri-1 d’ordre i-1 résultant de l’addition de
rang i-1

Exemple :

Pour concevoir ce circuit, nous avons besoin de trois entrées Ai Bi et Ri-1 et de deux sorties
Ri et Si

Table de vérité

Ri-1 Bi Ai 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
Mise en équation

Si=Ai Bi Ri-1 + Ai Bi Ri-1 + Ai Bi Ri-1 + Ai Bi Ri-1

= (Ai Bi + Ai Bi) Ri-1 + (Ai Bi + Ai Bi) Ri-1

=(Ai  Bi) Ri-1 + (Ai  Bi) Ri-1

= Ai  Bi  Ri-1
Table Karnaugh de Ri

B i Ai 00 01 11 10 Nous n'allons utiliser qu'un


Ri-1 regroupement pour faire apparaitre
0 0 0 1 0 une forme intéressante

1 0 1 1 1

Ri = Ai Bi + Ai Bi Ri-1 + Ai Bi Ri-1

=Ai Bi +( Ai Bi + Ai Bi ) Ri-1

= Ai Bi + (Ai  Bi ) Ri-1

Dessin du circuit logique

Un tel montage constitue deux demi-additionneurs.

Considérons l’addition binaire de deux nombres binaires de quatre bits :

A3 A2 A1 A0 et

B3 B2 B1 B0

Nous aurons le montage suivant :


2 Etude et réalisation d’un soustracteur

2.1Demi-soustracteur
On appelle demi-soustraction, la soustraction de deux chiffres avec indication d’une retenue
éventuelle et sans tenir compte de la retenue précédente.
Soient deux bits A et B. Nous voulons avoir la différence D=A – B
Table de vérité

A B D R
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
Mise en équation

D = A B + A B = A B
R= A B

Dessin du circuit logique

2.2 Soustracteur complet

La soustraction complète est l’opération qui consiste à effectuer la différence entre deux
chiffres Ai et Bi de rang i en tenant compte d’un éventuel report précédant.

Table de vérité

Ri-1 Ai Bi Di Ri
0 0 0 0 0
1 0 0 1 1
0 1 0 1 0
1 1 0 0 0
0 0 1 1 1
1 0 1 0 1
0 1 1 0 0
1 1 1 1 1
Mise en équation

Di=Ai Bi Ri-1 + Ai Bi Ri-1 + Ai Bi Ri-1 + Ai Bi Ri-1

=(Ai Bi + Ai Bi) Ri-1 +(Ai Bi + Ai Bi) Ri-1

=(Ai  Bi) Ri-1 + (Ai  Bi) Ri-1

= Ai  Bi  Ri-1

Table Karnaugh de Ri
Ai B i 00 01 11 10 Nous n'allons utiliser qu'un
Ri-1
regroupement pour faire apparaitre
0 0 1 0 0
une forme intéressante

1 1 1 1 0

Ri = Ai Bi + Ai Bi Ri-1 + Ai Bi Ri-1

=Ai Bi +( Ai Bi + Ai Bi ) Ri-1

= Ai Bi + (Ai  Bi ) Ri-1

Dessin du circuit logique

Nous pouvons remarquer que le soustracteur complet est formé de deux demi-soustracteurs

3. convertisseur de code

Une autre application des portes logiques dans le cadre de l’étude et réalisation des circuits
logiques est leur utilisation comme convertisseur de codes. Les ordinateurs ne pouvant traiter
que les bits 0 et 1, il est nécessaire par conséquent d’imaginer des moyens de traduction entre
le langage courant et le langage des ordinateurs.
3.1. Codeur décimal BCD (10 lignes vers 04 lignes)

La fonction du codeur est de traduire l’entrée décimale en un nombre BCD. Considérons le


schéma fonctionnel suivant :

Le codeur possède 10 entrées et 4 sorties. Le codeur doit avoir une entrée active qui produit à
son tour une sortie unique.

Table de vérité

a b c d e f g h i j D C B A
1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 0 0 0 0 0 0 1 1
0 0 0 0 1 0 0 0 0 0 0 1 0 0
0 0 0 0 0 1 0 0 0 0 0 1 0 1
0 0 0 0 0 0 1 0 0 0 0 1 1 0
0 0 0 0 0 0 0 1 0 0 0 1 1 1
0 0 0 0 0 0 0 0 1 0 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 1
Mise en équation
D=a b c d e f g h i j + a b c d e f g h i j
D=i+j A B
Si i=0 alors A =0
C=e+f+g+h
Si i=1 alors A= 1 Donc A=i
B=c+d+g+h
De même B=j Donc D = i + j
A=b+d+f+h+j
Dessin du circuit logique

3.1. Décodeur BCD décimal

Un décodeur peut être considéré comme l’opposé d’un codeur. Un décodeur de ce type est
représenté par le schéma suivant :

Table de vérité

D C B A a b c d e f g h i j
0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0 0 0 0 0 0 0
0 0 1 1 0 0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0 0 1 0 0 0 0
0 1 1 0 0 0 0 0 0 0 1 0 0 0
0 1 1 1 0 0 0 0 0 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0 0 0 1 0
1 0 0 1 0 0 0 0 0 0 0 0 0 1
Mise en équation
Ces équations ont été calculées en utilisant un tableau de
a= A B C D f= A B C Karnaugh avec des valeurs incomplètes.

b= A B C D g= A B C

c= A B C h= A B C

d= A B C i= A D

e= A B C j= A D

4. Multiplexeur et démultiplexeur

4.1 Multiplexeur

Un multiplexeur est un circuit capable de sélectionner une entrée parmi un ensemble d’entrées
pour la diriger vers une unique sortie. Le choix d’une entrée est effectué à l’aide d’un nombre
binaire représentant le numéro de l’entrée sélectionnée appelé adresse.

Ainsi pour choisir une entrée parmi quatre, nous appelons a1 a0 les deux bits d’adresse et x0 x1
x2 x3 les variables d’entrée. La sortie y correspond à l’une des entrées.

Table de vérité
a1 a0 y
0 0 x0
0 1 x1
1 0 x2
Mise en équation 1 1 x3

Y= a1 a0 x0 + a1 a0 x1 + a1 a0 x2 + a1 a0 x3
Dessin du circuit logique

La sortie y reproduit le niveau logique de la ligne de données sélectionnée par l’adresse a1 a0

On appelle ce circuit multiplexeur, car il permet de transmettre sur la ligne y les données
apparaissant sur les quatre lignes d’entrée en faisant varier l’adresse.

4.2 Démultiplexeur

Un démultiplexeur est un circuit capable de diriger l’entrée vers une des sorties. Le choix
d’une sortie est effectué à l’aide d’une adresse.

Table de vérité

Adresse Sorties
a1 a0 y0 y1 y2 y3
0 0 X 0 0 0
0 1 0 X 0 0
1 0 0 0 X 0
1 1 0 0 0 X

y0=a0a1X y1=a0a1X y2=a0a1X y3=a0a1X


4.3 Utilisation des Multiplexeur-Démultiplexeur

Premier exemple d’utilisation

Nous pouvons utiliser les Mux et Demux dans la transmission sérielle de données en faisant
varier les adresses. Le problème qui reste à résoudre est la synchronisation du changement des
adresses.

Deuxième exemple d’utilisation

Nous disposons d’un bus de 04 lignes et nous voulons que l’information binaire contenue
dans l’un des registres ABCD (de 04 bits) soit placée dans le Bus S. Nous utilisons pour cela
quatre MUX(4x1) qui seront connectés aux quatre registres.
Troisième exemple d’utilisation

Soit F(xn-1,…x0) une fonction à n variables. D’après le théorème Shannon

F(xn-1,…x0)= x2x1x0 F(xn-1, …,0 ,0,0)+…+x2x1x0 F(xn-1,…,1,1 ,1)

On se ramène à la synthèse de 8 fonctions à (n-3) variables

Réaliser une fonction de n variables à l’aide d’un MUX 2px1 (p adresses)

1/ p = n

Chaque entrée du MUX représentera une valeur de la fonction

Exemple : n = 3 et P=3

F(abc) = + bc+a c a b c

a b c F
0 0 0 1 1 e0 = F(000)
0 0 1 0 0 e1 = F(001)
0 1 0 0 0 e2 = F(010)
0 1 1 1 1 MUX 8x1 F e3 = F(011)
1 0 0 0 0 e 4 = F(100)
1 0 1 1 1 e 5= F(101)
1 1 0 0 0 e 6 = F(110)
1 1 1 0 0 e 7 = F(111)
2/ P < n

P variables représenteront les lignes de sélection du MUX.


5. Décodeur

Le décodeur est un circuit logique qui établit la correspondance entre un code d’entrée
binaire de N bits et M (M<=2N ) lignes de sortie. Pour chacune des combinaisons possibles
des entrées, une seule ligne de sortie est validée.

Certains décodeurs n’utilisent pas toute la gamme des 2N codes d’entrée.

Exemple de décodeur 3 entrées 8 sorties

Table de vérité

C B A O0 O1 O2 O3 O4 O5 O6 O7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
O0=CBA … O7=CBA
Utilisation des décodeurs :

On retrouve les décodeurs, chaque fois qu’une sortie ou un groupe de sorties doit devenir actif
lorsqu’est appliqué un code d’entré exclusif.

Ils sont utilisés dans le système de la mémoire d’un ordinateur. Ce sont eux qui permettent de
choisir un bloc de puces mémoire parmi plusieurs blocs en réponse à une adresse envoyée par
l’unité de commande de l’ordinateur.

Réaliser une fonction de n variables à l’aide d’un DEC p x 2p

1) P = n
Chaque sortie du décodeur correspond à un minterme.
On fera la somme logique (OU) de toutes les sorties du décodeur correspondant aux
mintermes pour lesquels la fonction est égale à 1.

Exemple : n = 3 et P=3

F(abc) = + bc+a c

a b c F
0 0 0 1
0 0 1 0 a
0 1 0 0
0 1 1 1 b DEC 3x8 F
1 0 0 0
1 0 1 1 c
1 1 0 0
1 1 1 0

2) p < n

P variables seront les entrées du décodeur.


Les (n-p) variables restantes seront à l’extérieur du décodeur.
La fonction sera formée par la combinaison des sorties du décodeur et des variables
extérieures.
Exemple 1 : n = 3 et p = 2

F(abc) = + bc+a c

Si on sort la variable a, les entrées du DEC 2 X 4 seront b et c

bc

b DEC 2 x 4 bc F

c bc

bc