1-Ch3-Cours EN-FSR-Amari-2020
1-Ch3-Cours EN-FSR-Amari-2020
1-Ch3-Cours EN-FSR-Amari-2020
29
I. Introduction ………………………………………………………...……………………………….....…………..… 31
I. Introduction
Un circuit combinatoire possède un certain nombre d’entrées et un certain nombre de sorties. Les sorties
sont reliées aux entrées par des fonctions logiques. L’aspect temporel n’intervient pas, contrairement aux
circuits logiques séquentiels.
31
Les circuits combinatoires sont établis à partir d’une opération appelée synthèse combinatoire. Cette
synthèse est définie comme étant la traduction d’une fonction logique, à partir d’un cahier des charges, en un
schéma. Diverses méthodes de synthèse sont possibles ; elles diffèrent sur la forme de la fonction utilisée
(canonique ou simplifiée), sur le type des opérateurs ou des circuits intégrés choisis, et sur la technique de
découpage fonctionnel employée.
Dans cette partie, nous allons étudier quelques grandes circuits combinatoires couramment utilisées.
II. Additionneur
Nous allons dans cette section voir comment construire un circuit pour l'addition de 2 nombres en binaire.
Ce circuit étant assez complexe, nous allons le réaliser en plusieurs étapes :
Le demi-additionneur fera une simple addition de deux bits.
L’additionneur complet devra ajouter à cette addition celle d'un report précédent.
Enfin nous assemblerons n additionneurs pour faire l'addition de nombres de n bits.
A B R S R A.B A
S
0 0 0 0 S A.B A.B A B
0 1 0 1
R
1 0 0 1 B
1 1 1 0
Ce schéma n'est cependant pas suffisant pour réaliser la somme de nombres de plusieurs bits. Car il ne
prend pas en compte une éventuelle retenue provenant du résultat de l’addition des 2 bits de rang directement
inférieur.
ai bi ri-1 Ri Si
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1
Logigramme :
ai
Si
bi Ri
ri-1
Remarque 3.1 :
Cette structure montre la possibilité de réaliser un additionneur complet à partir de deux demi-
additionneurs et d'une porte "OR".
L'additionneur complet est le circuit de base pour effectuer la somme de nombres de plusieurs bits.
On peut représenter ce circuit sous la forme d’une boite noire :
ai Si
Additionneur
bi
complet
ri-1 Ri
a b R a b R a b R a b R 0 Additionneur 33
Complet
R’ S R’ S R’ S R’ S 1 bit
L’entrée de retenue du premier additionneur (R-1) est mise à 0. La sortie de retenue du dernier additionneur
(R3).
Cette architecture est intéressante d’un point de vue matériel car elle est répétitive. Par contre, le résultat
obtenu dépend du nombre d’additionneurs donc de la taille des mots à additionner. La retenue R0 est délivrée
après la première addition et ainsi de suite.
III. Soustracteur
III.1. Principe
Jusqu'à maintenant, nous n'avons traité que les nombres positifs. On pourrait imaginer de traiter les
nombres négatifs en ajoutant un signe moins devant ; comme ce qu’on fait d'habitude pour les décimaux mais
malheureusement l'informatique, qui ne connaît que les 1 et les 0, traite les nombres négatifs différemment.
On peut en revanche penser à transformer l'opération de soustraction en une simple opération d'addition
binaire, en utilisant un codage en complément à 2 pour les nombres négatifs.
Remarque importante :
Au lieu de soustraire 1000, il aurait suffi de négliger la dernière retenue dans le résultat.
En effet 574 + 609 = 1183= 183 si on néglige le 1 de gauche
IV. Comparateur
Les comparateurs logiques dits aussi circuits d'identification permettent de comparer deux nombres A et
B de n bits. En général, le résultat de la comparaison est fourni sur 3 sorties :
,
,
.
Deux nombres et sont égaux si tous les bits du même poids sont égaux.
35
S a.b
S ab
S ab ab a b S S
Non
a1> b1
Oui Non
a1< b1
Oui Non
a0> b0
Oui Non
a0< b0
Oui
On commence par comparer les bits de poids forts et on ne passe aux bits de poids Inférieur qu’en cas
d’égalité.
La cellule de base de comparaison doit donc disposer d’entrées permettant la prise en compte du résultat
de la comparaison des bits de poids inférieur.
a b
Comparateur a b
S< S= S>
I<
I= Comp. complet
I<
I>
I= Circuit Comb. 36
I> fi fe fs
fi fe fs
- I< ; I= et I> : Entrées recevant le résultat de la comparaison des bits de poids inférieur.
- D’après l’organigramme, les entrées I< ; I= et I> ne sont prises en compte qu’on cas d’égalité des bits de
poids supérieur (S= = 1). Dans ce cas leur état est directement transmis vers les sorties fi ; fe et fs.
Table de vérité :
a b S> S= S< I> I=fS I<
fe fi
1 0 1 0 0 X X X 1 0 0
0 1 0 0 1 X X X 0 0 1
0 0 1 0 0 1 0 0
0 1 0 0 1 0 0 1 0
1 1 0 0 1 0 0 1
- A partir de la table de vérité, on déduit les équations de sorties : fs ; fe et fi.
f s S S I
fe S I
f i S S I
Exemple 3.1 :
V. Multiplexeur/ Démultiplexeur
V.1. Multiplexeur
Un multiplexeur (Mux) est un circuit à 2n entrées d’informations, n entrées de sélection, et une sortie
unique. Il permet l’aiguillage (par la commande de n entrées d’adresse) de l’une de ces entrées vers la sortie.
37
- La relation entre le nombre des entrées de données et des entrées d’adressage est : N=2n
A0 S
0 D0
1 D1
De façon générale, la sortie d’un multiplexeur à n entrées d’adresses s’exprime en fonction des entrées de
données Di et des mintermes mi sur les entrées d’adresses :
V.2. Démultiplexeur
Il joue le rôle inverse d’un multiplexeur, il permet de faire passer une donnée dans l’une des 2n sorties
selon les valeurs des entrées de commandes ou d’adresses (n entrées d’adresses).
Le module sélection ou adressage joue presque le même rôle que dans le Mux. Il permet de sélectionner
la sortie qui doit recevoir l'information de l'entrée.
Un DeMux possède :
- une seule entrée
- N=2n sorties
- n entrées de sélection (commandes)
Entrées d’adressage
An-1… A1 A0 V
S0
S1
Sorties
Entrée D .
.
.
38
SN-1
Exemple 3. 3 :
Exemple d’un DeMux (1 4)
A1 A0 V
S3
S2
D
S1
S0
S 0 V . A1. A0 .D S 2 V . A1. A0 .D
S1 V . A1. A0 .D S 3 V . A1. A0 .D
VI.1. Décodeur
Un décodeur est un circuit logique combinatoire qui a une entrée binaire de n bits et 2n sorties.
Pour chaque combinaison d’entrée, une seule ligne de sortie est activée à la fois.
Principe d'un décodeur (2 4) :
39
S3
A S2
B
S1
S0
V A B S3 S2 S1 S0
0 X X 0 0 0 0 S0 ( A.B).V
1 0 0 0 0 0 1 S1 ( A.B).V
1 0 1 0 0 1 0 S 2 ( A.B).V
1 1 0 0 1 0 0 S3 ( A.B).V
1 1 1 1 0 0 0
Remarque 3.2 :
La plupart des décodeurs sont dotés d’une ou plusieurs entrées de validation (V) qui commandent son
fonctionnement.
VI.2. Codeur
Un codeur est un circuit à 2n entrées et n sorties qui code en binaire le rang de la seule entrée active.
Principe d'un codeur (4 2) :
v S3 S2 S1 S0 A B
0 x x x X 0 0
A S1.S0 (S3 S2 ) .V
1 0 0 0 1 0 0 B S .S (S
2 0 3 S ) .V
1
1 0 0 1 0 0 1
1 0 1 0 0 1 0
1 1 0 0 0 1 1
Exemple 3. 4 :
Comme exemple, on peut penser au codeur décimal BCD
40
VI.3. Transcodeur
Le transcodeur désigne l’ensemble des codeurs, décodeurs ou encore convertisseur de codes. Ces
circuits combinatoires permettent de transformer une information présentée à l’entrée sous forme d’un code
X (sur n bit) en la même information sous un code Y (sur m bit) en sortie.
E0 S0
E1 S1
.. ..
En-1 Sm-1
TV pour extraire les relations entre les sorties et les entrées (définition des fonctions) ;
Simplification des fonctions obtenues ;
Réalisation des logigrammes ;
La conception des circuits à l’aide des techniques disponibles.
Exemple 3. 5 :
Code binaire pur code Gray (2 bits)
41
Table de vérité : Equations de sortie :
Logigramme :