Vous êtes sur la page 1sur 18

V- Les circuits (intégrés) combinatoires

Objectifs :
Connaître et comprendre
• La définition d’un circuit combinatoire
• Ses diverses représentations et implémentations (multiplexeur, décodeur, …)
• Les circuits combinatoires usuels, leur fonctionnement et leurs applications
Être capable de
• Analyser un circuit combinatoire existant
• Réaliser un nouveau circuit combinatoire à partir d’une spécification
• Transformer un circuit combinatoire
toire en un circuit équivalent sous certaines contraintes.

1. Introduction
Circuit combinatoire : circuit dont les sorties dépendent uniquement de la combinaison des états
des entrées à l’instant de l’observation.
La transmission de données nécessite fréquemment des opérations de e conversion, de transposage
et d’aiguillage. On utilise pour cela des circuits combinatoires. De plus au coeur de l’ordinateur
l’ se
trouve un ensemble d’éléments combinatoires permettant d’effectuer les différentes
différent opérations
(arithmétiques et logiques).
Voici une liste des principales fonctions standards combinatoires :
L'encodeur de priorité
le décodage (X/Y) 1 parmi 2, 1 1parmi 4, 1parmi 8
le transcodage de nombres: BIN
BIN_BCD, BCD_BIN, BCD_7SEG, etc.
le multiplexage (MUX) 2 vers 1, 4 vers 1, 8 vers 1 et 16 vers 1
les opérations arithmétiques (addition, soustraction, ...)
la comparaison (COMP) <,=, >
...

2. Circuits de transcodage
(Codeurs, décodeurs, convertisseurs ou transcodeurs)
Un circuit de transcodage (encore appelé transcodeur) transforme une iinformation
nformation disponible en
entrée sous forme donnée (généralement un code) en la même informa
information,
tion, mais sous une autre
forme (généralement un autre code). Il existe trois types de transcodeurs :
2.1 Les Codeurs

a) Définition
Un codeur est un dispositif qui traduit les valeurs d’une entrée dans un code choisi.
Par exemple un clavier comporte n touches. Chaque touche représentative d’un caractère est affectée d’un numéro.
L’opération de codage consiste à donner à chaque numéro ou caractère un équivalent binaire c’est à dire un
mot composé d’éléments binaires.
+Vcc
‘’1’’ 1 A MSB
Si i = 4 alors :
B A=0
2
B=1
CODEUR N=i
C C=0
i
D=0
D LSB
n

b) Intérêt du codage
Le codage des informations apporte une réduction du nombre de variables à traiter. Pour un clavier classique la
quarantaine de touches se code facilement avec 6 variables.
2n boutons se codent avec n variables.

c) Réalisation des codeurs


Dans sa version la plus simple un codeur est un ensemble de circuits OU. Soit la table de codage pour les nombres
de 1 à 9 en binaire :
La sortie A = 1 si N = 9 ou N = 8
N ABCD La sortie B = 1 si N = 4 ou N = 5 ou N = 6 ou N = 7
1 0001 La sortie C = 1 si N = 2 ou N = 3 ou N = 6 ou N = 7
2 0010 La sortie D = 1 si N = 1 ou N = 3 ou N = 5 ou N = 7 ou N = 9
3 0011
4 0100
Réaliser le schéma de ce codeur :
5 0101
6 0110
7 0111
8 1000
9 1001

Si aucune commande n’est envoyée au codeur les sorties A, B, C, D sont toutes nulles, ce qui exclu de coder le
numéro 0.

Il existe des circuits intégrés codeurs.


Exemple : 74HC147 ou 54HC147
10-to-4 line priority encoder : encodeur prioritaire 10 entrées Inputs
Output Output
décimales, 4 sorties binaires codeur prioritaire Vcc NC D 3 2 1 9 A
16 15 14 13 12 11 10 9

74HC147

1 2 3 4 5 6 7 8
4 5 6 7 8 C B GND
Outputs
Inputs
Codeur (encodeur)
Circuit à M=2N entrées et N sorties qui code en binaire le rang de la seule entrée active.

Exemple: Codeur décimal-DCB


DCB 10 entrées, 4 sorties
2.2 Les Décodeurs

a) Définition
Un décodeur est un circuit qui délivre une (ou des) information(s) lorsque la combinaison des variables binaires est
représentative du (ou des ) mot(s) – code choisi(s). Un décodeur réalise la fonction inverse d’un codeur.

b) Réalisation des décodeurs


