Vous êtes sur la page 1sur 33

Circuits logiques combinatoire

Abdelouahed TAJER

1
Circuits Combinatoire :
Introduction et Définition
Logique combinatoire : se dit d’une fonction logique numérique réalisée ave
les portes de base (AND, OR, NOT, Nand, …) dans laquelle toutes les
sorties sont reliées à des combinaison courantes des valeurs à l’entrée.
Tous changements dans les signaux appliqués aux entrées se propage
immédiatement à travers les portes jusqu’à ce que leurs effets apparaissent
aux sorties.

Circuit combinatoire : S = f(a,b,c,..,n)

idem Boucle ouverte

Circuit séquentiel : S = f(a,b,c,..,n,S)

idem Systèmes bouclés

2
Circuits combinatoires
(au catalogues des fournisseurs)

• Portes intégrés et inverseurs (Gates)


• Portes cascadable (Expanders)
• Multiplexeur / demultiplexeur
• Codeurs / Decodeurs
• Transcodeurs
• Comparateurs / Detection d’erreurs
• Circuits arithmétiques (add, ALU, mult)

! • Mémoires
• Composants programmables (PLD)

3
Portes intégrées

Porte de base la plus fabriquée : NAND (GOC)

TTL CMOS
CI = 4 NAND à 2 entrées 7400 4011
3 « 3 « 7410 4023
2 « 4 « 7420 4012
1 « 8 « 7430 4068

Aussi : 6 inverseurs
Remarque : 4 NAND à 2 entrées
2*4 entrées + 1*4 sorties + Vcc + Gnd = 14 pattes

4
Expander (historique)
Les premières portes complexes intégrées :
AND-OR-INVERT (exemple AOI 2-2-1)

a
b &
c >1
d & a
b &
>1
s  a . b  c. d  e
c
d &
e AND-OR-INVERT expandable
ou EXPANDER
5
Multiplexeur
Le multiplexeur est un ensemble de circuits logiques qui envoie sur
l’unique sortie le niveau logique présent sur l’entrée dont le numéro
a été codé par la valeur fournie sur les entrées d’adresse

I0
I1
I2 Q

I3
Mux 4 vers 1

S1 S0

Exemple: Si on considère comme présentes sur les entrées les valeurs


S0 = 0, S1= 1, on trouvera sur la sortie S, le même niveau logique que
celui présent sur l’entrée 2. ((10)2 = 2(10)) (I2)

6
Multiplexeur
Sélection d’une voie parmi 2N par N bits de commande
Si (S1S0)2 = 0 alors Q = I0
I0 Q  S 0 .S1.I O
I1 Si (S1S0)2 = 1 alors Q = I1
I2 Q
Q  S0 .S1.I1
I3
Mux 4 vers 1 …

S1 S0

Q  S1 . S 0 . I 0  S1 . S0 . I1  S1 . S0 . I 2  S1 . S 0 . I 3

7
Multiplexeur (constitution)
Q = S1. S0 . I0 + S1. S0 . I1 + S1. S0 . I2 + S1. S0 . I3

I0
&
I1
&
I2 >1 Q
&
I3
&
S1
S0

8
Multiplexeur : réalisation de
fonctions
Utilisation de la première forme canonique
ab F
00 0 F(0,0) 0 I0
01 1 F(0,1) 1 I1 Mux
Q= F
10 1 F(1,0) 1 I2 4 vers 1
= a/b+b/a
11 0 F(1,1) 0 I3 S S
1 0

a b

Toute fonction logique de N variables est


réalisable avec un multiplexeur de 2N vers 1

9
Démultiplexeur : 1 parmi 2n
Le démultiplexeur est un ensemble de circuits logiques qui envoie
le niveau logique présent à l’entrée sur la sortie dont le numéro a
été codé sur les entrées d’adresse.

Q0
Q1
E
Q2
Q3
1 parmi 2N

S1 S0

Exemple: Si on considère comme présentes sur les entrées les valeurs


S0 = 0, S1= 1, la valeur logique de la sortie numéro 2 reflétera la valeur
logique de l’entrée E.

10
Démultiplexeur : 1 parmi 2n
Q0 = E si (S1S0)2=0
E sinon
Q0
Q1 Q1 = E si (S1S0)2=1
E
Q2 E sinon
1 parmi 2N
Q3

S1 S0
Remarque : E peut ne pas être «disponible»
Sortie sélectionnée = 1 les autres 0
ou Sortie sélectionnée = 0 les autres 1

11
Démultiplexeur : 1 parmi 2n
E=1

Q0  E . S 1 . S 0  E . S 1 . S 0
Q0  S1 . S 0
Q0  E . S1 . S 0  E .( S1  S 0 )
E Q1
Q1  E . S1 . S 0  E . S1 . S 0
Q2 Q1  S 1 . S 0
 E . S1 . S 0  E .( S1  S 0 )
