Circuit logique

publicité
Circuit logique
I
Définition
• Un circuit logique est un dispositif électronique
permettant la réalisation d’une fonction logique
• Chaque variable de la fonction est matérialisée
par un conducteur et sa valeur sera définie à partir
de sa tension.
Entrées
{






}
Sorties

masse
A. Dipanda - circuits combinatoires
1
Circuit logique
• Les entrées et sorties
– Circuit logique↔ f(x1, x2, x3 ,..., xn ) → (y1, y2, y3 ,..., ym )
entrées
sorties
– Les entrées sont les conducteurs qui vont permettre de
présenter les opérandes.
– Les sorties sont les conducteurs qui vont permettre de
consulter le résultat.
A. Dipanda - circuits combinatoires
2
Circuit logique
I
les conducteurs sont appelés des broches ; il
en existe 4 types :
• entrées “ normales ” : forçées par l’utilisateur
• sorties “ normales ” : forçées par le circuit
• sorties 3 états : (peuvent être laissées libres dans
certains cas) on les utilise quand on travaille avec
les bus, circuit à validation.
• les collecteurs ouverts : libres ou forçés à 0
A. Dipanda - circuits combinatoires
3
Circuit logique
I
Assemblages de circuits logiques
règles ou principes à respecter :
– compatibilité des tensions entre les entrées et les sorties
– à un instant donné, on ne peut forçer une entrée que
d’une seule façon
f
g
A. Dipanda - circuits combinatoires
4
circuit combinatoire
I
Introduction
• un circuit combinatoire réalise sur ses sorties une
fonction de ses entrées : s=f(e)
• Un circuit combinatoire n’a pas de mémoire
interne.
• il y a toujours un moment de latence entre le
moment où on envoie quelque chose en entrée et
le moment où on récupère quelque chose en
sortie ; cet intervalle de temps est connu et
s’appelle le “ délai de propagation ” , noté tp.
A. Dipanda - circuits combinatoires
5
circuit combinatoire
I
Diagramme temporel
• permet de suivre l ’évolution du circuit au cours du
temps
0
t1
t2
t
1
E
x
0
0
S
f(x)
1
A. Dipanda - circuits combinatoires
TP
6
circuit combinatoire
Assemblages de circuits combinatoires
On peut faire un assemblage de circuits combinatoires, en
mettant bout à bout plusieurs circuits combinatoires, et
en évitant les boucles (une entrée d’un circuit étant une
de ses sorties ou une sortie d’un circuit « postérieur »)
E0
E1
E2
S0
f
g
S1
h
S2
E3
A. Dipanda - circuits combinatoires
7
Quelques circuits combinatoires
I
Les portes : (base)
Elles réalisent les opérations de l’algèbre de Boole
AND (ET)
OR (OU)
A
Y
B
A
Y
B
NOT ( NON )
(XOR) OU exclusif
A
A
A. Dipanda - circuits combinatoires
Y
Y
B
8
Quelques circuits combinatoires
• Réalisations du XOR avec les portes AND et OR
A
B
A
B
A
B
A
B
A. Dipanda - circuits combinatoires
9
Quelques circuits combinatoires
NAND ( NON ET )
NOR ( NON OU )
A
A
Y
Y
B
B
Réalisation des fonctions NON, OU et ET
en utilisant uniquement des portes NOR
A
Y=A
A
B
A. Dipanda - circuits combinatoires
A
Y=A.B
Y=A+B
B
10
Quelques circuits combinatoires
• Porte à Trois Etats
La porte "3 états", ou tri-state", n'est pas une porte logique
au sens strict. Elle est principalement utilisée pour connecter
une sortie sur une ligne commune à plusieurs circuits (un bus
par exemple). Elle remplace généralement une porte ET.
A
C
A. Dipanda - circuits combinatoires
Y
C
1
1
0
A
0
1
X
Y
0
1
0
sortie
faible impédance
faible impédance
haute impédance
11
Quelques circuits combinatoires
• Le multiplexeur : (Mux) circuit 1 parmi 2n
– Il est composé de 2n entrées, 1 sortie, et n lignes de
sélection (lignes de commande, lignes d’adresse)
– Il permet de faire la liaison entre 1 entrée parmi m=2n et
la sortie en fonction des n lignes de sélection.
E0
E1
s
E2
E(m-1)
a0
A. Dipanda - circuits combinatoires
a1 ... a(n-1)
12
Quelques circuits combinatoires
• Le décodeur :
– Il a n lignes d’entrée (lignes d’adresse) et 2n lignes de
sortie.
– En fonction des lignes d’adresse, on va activer l’une des
2n lignes.
– On peut avoir une entrée supplémentaire a, on obtient
donc un décodeur à validation.
a0
a1
S0
S1
S2
an-1
Sm-1
a
A. Dipanda - circuits combinatoires
13
Quelques circuits combinatoires
• Exemple d ’utilisation du décodeur : décodage
d’adresse
– une mémoire de 32 mots (4 boîtiers de 8 mots chacun) ;
– pour 1 mot mémoire, on a une adresse de 5 bits répartis
de la manière suivante :
– 2 bits d’adresse boîtier,
– 3 bits adresse mot dans la boîtier.
a0
a1
a2, a3, a4
A. Dipanda - circuits combinatoires
14
Quelques circuits combinatoires
• le décodeur comme un démultiplexeur. On a
besoin d’un décodeur à validation.
a0
a1
S0
S1
an
Sk
Sm
d
Sk={ si k=a alors Sk=d
sinon, Sk=0 }
A. Dipanda - circuits combinatoires
15
Quelques circuits combinatoires
• Le comparateur :
– Il permet de faire la comparaison de deux mots de n bits.
– Cas simple :
1 si A=B
0 si A≠B
On a l’égalité des deux mots si tous les bits sont égaux
– Ai=Bi ⇒ Ai⊕Bi =0
– Ai≠Bi ⇒ Ai⊕Bi =1
On utilise ces deux relations pour construire le comparateur.
– A=B⇒∀i Ai=Bi ⇒∑ Ai⊕Bi =0
– A=B⇔NON (∑Ai⊕Bi )
A. Dipanda - circuits combinatoires
16
Quelques circuits combinatoires
I
Réalisation du comparateur 3 bits
A2
A1
A0
B0
B1
B2
S
A. Dipanda - circuits combinatoires
17
Quelques circuits combinatoires
• Le semi-additionneur :
Soient A et B deux nombres de 1 bit.
A
0
0
1
1
A. Dipanda - circuits combinatoires
B
0
1
0
1
S
0
1
1
0
R
0
0
0
1
123
OU
123
ET
18
Quelques circuits combinatoires
I
Réalisation du semi-additionneur
A
B
S
R
A. Dipanda - circuits combinatoires
19
Quelques circuits combinatoires
I
Additionneur complet:
• on considère la retenue
A
0
0
0
0
1
1
1
1
A. Dipanda - circuits combinatoires
B
0
0
1
1
0
0
1
1
Re
0
1
0
1
0
1
0
1
S
0
1
1
0
1
0
0
1
Rs
0
0
0
1
0
1
1
1
20
Quelques circuits combinatoires
Rs= A .B.Re
S= A . B
.R e + A .B . R e + A . B . R e +
A .B .R e
S = R e.( A . B + A .B ) + R e .( A .B + A . B )
S = R e.( A ⊕ B ) + R e.(A ⊕ B )
A.B.Re
Rs=Re.( A .B + A. B ) + A.B( Re + Re)
=1
Rs=Re.(A⊕B) + A.B
S = R e⊕ (A ⊕ B )
A
B
S
A. Dipanda - circuits combinatoires
+ A. B .Re + A.B. Re +
Re
Re
21
Réalisation d’un circuit combinatoire
I
La réalisation d’un circuit combinatoire passe
par deux phases :
• Recherche d’une solution correcte (analyse)
• Simplification de la solution trouvée
(-> circuit plus efficace).
A. Dipanda - circuits combinatoires
22
Réalisation d’un circuit combinatoire
I
Méthode par algèbre de Boole
– L’analyse aboutit à l’établissement d’une table de vérité
donnant l’équation logique. Il s’agit par la suite
d’optimiser cette équation soit:
– en utilisant les règles de simplification
– en utilisant les tableaux de Karnaugh
– on risque d’avoir des grands circuit car on n’utilise que
des portes et, ou, & non.
– on ne trouve pas de circuit particulier
– avec plus de 5 entrées, la table de vérité devient
inexploitable.
A. Dipanda - circuits combinatoires
23
Réalisation d’un circuit combinatoire
I
Décomposition en sous fonctions
• dissociation des sorties :
f(e)
f(e)
⇔
E
g(e)
E
f
g
g(e)
Exemple 2 : somme de deux nombres :
A
S
B
R
A. Dipanda - circuits combinatoires
24
Réalisation d’un circuit combinatoire
• composition des fonctions :
f(e)
⇔ E
f
g
S=f(g(e))
E
g(e)
exemples : outil permettant la réalisation des opération : X+Y, 2X+Y, X+2Y
E
A. Dipanda - circuits combinatoires
DEC
ADD
S
25
Réalisation d’un circuit combinatoire
I
la sélection :
• ♦alternative à deux branches
f(E)
E
choix
Sélection entre
g(E)choix:
deux
f et g
S
cond
cond
A. Dipanda - circuits combinatoires
26
Réalisation d’un circuit combinatoire
avec des adaptateurs trois états
f
S
g
Avec des portes
f
S
g
C
C
A. Dipanda - circuits combinatoires
27
Réalisation d’un circuit combinatoire
I
la récurrence :
quand on peut définir une fonction d’ordre n par la
fonction d’ordre n-1.
En = f(E0, E1, E2, ..., En-1)
• Pour chercher la solution d’ordre n, on commence
par résoudre le problème à l’ordre n-1
• Le problème est de pouvoir trouver la bonne
valeur pour le problème de taille 0 ; en général,
c’est une constante.
A. Dipanda - circuits combinatoires
28
Réalisation d’un circuit combinatoire
– pour faire un additionneur 2 bits, on se sert de 2
additionneurs 1 bit.
– comparaison de deux nombre X et Y (X>Y)
» 1 si le couple(Xn, Yn)=(1, 0) Xn et Yn étant les
bits de poids fort.
» 0 si le couple(Xn, Yn)=(0, 1)
» sinon, supn
solution
de taille n
module
solution
de taille 1
A. Dipanda - circuits combinatoires
d’extension
29
Réalisation d’un circuit combinatoire
• la dichotomie :
on veut résoudre un problème de taille 2n en sachant
résoudre le problème de taille n.
Exemple : faire un additionneur 4 bits à partir de deux
additonneut 2 bits.
E0...En-1
solution
de taille n
module
d’extension
En...E2n-1
A. Dipanda - circuits combinatoires
s
solution
de taille n
30
Téléchargement