En pratique on trouve 2 types de décodage :
• Le décodage d’une configuration (ou d’un mot – code) déterminée
Le décodage est obtenu à l’aide d’un simple opérateur logique ET vérifiant la simultanéité des variables binaires
correspondantes à la configuration à décoder.
Exemple : décodeur du nombre 7
D
Générateur C
De codes B S
0 1 2
&
1
A
3 4 5

N = (ABCD)2 S = 1 si N = (0111)2 = (7)10


• Le décodage de toutes les combinaisons d’un code
Le circuit possède 2n sorties dont une seule est active à la fois. La sortie active est déterminée par la combinaison
des n entrées.
Exemple : décodeur 1 parmi 4 (Dresser la TdV, tirer les équations et réaliser le schéma logique)

S0
E0
Décodeur S1
E1 1/4
S2
S3

Exercices
1) Réaliser un décodeur 1 parmi 8.
2) Réaliser un décodeur BCD / Décimal.
2.3 Les Transcodeurs (Convertisseurs)

Les transcodeurs sont des circuits qui permettent de passer d’un code à un autre.
Exemple 1 : transcodeur Binaire / Gray 3bits (tirer les équations et vérifier le schéma logique ci-dessous)
ci
Table de vérité
B2 B1 B0 G2 G1 G0 G2
0 0 0 0 0 0 B2
G1
0 0 1 0 0 1
=1
0 1 0 0 1 1
B1
0 1 1 0 1 0
1 0 0 1 1 0
1 0 1 1 1 1 G0
B0 =1
1 1 0 1 0 1
1 1 1 1 0 0

Exemple 2 : décodeur 7 segments


On appelle décodeur 7 segments ou transcodeur BCD / 7 segments le dispositif de transcodage permettant de
passer du code BCD au code d’affichage de chiffres décimaux.
Soient a, b, c, d, e, f, g les variables correspondantes aux 7 segments. Si une variable est au niveau actif, le
segment correspondant est allumé sinon il reste éteint.

Les chiffres étant formés de la façon


çon suivante :
a
b
f g

e c

Exemple de synoptique :

a AFFICHEUR
0 D b
1 7 SEGMENTS
CODEUR DECODEUR c
C d
Décimal / BCD BCD / 7segments e
B 74HC47 f
74HC147 74HC48 g
A dp
8 74HC148 74HC247
9
Table de vérité
Compléter la TdV et tirer les équations des 7
(N)10 A B C D a b c d e f g sorties.
0 0 0 0 0 Faire le schéma logique du décodeur
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

NB : Si le décodeur possède des sorties à collecteur ouvert, il est nécessaire d’adjoindre une charge résistive (R) à
chaque sortie du décodeur. La valeur de R dépend de la valeur de l’intensité du courant débité en sortie ainsi que de
la tension maximale autorisée
risée sur les sorties du décodeur.

3 LES MULTIPLEXEURS ET DEMULTIPLEXEURS

3.1 Les multiplexeurs (MUX)

a) Définition
Un multiplexeur est un circuit qui réalise un aiguillage de l’une de ses entrées vers une sortie unique d’information
grâce à une commande C d’aiguillage appelé adresse.
1 commande C0 permet de sélectionner entre 2 entrées (E0 et E1) : Multiplexeur 2 vers 1.
2 commandes C0 et C1 permettent de sélectionner entre 4 entrées (E0, E1, E2 et E3) : MUX 4 vers 1.
Et ainsi de suite.
Il est schématisé par les figures ci-dessous
dessous :
V V

E0 E0 C1 C0 S
S 0 0 E0
E1 E1 0 1 E1
C0 S S 1 0 E2
E2
0 E0 1 1 E3
1 E1
C0 E3

MUX : 2 vers 1 C0
MUX : 4 vers 1
C1

La position de l’interrupteur est fixée par une commande. Ainsi donc pour 2n entrées il faut n éléments binaires de
commande. Chaque combinaison C1C0 est l’adresse d’une entrée à sélectionner.
V : Validation : c’est une entrée de validation (S: Strobe ou E: Enable) qui permet de bloquer ou de libérer la sortie
S. Exemple si V = 0 : la sortie est bloquée ; si V = 1 : la sortie est libérée.
La sortie peut être directe ou inversée ou même les deux cas de sorties.
L’inhibition de la sortie peut se traduire par une sortie ‘’Haute impédance’’. Voir technologie Trois-états (Tri-state).
Réaliser le schéma des multiplexeurs ci-dessus.

b) Application

• Sélection d’informations
Exemple d’un système.

1.Lecteur CD

2.Lecteur K7 MULTIPLEXEUR Haut


Amplificateur
parleur
3.Tuner(radio)

4.Lect. Phono

CLAVIER
De codes