1 parmi 2N
Q3

S1 S0
Qi=(i)2

12
Démultiplexeur : réalisation de
fonctions
Q0
ab F
Q1
00 0 F(0,0) 1 Q2 F
01 1 F(0,1)
Q3
10 1 F(1,0)
1 parmi 2N
11 0 F(1,1)

a b
F=a/b+b/a
Q0  E . S 1 . S 0  E . S 1 . S 0
Q0  S1 . S 0
 E . S1 . S 0  E .( S1  S 0 )

Q1  E . S1 . S 0  E . S1 . S 0
Q1  S 1 . S 0
 E . S1 . S 0  E .( S1  S 0 )

13
Codeur (ou Encodeur)
Faire correspondre un mot code à un symbole

Le code de l’entrée
1 entrée parmi N

Exemple : Clavier / Scan code


Caractère / Code ASCII
14
Codeur (ou Encodeur)
Un encodeur est un ensemble de circuits logiques qui donne sur ses sorties
le code binaire correspondant à l’entrée activée. C’est un circuit à 2n entrée
et n sorties.

0 I0
1 I1 C0 1
0 I2 C1 0
0 I3

Exemple: Si l’entrée activée est la I1 ( c’est-à-dire que c’est à ce moment


là la seule entrée portée au niveau 1 alors que les autres sont au
niveau 0), on aura donc en sortie les valeurs suivante: C0 = 1 et C1 =0.

15
Codeur (une des réalisations)
le codeur SN 74148
Il a 8 entrées E7… E8 et 3 sorties S2, S1, S0 qui codent en binaire l’indice de
l’entrée activée ( ou l’indice le plus élevé si plusieurs entrées sont activées).

La figure montre une simplification du composant 74148 qui contient un


encodeur 8 à 3. Le signal supplémentaire GS (Got Something) est un signal
qui indique qu'une des entrées est active dans le but de faire la différence
entre l'entrée 0 active et lorsqu'aucune entrée n'est activée.

16
Décodeur
Le décodeur est un système combinatoire ayant pour fonction
d'activer une des 2n sorties. La sélection est faite à l'aide de n lignes
d'adresse et les sorties sont mutuellement exclusives.
La notation usuelle du décodeur est: décodeur 1 parmi 2n. Le
décodeur se comporte exactement comme un DEMUX avec son entrée
toujours à 1. Par exemple, un décodeur 1 parmi 8 aura 3 lignes
d'adresse. La figure présente la forme générale d'un décodeur.

17
Décodeur
Par exemple, le décodeur à 2 entrées et à 4 sorties fonctionne selon la table
d’implication suivante. Le signal supplémentaire G (Strobe) est un signal
d'activation du composant. Si G est inactif, toutes les sorties du DECO seront
obligatoirement inactives.

Exemple : adresses pixel / position effective pixel

18
Transcodeur
Passage d’un code quelconque C1 à un autre code C2

C1 C2
n m

19
Transcodeur : exemple

0 I0
1 I1
0 I2
0 I3

Code binaire 0 à 9 Configuration alimentation


des diodes (ou LCD)

20
Comparateur binaire
Il détecte l’égalité entre deux nombres A et B. Certains circuits permettent également
de détecter si A est supérieur ou bien inférieur à B.

n
A S = 1 si A  B
classiqu. n=4 E = 1 si A = B
n
B
   I = 1 si A  B

Entrées de cascadage

21
Comparateur binaire

22
ALU (ou UAL)
Unité Arithmétique et Logique

Cin
n Exemple :
A
P
G R= A+B
Classique. n=4 A=B R= A+B
n R
n R= A+B+1
B ...
5 Cout
R= A ou B
S R= A nand B
Choix de la ...
fonction (32 cas)
23
Synthèse des circuits combinatoires
Si le nombre de variables mises en oeuvre est faible
(typiquement inférieur à 10), les circuits sont réalisés
directement à l’aide de la table de vérité, éventuellement
après simplification de la fonction logique. Dans le cas
contraire, la fonction est décomposée en différents blocs
fonctionnels analysés séparément.
Le choix des composants utilisés est basé sur différents
critères : nombre de boitiers, coût, disponibilité, points
test, complexité des connexions, etc.
Les différents choix sont :
a) utilisation de portes simples (OU, ET, NON) ou des
portes NON-OU et NON-ET ;
b) développement de circuits intégrés (CI) spécialisés. Le
problème du coût de développement et de fabrication
impose une production en très grandes séries ;
c) utilisation de circuits intégrés combinatoires :
– MUX, DEMUX;
– décodeurs ;
– circuits logiques programmables : PROM, PAL, etc.