• Conversion parallèle - série


Soit un mot binaire A = a3 a2 a1 a0 disponible en mode parallèle c’est à dire sur 4 fils, chacun étant affecté à un
élément binaire du mot.
Pour transmettre les éléments binaires en série, c’est à dire les uns après les autres sur un seul fil il faut d’abord
transmettre a0 puis a1 puis a2 puis a3. Ceci revient à sélectionner l’un des éléments binaires de A sur le fil unique de
sortie série. Le multiplexeur est capable d’effectuer cette tâche si les combinaisons correspondantes sont placées
successivement sur les commandes de sélection.

a0

a1
S C1 C0 S
a2 a3 a2 a1 a0
0 0 a0
a3 0 1 a1
1 0 a2
1 1 a3
C0
C1
c) Circuit intégré multiplexeur
Double sélecteur-multiplexeur
multiplexeur 4 vers 1 avec sorties 3 états : circuit 74LS253
Sélection A * Deux entrées de sélection ou adresse : A et B
ou adresse B qui permettent de sélectionner une entrée parmi
les quatre.
Validation 1G
Données ou 1C0 1Y * Deux entrées de validation /1G et /2G qui
information 1C1
1C2 Sorties affectées après permettent chacune de valider l’entrée
1C3 validation de l’état de sélectionnée sur la sortie.
Validation 2G 2Y l’entrée sélectionnée
Données ou 2C0
2C1
* Deux fois 4 entrées de données.
information
2C2
2C3
* Deux sorties ‘’3-états’’
états’’ séparées 1Y et 2Y.
3.2 Demultiplexeur (DEMUX)
Un Demultiplexeur est un dispositif réalisant également un aiguillage d’information. La différence entre le
multiplexeur et le Demultiplexeur réside dans la circulation des informations.

Un Demultiplexeur distribue l’information d’entrée vers l’une des 2n sorties ; la sélection de la sortie concernée
étant effectuée par n variables de commande.
exemple : demultiplexeur 1 vers 4
C1 C0 S 3 S 2 S 1 S 0
S0
0 0 0 0 0 E0
S1 0 1 0 0 E1 0
E
S2 1 0 0 E2 0 0
S3 1 1 E3 0 0 0

C1 Exemple circuit : 74LS155


Double Décodeur-Demultiplexeur
Demultiplexeur 2 vers 4
C2
Application : transmission de données entre ordinateurs par ligne téléphonique (ligne unique).
MUX : Ligne téléphonique DEMUX
//-série Série-//
ELECTRONIQUE NUMERIQUE LES CIRCUITS ARITHMETIQUES

4 LES CIRCUITS INTEGRES ARITHMETIQUES

4.1 L’additionneur (Adder)

4.1.1 Le demi-additionneur (Half Adder)


C’est un circuit réalisant l’addition de 2 nombres binaires de 1 bit. Le résultat de l’opération comporte 2 parties : la
somme Σ et la retenue r.
Soit l’addition de a et b de 1 bit :

Table de vérité Equations schéma


a b r Σ Σ=a+b
r = ab
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

4.1.2 L’additionneur complet (Full Adder)


Pour effectuer l’addition de 2 nombres binaires à plusieurs chiffres, la technique consiste à additionner
successivement les chiffres de même poids avec éventuellement la retenue de l’addition précédente.
Soit l’addition de A et B de 4bits :
r3 r2 r1 r0
A = a3a2a1a0 A
a3 a2 a1 a0
B = b3b2b1b0 + b3 b2 b1 b0
B
Σ3 Σ2 Σ1 Σ0
r4 r3 r2 r1

résultat r4 Σ3 Σ2 Σ1 Σ0

Table de vérité
an bn rn Σn rn+1 Equations
Σn = an + bn + rn
0 0 0
rn+1 = an bn + (an + bn)rn
0 0 1
0 1 0
L’additionneur ainsi réalisé est appelé
0 1 1
additionneur complet.
1 0 0
Symbole
1 0 1
1 1 0
rn
1 1 1 ADD Σn
an
schéma rn+1
rn bn
an =1 Σn
bn =1

&
≥1 rn+1
&
ELECTRONIQUE NUMERIQUE LES CIRCUITS ARITHMETIQUES

L’addition de 2 nombres de n bits nécessite n additionneurs complets, la retenue appliquée sur les plus faibles poids
est nulle et chaque retenue calculée est appliquée au chiffre de poids immédiatement supérieur.

EXEMPLE : l’addition de A et B (Additionneur à propagation de retenue)


A = a3a2a1a0
B = b3b2b1b0
b3 a3 b2 a2 b1 a1 b0 a0

r3 r2 r1 <<0>>
r0
bn an rn bn an rn bn an rn bn an rn
ADD ADD ADD ADD

rn+1 Σn rn+1 Σn rn+1 Σn rn+1 Σn

r4 Σ3 Σ2 Σ1 Σ0

Exemple de circuit: 7483; CD4008 ( 4 bits Full Adder) (carry out)


VDD b3 Co S3 S2 S1 S0 Ci (carry in)
16 15 14 13 12 11 10 9

Carry : retenue
CD4008

1 2 3 4 5 6 7 8
a3 b 2 a2 b1 a1 b 0 a0 Vss

4.2 Le soustracteur (réaliser le circuit et réaliser un circuit additionneur-soustracteur)

4.3 Le comparateur

Un comparateur est un circuit capable de détecter l’égalité entre 2 nombres A et B et éventuellement d’indiquer le
nombre le plus grand ou le plus petit.

4.3.1 Principe
Pour effectuer la comparaison de 2 nombres deux techniques sont utilisées :
- La soustraction des 2 nombres : Si le résultat de l’opération A – B est positif, cela signifie que A est supérieur
à B. Si le résultat est nul les 2 nombres sont égaux.
- Une comparaison bit à bit : C’est cette méthode qui est utilisée dans les circuits électroniques. La comparaison
s’effectue poids par poids en commençant par le chiffre le plus significatif.
Les nombres A et B ayant le même format, le nombre A est supérieur à B si son élément binaire le plus significatif
est supérieur à celui de B. Si ces deux éléments binaires sont égaux la supériorité ou l’infériorité ne peut être
déterminée que par l’examen des bits de poids immédiatement inférieur et ainsi de suite.
L’examen des poids successifs s’arrête dès que l’un des éléments binaires est supérieur ou inférieur à l’autre. Les 2
nombres sont égaux si après avoir examiné tous les éléments binaires, il n’a pas détecté de supériorité ou
d’infériorité.
ELECTRONIQUE NUMERIQUE LES CIRCUITS ARITHMETIQUES

4.3.2 Comparateur donnant l’égalité de 2 nombres de 1 bits

Table de vérité équation schéma

a b E
0 0
0 1
1 0
1 1

4.3.3 Comparateur donnant l’égalité de 2 nombres de n bits

C’est le comparateur le plus simple. 2 nombres sont égaux si tous les chiffres de même poids sont égaux deux à
deux.
Soit 2 nombres binaires A et B de 4 bits a3
A = a3a2a1a0 B = b3b2b1b0 b3 =1
A = B si (a3= b3) ET (a2 = b2) ET(a1 = b1 ) ET (a0 = b0)
Ce qui donne le schéma suivant : a2
=1
b2 &
A=B
a1
b1 =1

a0
b0 =1

4.3.4 Comparateur complet

La cellule élémentaire du comparateur comporte 3


entrées : Table de vérité
- les éléments binaires an et bn de même poids ; A an bn an=bn an>bn an<bn
- une entrée A pour autoriser (valider) la comparaison En Sn In
Compléter la table de vérité et tirer les équations : 0 0 0
Equations 0 0 1 Pas de
Sn = ---------------------------------------- 0 1 0 comparaison
In = ---------------------------------------- 0 1 1
En = ----------------------------------------
1 0 0
1 0 1
schéma
1 1 0
1 1 1

symbole A

Sn
an COMP
En
bn
In
Par analogie avec l’additionneur, la conception d’un comparateur pour des nombres de n bits se fait en cascade c’est
à dire avec propagation des égalités partielles
L’entrée d’autorisation est en fait la détection d’égalité des éléments binaires de poids supérieurs.

Exemple :Soit la comparaison de A et B


A = a3a2a1a0 B = b3b2b1b0 <<0>>

A Sn
a3 an ≥1
COMP En A>B
b3 bn
In

A Sn
a2 an
COMP En
b2 bn
In
≥1
A<B

A Sn
a1 an
b1 COMP En
bn
In

A Sn
a0 an A=B
COMP En
b0 bn
In
Exemple de circuit: 74HC85/ 54HC85 4 bits Magnitude Comparator

Data inputs
Cascade inputs : Entrées de mise en
Vcc a3 b2 a2 a1 b 1 a0 b0 cascade lorsqu’on doit utiliser plus de
16 15 14 13 12 11 10 9
deux circuits comparateurs pour
comparer deux mots de plus de 4 bits
74HC85 chacun.
Outputs : sorties des cascades