24
Mémoire
Remarque (1) : architecture interne plus tard
Remarque (2) : la brique de base n’est pas combinatoire !

Contrôle
Les mémoires peuvent être :
lecture seule
n m
A D écriture une fois/lecture
écriture lente/lecture
écriture/lecture

write : D stockée dans M(A)


2n mots de m bits
read : M(A) positionne les fils D

25
Mémoire : réalisation de fonction
write : stockage de la fonction
read : utilisation
Controle
ab F
00 0 M(00)=0 0
Il faut n=2 m=1
01 1 M(01)=1 1
4 mots A D0 = F
10 1 M(10)=1 1
de 1 bits
11 0 M(11)=0 0

La mémoire est utilisée en LUT (Look Up Table)


C’est souvent une méthode très performante
en vitesse/surface (8 fonctions de 20 variables)
Cette technique est utilisée dans les FPGA.

26
PLD (Composants
programmables)
Remarque : architecture interne plus tard
Composant acheté sous forme générique et spécialisé
par l’utilisateur.
Exemple d’une structure 2 couches :
Actuellement (en 2005) :
a
b Matrice des maxi 1 Mega portes
c ET qq ns de tps de calcul
qq Mbits de RAM
#1200 IO
OU Sorties
(pas conjointement)

27
PLD (illustration fonct. interne)
On active/désactive des interrupteurs pour personnaliser la fonction

1
a
s=c+b
ET
b
a s = a.F + a.F
c
1 a
b
OU
c s = a.b XOR
0

0
28
Exercice de cours
 Soit deux nombres binaires sur 2 bits A et B, on
veut effectuer R = A+B (arithmétique). R est sur 3 bits

 Donner la table de vérité de Ri = Fi (A1,A0,B1,B0)


 Donner les formes canoniques de Fi
 Simplifier les équations
 Proposer des schémas à base de portes OU, ET,NON
 Idem avec des NAND seulement
 Idem avec 3 NON et 3 MUX 8 vers 1

29
Exercice de cours
A1 A0 B1 B0 R2 R1 R0
0 0 0 0 0 0 0
 Soit deux nombres binaires sur 2
bits A et B, on 0 0 0 1 0 0 1
veut effectuer R = A+B 0 0 1 0 0 1 0
(arithmétique). R est sur 3 bits 0 0 1 1 0 1 1
0 1 0 0 0 0 1
 Donner la table de vérité de Ri 0 1 0 1 0 1 0
= Fi (A1,A0,B1,B0)
0 1 1 0 0 1 1
 Donner les formes canoniques de Fi
0 1 1 1 1 0 0
 Simplifier les équations
 Proposer des schémas à base de 1 0 0 0 0 1 0
portes OU, ET,NON 1 0 0 1 0 1 1
 Idem avec des NAND seulement 1 0 1 0 1 0 0
 Idem avec 3 NON et 3 MUX 8 vers 1 0 1 1 1 0 1
1 1 1 0 0 0 1 1
1 1 0 1 1 0 0
1 1 1 0 1 0 1
1 1 1 1 1 1 0
30
Exercice de cours
 Donner les formes canoniques de Fi

 Première forme canonique


R2  A1. A0 .B1.B0  A1. A0 .B1.B0  A1. A0 .B1.B0  A1. A0 .B1.B0  A1. A0 .B1.B0  A1. A0 .B1.B0
R1  A1. A0 .B1.B0  ...
R0  ...
 Deuxième forme canonique

     
R2   A1  A0  B1  B0   A1  A0  B1  B0  A1  A0  B1  B0  A1  A0  B1  B0 

A  A  B  B A  A  B  B A  A  B  B A  A  B  B 


1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

A  A  B  B A  A  B  B 
1 0 1 0 1 0 1 0

R1   A1  A0  B1  B0   ...
R0  ...
31
Exercice de cours
 Simplifier les équations
 Algébriquement

   
R2  A1 . A0 .B1 .B0  A1. A0 .B1 .B0  A1 . A0 .B1 .B0  A1. A0 .B1 .B0  A1 . A0 .B1 .B0  A1 . A0 .B1 .B0

R2  A .B .B .  A  A   A . A . B .  B
0 1 0 1 1 1 0 1 0 
 B0  A1 . A0 .  B1  B0 
R2  A0 .B1 .B0  A1 . A0 .B1  A1 . A0 .  B1  B0 

 
R2  B1 . A0 .B0  A1 . A0  A1 . A0 .  B1  B0 

R1  ...

 Simplification graphique par tableau de Karnaugh

32
Exercice de cours
 Proposer des schémas à base de portes OU, ET,NON

 
R2  B1. A0 .B0  A1. A0  A1. A0 .  B1  B0 

 …
33

Vous aimerez peut-être aussi