1 2 3 4 5 6 7 8
b3 A<B A=B A>B A>B A=BA<B GND
Data
input Cascade
Outputs
inputs

4.3.5 L’Unité Arithmétique et Logique


Logique: UAL

(Arithmetic Logic Unit : ALU)


Ce circuit est utilisé dans pratiquement tous les systèmes de calcul. C’est un opérateur capable d’effectuer un
ensemble de traitement arithmétiques (addition, soustraction,…) ou logiques (ET, OU,…) sur des mots binaires de
format donné.
Le choix de l’opération est déterminé par des bits de commande. C’e
C’est
st donc un opérateur programmable.
Exemple de circuit d’Unité Logique et Arithmétique intégrée : Le 74 181

Représentation fonctionnelle Symbole logique

Sélection des S0
S1 Cin
opérations
S2
5 s3 Cout
m
Cin
Cout
A a3
b3 (1) Fo
4
F a2
opérandes b2 (2) F1
4 résultat
a1
B b1 (4) F2
4 a0
(8) F3
b0
Sélection des opérations : se fait sur 5 bits ;
soit 25 = 32 fonctions groupées en 16 opérations
arithmétiques et 16 opérations logiques.

Application de l’ALU

Selection m = 1 m = 0 (opérations arithmétiques)


S3 S2 S1 S0 (Opérations
logiques) Cin = 0 Cin = 1
Pas de retenue entrante retenue entrante
0000 F =A F =A F = A plus 1
0001 F =A+B F =A+B F = (A + B) plus 1
0010 F =AB F =A+B F = (A + B) plus 1
0011 F =0 F = moins 1 (complément à 2) F =0
0100 F = AB F = A plus A B F = A + A B plus 1
0101 F =B F = (A + B) plus A B F = (A+ B) plus A B plus 1
0110 F =A + B F = A moins B moins 1 F = A moins B
0111 F =AB F = A B -1 F =AB
1000 F =A+ B F = A plus AB F = A plus AB plus 1
1001 F =A + B F = A plus B F = A plus B plus 1
1010 F =B F = A + B plus AB F = (A + B) plus AB plus 1
1011 F = AB F = AB moins 1 F = AB
1100 F =1 F = A plus A = 2A F = A plus A plus 1
1101 F =A+B F = (A + B) plus A F = (A + B) plus A plus 1
1110 F =A+B F = (A + B) plus A F = (A + B) plus A plus 1
1111 F =A F = A moins 1 F =A
NB : le signe + correspond au OU logique.
VI.. les composants logiques programmables

2. Principe des composants logiques


Toute fonction logique peut se mettre sous la forme de somme de produits its ou de produit de sommes.
Il semble donc naturel d'utiliser une structure comportant deux ensembles fonctionnels :
un ensemble d'opérateurs ET organisé sous forme d'une matrice qui génère les produits de
variables d'entrées, éventuellement complémentées.
un ensemble d'opérateurs OU, appelée matrice OU, qui somme les produits.
L'idée est de ne conserver que les produits et les sommes qui nous intéressent. Pour cela, le
composant programmable prévoit au départ toutes les connexions possibles et laisse à l'utilisateur le
soin de couper (griller les fusibles) les liaisons qui ne l'intéressent pas. Voir figure 1 ci-dessous.
ci

3. Classification des réseaux logiques combinatoires


Les réseaux logiques programmables recouvrent une grande gamme de produits qui diffèrent selon
la partie programmable. La liste des différentes familles de composants programmables qui suit n'est
pas exhaustive. Elle se veut une introduction aux différentes architectures de ces composants.
PLE (Programmable
able Logic Element
Element): ): Plan ET fixe, plan OU programmable.
PAL (Programmable
Programmable Array Logic
Logic):): Plan ET programmable, plan OU fixe.
PLA (Programmable
Programmable Logic Array
Array):): Plan ET programmable, plan OU programmable.
FPLA (Field PLA):
): PLA reprogrammable.
PEEL (Programmable
Programmable Electrically Erasable Logic
Logic)
. EEPROM
. EEPLA
. EEPAL (GAL: Generic Array LogicLogic)
Les différents plans sont illustrés par la figure 8 ci-dessous

Intérêts de la logique programmable


Si un circuit est réalisé en logique programmable, il utilisera moins de composants puisque ceux-ci
ceux réalisent
directement les fonctions logiques désirées.
Un circuit ayant moins de composants sera habituellement moins coûteux à concevoir, réaliser et distribuer. La
réduction du nombre de composants
posants électronique tend aussi à augmenter la fiabilité des circuits et à réduire la
consommation énergétique.

VII. Synthèse des circuits combinatoires