Upload
truongbao
View
227
Download
0
Embed Size (px)
Citation preview
23 octobre 2006 Circuits logiques - JP David 74
Chapitre III – Circuits Combinatoires
Circuits usuels
• Lectures recommandéesGivone
• Chapitre 5 : Logic Design with MSI Components and Programmable Logic Devices
23 octobre 2006 Circuits logiques - JP David 75
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Addition de deux bits (demi-additionneur binaire)
A et B : cumulande et cumulateur
S : somme R : retenue
0 0 0 00 1 0 11 0 0 11 1 1 0
A B R SS A B= ⊕ R AB=
S
R
AB
Le “demi” additionneur
23 octobre 2006 Circuits logiques - JP David 76
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
1 3 2 1
1 3 2 1 0
1 3 2 1 0
1 3 2 1 0
nr r r r
n
n
n n
a a a a ab b b b b
r s s s s s
−
−
−
−
+L
L
L
Additionneur binaire complet ΣΣΣΣ
a0 b0a1 b1a2 b2bn-1an-1
s0s1s2sn-1rn
r0 = 0r2 r1rn-1 r3
Additionner n bits
23 octobre 2006 Circuits logiques - JP David 77
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
1
0 0 0 0 00 0 1 1 00 1 0 1 00 1 1 0 11 0 0 1 01 0 1 0 11 1 0 0 11 1 1 1 1
i i i i ir a b s r+
0 1
1 01
0100
0
aibi
ri
0 1
1 0
1011
i i i i i i i i i i i i is r a b r a b r a b r a b= + + +
0 0
0 11
0100
0
aibi
ri
1 0
1 1
1011
1i i i i i i ir r a r b a b+ = + +
L’additionneur “complet”
23 octobre 2006 Circuits logiques - JP David 78
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
i i i i i i i i i i i i is r a b r a b r a b r a b= + + +
ou ii ii ii i irr bbb a aa + +
( ) ( )i i i i i i i i i ir a b a b r a b a b= + + +
( ) ( ) ( )i i i i i i i i ir a b r a b r a b= ⊕ + ⊕ = ⊕ ⊕
0 0
0 11
0100
0
aibi
ri
1 0
1 1
1011
( )i i i i i i ir a b a b a b= + +
( )i i i i ir a b a b= ⊕ +
1i i i i i i ir r a r b a b+ = + +
L’additionneur “complet” (suite)
23 octobre 2006 Circuits logiques - JP David 79
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
ai
bi
ri( )i i i is r a b= ⊕ ⊕
( )1i i i i i ir r a b a b+ = ⊕ +
L’additionneur “complet” (suite)
23 octobre 2006 Circuits logiques - JP David 80
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Inconvénient de l’additionneur itératif :
Délai de propagation des retenues
Cet additionneur à 3 bits a un chemin critique (le plus long chemin de l’entrée à la sortie) de 7 portes.
La longueur du chemin critique est proportionnelle au nombre de bits et le délai qu’il engendre peut facilement devenir excessif pour des additionneurs de large taille.
Solution : Circuit d’anticipation de retenues
a0b0
r
a1b1
a2b2
s0
s1
s2
r0
Ô temps …
23 octobre 2006 Circuits logiques - JP David 81
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
(en anglais : « Carry Lookahead Network »)
1 où (ou bien ) et i i i i i i i i i i i ir r p g p a b a b g a b+ = + = ⊕ + =
1 0 0 0r r p g= +
( )2 1 1 1 0 0 0 1 1 0 0 1 0 1 1r r p g r p g p g r p p g p g= + = + + = + +
( )3 2 2 2 0 0 1 0 1 1 2 2 0 0 1 2 0 1 2 1 2 2r r p g r p p g p g p g r p p p g p p g p g= + = + + + = + + +
0 0 1 2 1 0 1 2 1 1 2 1 2 3 1
4 3 2 1 3 2 1 2 1 1 n n n n n
n n n n n n n n n n
r r p p p p g p p p g p p g p pg p p p g p p g p g
− − − −
− − − − − − − − − −
= + + + +
+ + + +
L L L L L
L
Anticipation des retenues
23 octobre 2006 Circuits logiques - JP David 82
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
g0p1g1p2g2p3g3
r1
r2
r3
r4
Chemin de 2 portes
Ex. sur un additionneur 4 bits
23 octobre 2006 Circuits logiques - JP David 83
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
s0
s1
s3
r4
s2
a0 a1 a2b2
a3b3b0 b1
Circuit d’anticipation des retenues
r1 r2 r3 r4
g0 p1 g1 p2 g2 p3 g3
Exemple (suite)
23 octobre 2006 Circuits logiques - JP David 84
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
[ ] [ ]1 2 2 1 0 1 2 2 1 0n n n na a a a a b b b b b− − − −−L L
ΣΣΣΣ
a0
b0
a1
b1
a2
b2bn-1
an-1
s0s1s2sn-1rn
r0 = 1r2 r1rn-1 r3
Addition/soustraction
23 octobre 2006 Circuits logiques - JP David 85
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Unité arithmétique binaire avec commande de l’opération
ΣΣΣΣ
a0
b0
a1
b1
a2
b2bn-1
an-1
s0s1s2sn-1rn
r0
r2 r1rn-1 r3
0 , addition1 , soustraction
c ⎧= ⎨⎩
d
détection de débordement
Addition/soustraction (suite)
23 octobre 2006 Circuits logiques - JP David 86
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
MSI : Medium Scale Integration. On intègre une fonction qui est plus complexe que de simples portes logiques.
Une grande quantité de ces circuits et de portes logiques peuvent également être intégrés pour produire un circuit ITGÉ.
Exemple : Un microprocesseur
ITGÉ : Intégration à Très Grande Échelle
(En anglais) VLSI : Very Large Scale Integration
Circuits MSI - VLSI
23 octobre 2006 Circuits logiques - JP David 87
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
74LS182Circuit d’anticipation des retenues
Exemples de circuits
23 octobre 2006 Circuits logiques - JP David 88
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
74LS283Additionneur à 4 bits
Exemples de circuits (suite)
23 octobre 2006 Circuits logiques - JP David 89
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
COMPARATEUR
an-1 a2 a0a1 bn-1 b2 b0b1
sEsGsP
[ ] [ ][ ] [ ][ ] [ ]
1 2 2 1 0 1 2 2 1 0
1 2 2 1 0 1 2 2 1 0
1 2 2 1 0 1 2 2 1 0
100 si 010 si 001 si
n n n n
E G P n n n n
n n n n
a a a a a b b b b bs s s a a a a a b b b b b
a a a a a b b b b b
− − − −
− − − −
− − − −
⎧ =⎪
= >⎨⎪ <⎩
L L
L L
L L
E (Égal) : A = B G (Grand) : A > B P (Petit), A < B
UN seul des trois bits peut être actif à la fois
Le comparateur
23 octobre 2006 Circuits logiques - JP David 90
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
COMPARATEUR (UN BIT)
an-1a0 ai bn-1b0 bi
sE
sG
sP
COMPARATEUR (UN BIT)
COMPARATEUR (UN BIT)
E0
G0
P0
E1
G1
P1
Ei+1
Gi+1
Pi+1
En-1
Gn-1
Pn-1
Ei
Gi
Pi
En
Gn
Pn
Comparateur : réalisation avec des comparateurs à un bit
Note : E0 = 1 et G0 = P0 = 0
Le comparateur (suite)
23 octobre 2006 Circuits logiques - JP David 91
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
ai bi
COMPARATEUR (UN BIT)
Ei+1
Gi+1
Pi+1
Ei
Gi
Pi
1 1 1
0 0 1 0 0 1 0 00 0 0 1 0 0 1 00 0 0 0 1 0 0 10 1 1 0 0 0 0 10 1 0 1 0 0 0 10 1 0 0 1 0 0 11 0 1 0 0 0 1 01 0 0 1 0 0 1 01 0 0 0 1 0 1 01 1 1 0 0 1 0 01 1 0 1 0 0 1 01 1 0 0 1 0 0 1
i i i i i i i ia b E G P E G P+ + +
( Tous les autres cas sont facultatifs )
Le comparateur (suite)
23 octobre 2006 Circuits logiques - JP David 92
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
- 0
01
0100
00
EiGi
aibi
- 1
1011
- 0
- 010
11 - 1
- 0
0 - - -
0
0 -
-
- -
Pi = 0
Pi = 1
1 ii i ii i ia b E a EE b+ = +
0 - --
- -
- 0 - 0
- 1
--- 1
--
Le comparateur (suite)
23 octobre 2006 Circuits logiques - JP David 93
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
- 1
01
0100
00
EiGi
aibi
- 0
1011
- 1
- 110
11 - 0
- 1
0 - - -
0
1 -
-
- -
Pi = 0
Pi = 1
1 i i i i ii iaG a bGb G+ = + +
0 - --
- -
- 0 - 0
-1
1 -
-
-
-
-
-
--
1
- -
-1 1
1
- 1 -
- - -
Le comparateur (suite)
23 octobre 2006 Circuits logiques - JP David 94
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
- 0
01
0100
00
EiGi
aibi
- 0
1011
- 0
- 010
11 - 0
- 0
1 - - -
1
0 -
-
- -
Pi = 0
Pi = 1
1 - --
- -
- 1 - 1
- - -
- - -
1
1
1 - - -
- - -1
1 1
1
- -
- - -
1 i i i i ii iaP a bPb P+ = + +
Le comparateur (suite)
23 octobre 2006 Circuits logiques - JP David 95
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
1i i i i i i iP b P a P a b+ = + +
1i i i i i i iG b G a G a b+ = + +
( ) ( ) ( )1i i i i i i i i i i i i i i i i i iE a b E a b E a b a b E a b E a b E+ = + = + = ⊕ =
ou i i i i i i i ia b G a b G a b+ +
( ) ( )i i i i i i i i i i i ia b a b G a b a b G a b= + + = +
ou i i i i i i i ia b P a b P a b+ +
( ) ( )i i i i i i i i i i i ia b a b P a b a b P a b= + + = +
Le comparateur (suite)
23 octobre 2006 Circuits logiques - JP David 96
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
ai bi
Ei
Gi
Pi
Ei+1
Gi+1
Pi+1
Le comparateur (suite)
23 octobre 2006 Circuits logiques - JP David 97
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
74LS85Comparateur à 4 bits
Le comparateur en MSI
23 octobre 2006 Circuits logiques - JP David 98
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Dispositifs effectuant la conversion d’informations binaires d’une forme à une autre
Exemple : Conversion d’un code binaire naturel à un code de Gray
2 1 0 2 1 0
0 0 0 0 0 00 0 1 0 0 10 1 0 0 1 10 1 1 0 1 01 0 0 1 1 01 0 1 1 1 11 1 0 1 0 11 1 1 1 0 0
b b b g g g 2 2g b= 1 2 1g b b= ⊕ 0 1 0g b b= ⊕
g0
g1
g2
b0
b1
b2
Codeurs et décodeurs
23 octobre 2006 Circuits logiques - JP David 99
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Exemple : Conversion d’un code de Gray à un code binaire naturel
2 1 0 2 1 0
0 0 0 0 0 00 0 1 0 0 10 1 1 0 1 00 1 0 0 1 11 1 0 1 0 01 1 1 1 0 11 0 1 1 1 01 0 0 1 1 1
g g g b b b
2 2b g= 1 2 1b g g= ⊕
( )0 1 0 2 1 0b b g g g g= ⊕ = ⊕ ⊕
g0
g1
g2
b0
b1
b2
Codeurs et décodeurs (suite)
23 octobre 2006 Circuits logiques - JP David 100
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Conversion « n bits à 2n lignes » (ou décodeur)
a0
a1
a2s5
s6
s7
Illustration avec n = 3
s2
s3
s4
s0
s1
Con
verti
sseu
r
3 bi
ts à
8 lig
nes
2 1 0 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 10 0 1 0 0 0 0 0 0 1 00 1 0 0 0 0 0 0 1 0 00 1 1 0 0 0 0 1 0 0 01 0 0 0 0 0 1 0 0 0 01 0 1 0 0 1 0 0 0 0 01 1 0 0 1 0 0 0 0 0 01 1 1 1 0 0 0 0 0 0 0
a a a s s s s s s s s
Décodeur binaire
23 octobre 2006 Circuits logiques - JP David 101
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
a0
a1
a2
Con
verti
sseu
r
3 bi
ts à
8 lig
nes
7 2 1 0s a a a=
6 2 1 0s a a a=
5 2 1 0s a a a=
4 2 1 0s a a a=
3 2 1 0s a a a=
2 2 1 0s a a a=
1 2 1 0s a a a=
0 2 1 0s a a a=
( )1 2 1 0 2 1 0 2 1 0 2 1 0, ,f a a a a a a a a a a a a= + +
( )2 2 1 0 2 1 0 2 1 0 2 1 0, ,f a a a a a a a a a a a a= + +
( )( )( )2 1 0 2 1 0 2 1 0a a a a a a a a a= + + + + + +
( ) ( ) ( ) ( )3 2 1 0 2 1 0 2 1 0 2 1 0, , f a a a a a a a a a a a a=
( )( )( )2 1 0 2 1 0 2 1 0a a a a a a a a a= + + + + + +
( )4 2 1 0 2 1 0 2 1 0 2 1 0, ,f a a a a a a a a a a a a= + +
Synthèse avec un décodeur
23 octobre 2006 Circuits logiques - JP David 102
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
I0I1I2
e5
e6
e7
e2
e3
e4
e0
e1
Mul
tiple
xeur
SEntrées Sortie
Sélection
2 1 0
0
1
2
3
4
5
6
7
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
I I I S
eeeeeeee
Le multiplexeur (mux)
23 octobre 2006 Circuits logiques - JP David 103
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
74LS150Multiplexeur
Le multiplexeur en MSI
23 octobre 2006 Circuits logiques - JP David 104
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
(ou convertisseur n bits à 2n lignes, avec commande d’activation)
I0I1I2
Dém
ultip
lex
eur
EEntrée
Sorties
Sélection
s5
s6
s7
s2
s3
s4
s0
s1
2 1 0 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 1 0 0 0 0 0 0 0 00 1 1 0 0 0 0 0 0 01 0 0 0 0 0 0 0 0 01 0 1 0 0 0 0 0 0 01 1 0 0 0 0 0 0 0 01 1 1 0 0 0 0 0 0 0
I I I s s s s s s s s
EE
EE
EE
EE
Le démultiplexeur
23 octobre 2006 Circuits logiques - JP David 105
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
74LS154Démultiplexeur
Le démultiplexeur en MSI
23 octobre 2006 Circuits logiques - JP David 106
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
e5
e6
e7
e2
e3
e4
e0
e1 Enco
deur
de
prio
tié
S1
Entré
es
Sorti
e
7 6 5 4 3 2 1 0 2 1 0
1 1 1 1 10 1 1 1 0 10 0 1 1 0 1 10 0 0 1 1 0 0 10 0 0 0 1 0 1 1 10 0 0 0 0 1 0 1 0 10 0 0 0 0 0 1 0 0 1 10 0 0 0 0 0 0 1 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0
− − − − − − −− − − − − −
− − − − −− − − −
− − −− −
−
I I I I I I I I S S S GS
S0
S2
GS
L’encodeur de priorité
23 octobre 2006 Circuits logiques - JP David 107
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
I0
I1
I2
e5e6e7 e2e3e4 e0e1
Multiplexeur S0
1
2
3
4
5
6
7
0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1
A B C S
ssssssss
ABC
S
s0s1s2s3s4s5s6s7
Synthèse avec un mux
23 octobre 2006 Circuits logiques - JP David 108
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
I0
I1
I2
e5e6e7 e2e3e4 e0e1
Multiplexeur S
A
B
C
S
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0 0 0 00 0 0 10 0 1 00 0 1 10 1 0 00 1 0 10 1 1 00 1 1 11 0 0 01 0 0 11 0 1 01 0 1 11 1 0 01 1 0 11 1 1 01 1 1 1
A B C D S
ssssssssssssssss
0 1s D s D+
2 3s D s D+
4 5s D s D+
6 7s D s D+
8 9s D s D+
10 11s D s D+
12 13s D s D+
14 15s D s D+
D
0 1s D s D+14 15s D s D+ L L L L L
D Circuit combinatoire
Synthèse avec un mux (suite)
23 octobre 2006 Circuits logiques - JP David 109
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
I0
I1
I2
e5e6e7 e2e3e4 e0e1
Multiplexeur S
A
B
C
S
0 0 0 0 00 0 0 1 10 0 1 0 10 0 1 1 10 1 0 0 00 1 0 1 00 1 1 0 10 1 1 1 01 0 0 0 01 0 0 1 01 0 1 0 11 0 1 1 01 1 0 0 11 1 0 1 11 1 1 0 11 1 1 1 1
A B C D S
D
1
0
D
0
D
1
1
D
1 0 0 11
Synthèse avec un mux (suite)
23 octobre 2006 Circuits logiques - JP David 110
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
0 1
0 001
0100
00
CD
AB
1 1
0 1
1011
1 1
0 010
11 1 1
0 1
e5
e6e7
e2 e3
e4
e0 e1
0e D=
1 1e =
2 0e =
3e D=
4 0e =
5e D=
6 1e =
7 1e =
Synthèse avec un mux (suite)
23 octobre 2006 Circuits logiques - JP David 111
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Même exemple avec un multiplexeur à 4 entrées
I0
I1
e2e3 e0e1
Multiplexeur S
A
B
C
S
D
DCircuit combinatoire
Ce2e3 e0e1
Synthèse avec un mux (suite)
23 octobre 2006 Circuits logiques - JP David 112
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
0 1
0 001
0100
00
CD
AB
1 1
0 1
1011
1 1
0 010
11 1 1
0 1
0e C D= +
3 1e =
2e C D=
1e C D=
I0
I1
e2e3 e0e1
Multiplexeur S
A
B
C
S
D
1
e3
e2
e0
e1
Synthèse avec un mux (suite)
23 octobre 2006 Circuits logiques - JP David 113
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Circuits logiques programmables
« PLD : Programmable Logic Device »« PROM : Programmable Read-Only Memory »
MÉMOIRE MORTE PROGRAMMABLE« PLA : Programmable Logic Array »
RÉSEAU LOGIQUE PROGRAMMABLE
« PAL : Programmable Array Logic »CIRCUIT PALMD
« FPGA : Field Programmable Gate Array »
23 octobre 2006 Circuits logiques - JP David 114
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
AA
A
A A
A
est équivalent à
ABC
A CB
S = ABC
S = ABC
FUSIBLE
est équivalent à
Notations
23 octobre 2006 Circuits logiques - JP David 115
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
ABC
A CB
S = ABC
S = ABC
est équivalent à
ABC
A CB
S = AC
S = AC
est équivalent à
Notations (suite)
23 octobre 2006 Circuits logiques - JP David 116
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
« PROM : Programmable Read-Only Memory »a0
a1
an-1
d0
d1
dk-1
m0 m1 m2 2 1nm−
AD
RES
SE
DO
NN
ÉE
Mémoire morte programmable
Vue théorique. Le décodeurest généralement différent
23 octobre 2006 Circuits logiques - JP David 117
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
« PLA : Programmable Logic Array »a0
a1
an-1
d0
d1
dk-1
b0 b1 b2 bl-1
Réseau logique programmable
23 octobre 2006 Circuits logiques - JP David 118
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
« PAL : Programmable Array Logic »a0
a1
an-1
d0
d1
dk-1
b0 b1 b2 bl-1
La matrice de OU est fixée par le
fabriquant. Seule la matrice de ET est
configurable.
Circuit PALMD
23 octobre 2006 Circuits logiques - JP David 119
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Le FPGA Cyclone IITM (Altera)
23 octobre 2006 Circuits logiques - JP David 120
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Le FPGA Cyclone II (suite)
23 octobre 2006 Circuits logiques - JP David 121
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Le FPGA Cyclone II (suite)
23 octobre 2006 Circuits logiques - JP David 122
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
Givone / #5.9 #5.10c #5.11c #5.12c#5.13c #5.19 #5.21d #5.22d#5.24 #5.29 #5.30 #5.32
RÉPONSES :
1, 1 1, 1, 0 , 1 0 , 0 ,#5.9 i i i i i i i i i i i i i iS A B A S B S S A B A S B S+ += + + = + +
1, 1, 0 , 0 , n n n nG S E S S L S= = + =
( ) ( )1 2 1 0 0 2 4 2 2 1 0 0 3 6#5.10c) , , , ,f x x x z z z f x x x z z z= + + = + +
( ) ( )1 2 1 0 1 2 5 2 2 1 0 2 4 6#5.11c) , , , ,f x x x z z z f x x x z z z= + + = + +
( ) ( )1 2 1 0 1 2 5 2 2 1 0 2 4 6#5.12c) , , , ,f x x x z z z f x x x z z z= =
( ) ( )1 2 1 0 0 2 4 2 2 1 0 0 3 6#5.13c) , , , ,f x x x z z z f x x x z z z= =
Problèmes suggérés
23 octobre 2006 Circuits logiques - JP David 123
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
#5.19a) wx y wxy z wx yz wx y z wx y wxyz+ + + + +
0 1 2 3 4 5 6 7
#5.21d) 0 1
#5.22d) 1 0 1 0
E E E E E E E E
z z z z z z
w w w w
RÉPONSES (suite):
( ) ( )b) wx wx y z vwx vwx wx y z yz+ + + + +
0 1 2 3#5.24
a) 0
b)
E E E E
y z z y z
w x wx wx x
+
+
Réponses (suite)
23 octobre 2006 Circuits logiques - JP David 124
3.4 – Circuits UsuelsChapitre III – Circuits Combinatoires
( )1#5.30 , , ,f w x y z x y xy z wy z= + +
( )2 , , ,f w x y z wz xy z wy z= + +
#5.29 Capacité du « PROM » : 8 données de 5 bits (8×5)
( )1#5.32 , ,f x y z x z x yz xy y z= + + +
( )2 , ,f x y z x y y z= +
( )3 , ,f x y z x z x yz= +
( ) ( )1 3À noter : , , , ,f x y z f x y z xy y z= + +
Réponses (suite)
23 octobre 2006 Circuits logiques - JP David 125
Chapitre III – Circuits Combinatoires
Méthode de Quine-McCluskey
• Lectures recommandées :Givone
• 4.8 The Quine McCluskey Method of GeneratingPrime Implicants and Prime Implicates
• 4.9 Prime-Implicants/Prime-Implicates Tables and Irredundant Expressions
• 4.10 Prime-Implicant/Prime-Implicate Table Reductions
• 4.13 Obtaining Multiple-Output Minimal Sums and Products
23 octobre 2006 Circuits logiques - JP David 126
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
À quoi ça sert ?
• Procédure systématique garantissant une simplification maximale de la fonction logique selon une formulation disjonctive (somme de produits) ou conjonctive (produit de sommes).
23 octobre 2006 Circuits logiques - JP David 127
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0 0 0 0 00 0 0 1 00 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 01 0 0 1 11 0 1 0 01 0 1 1 01 1 0 0 01 1 0 1 11 1 1 0 01 1 1 1 0
A B C D S
S ABC D ABC D ABCD
ABC D ABCD ABCD ABCD
= + +
+ + + +
1ère étape : forme canonique
23 octobre 2006 Circuits logiques - JP David 128
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0010 0100 0101 0110 0111 1001 1101S ABC D ABC D ABCD ABC D ABCD ABCD ABCD= + + + + + +
Étape 3 : Grouper les termes selon leurs poids (nombre de 1).
0010
0100
0101
0110
1001
0111
1101
poids 1
poids 2
poids 3
2ème étape : La notation binaire
23 octobre 2006 Circuits logiques - JP David 129
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
On regroupe les termes selon leurs poids (nombre de 1).
0010
0100
0101
0110
1001
0111
1101
poids 1
poids 2
poids 3
3ème étape : classer au poids
23 octobre 2006 Circuits logiques - JP David 130
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Comparer chaque terme d’un groupe avec chacun des termes du groupe suivant. Si deux termes diffèrent par un seul bit, un nouveau terme est produit avec un « × » à la position où il y a différence. Marquer les deux termes ayant engendré un nouveau terme.
0010
0100
0101
0110
1001
0111
1101
0×10 0010
0100
0101
0110
1001
0111
1101
0×10
010×
4ème étape : Simplifications
23 octobre 2006 Circuits logiques - JP David 131
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
01×1
Simplifications (suite)
23 octobre 2006 Circuits logiques - JP David 132
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
01×1
0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
01×1
×101 ×101
011×
Simplifications (suite)
23 octobre 2006 Circuits logiques - JP David 133
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
01×1
×101
011×
1×01
Simplifications (suite)
23 octobre 2006 Circuits logiques - JP David 134
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Répéter l’étape 4 avec les nouveaux termes jusqu’à ce qu’il n’y ait plus d’association possible. Pour pouvoir jumeler plusieurs termes qui ont des x, les x doivent être aux mêmes positions.
0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
01×1
×101
011×
1×01
01×× 0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
01×1
×101
011×
1×01
01××
5ème étape : Simplifier encore
23 octobre 2006 Circuits logiques - JP David 135
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Identifiez les implicants premiers ; ce sont les termes n’ayant pas été associés à d’autres.
0010
0100
0101
0110
1001
0111
1101
0×10
010×
01×0
01×1
×101
011×
1×01
01××* *
*
** Implicant premier
6ème étape : implicants premiers
23 octobre 2006 Circuits logiques - JP David 136
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Associer chaque implicant premier avec les termes de la fonction qu’ils peuvent représenter et identifier les implicants premiers essentiels (couverts par un seul implicant premier). Il suffit d’encercler tout les cas où il y a un seul élément dans une colonne
0×10
×101
1×01
01××
0010 0100 0101 0110 0111 1001 1101
*
*
*
*
***
*
*
*
7ème étape : couverture
23 octobre 2006 Circuits logiques - JP David 137
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Si les implicants premiers essentiels sont suffisants pour représenter la fonction, la simplification est terminée.
0×10
×101
1×01
01××
0010 0100 0101 0110 0111 1001 1101
*
*
*
*
***
*
*
*
AC D ACD AB+ +0×10 1×01 01××
S =
Couverture (suite)
23 octobre 2006 Circuits logiques - JP David 138
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Sinon …
Couverture (suite)
• Choisir des implicants premiers de façon àce que tous les termes soient représentés. Critère de sélection : minimisation de la complexité.
• Procédure : Réduction du tableau des implicants premiers.
ouMéthode de Petrick
23 octobre 2006 Circuits logiques - JP David 139
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0 0 0 0 10 0 0 1 10 0 1 0 10 0 1 1 00 1 0 0 00 1 0 1 10 1 1 0 10 1 1 1 11 0 0 0 11 0 0 1 11 0 1 0 11 0 1 1 01 1 0 0 01 1 0 1 01 1 1 0 11 1 1 1 0
A B C D S
S ABC D ABCD ABC D ABCD
ABC D ABCD ABC D
ABCD ABC D ABC D
= + + +
+ + +
+ + +
Autre exemple
23 octobre 2006 Circuits logiques - JP David 140
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0000
0001
000× ×00×*
* Implicant premier
0010
1000
0101
0110
1001
1010
0111
1110
00×0
×000
0×01
×001
0×10
×010
100×
10×0
01×1
011×
×110
*
×0×0
××10
1×10
*
**
*
Autre exemple (suite)
23 octobre 2006 Circuits logiques - JP David 141
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0×01
01×1
011×
×00×
0000 0001 0010 0101 0110 0111 1000 1001 1010 1110
×0×0
××10 *
* *
* *
* *
* * *
* * * *
* * *
*
Meilleur choix
S ABD BC C D= + +
Autre exemple (suite)
23 octobre 2006 Circuits logiques - JP David 142
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Réduction du tableau
• Une colonne ou ligne est « dominante »relativement à une autre colonne ou ligne lorsqu’elle l’inclut. Une colonne peut être éliminée :
si elle est identique à une autre colonne ou si elle est dominante relativement à une autre colonne.
23 octobre 2006 Circuits logiques - JP David 143
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Réduction du tableau (suite)
• Une ligne peut être éliminée :si elle est identique à une autre ligne dont le coût* n’est pas plus élevé ou si elle est dominée par une autre ligne dont le coût*
* coût : contribution à la complexité du circuit (nombre de portes, nombre d’entrées).
23 octobre 2006 Circuits logiques - JP David 144
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0×01
01×1
011×
×00×
0000 0001 0010 0101 0110 0111 1000 1001 1010 1110
×0×0
××10 *
* *
* *
* *
* * *
* * * *
* * *
*
Une fois les colonnes éliminées, il ne reste plus de terme
1
1
2
2
2
Réduction du tableau (suite)
23 octobre 2006 Circuits logiques - JP David 145
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0×01 01×1 011× ×00× ×0×0 ××10Les implicants premiers :
0x 1x 2x 3x 4x 5x
( )( )( )( )( )( )( )( )( )( )3 4 0 3 4 5 0 1 2 5 1 2 3 4 3 4 5 5P x x x x x x x x x x x x x x x x x x= + + + + + + + +
( )( )( )( )0 1 1 2 3 5 0 1 3 5 0 2 3 5 1 3 5 1 2 3 5x x x x x x x x x x x x x x x x x x x x x= + + = + + +
S ABD BC C D= + +
1x 3x 5x01×1 ×00× ××10
Expression logique de la réalisation de la fonction : C’est une somme de produit ou chaque produit représente les implicantspremiers d’une colonne du tableau. On simplifie cette équation en utilisant l’algèbre de Boole.
Alternative : Methode de Petrick
23 octobre 2006 Circuits logiques - JP David 146
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Il est possible de simplifier l’application de la méthode de Patrick en retirant les implicants premiers essentiels de la table :Implicants premiers essentiels :x00x et xx10
Les implicants premiers restant:
( )( )0 1 1 2
0 1 0 1 1 1 2 0 2 1
P x x x xx x x x x x x x x x= + +
= + + + = +
S BC C D ABD= + +
0×01
01×1
011×
0101 0111
*
* *
*×0×00×01 01×1 011× ×0×0
0x 1x 2x 3x
Methode de Petrick (suite)
23 octobre 2006 Circuits logiques - JP David 147
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0 0 0 10 0 1 10 1 0 10 1 1 01 0 0 01 0 1 11 1 0 11 1 1 1
A B C S
S ABC ABC ABC
ABC ABC ABC
= + +
+ + +
Autre exemple
23 octobre 2006 Circuits logiques - JP David 148
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
000
001
00×
010
101
110
111
0×0
×01
×10
1×1
11×
*
* Implicant premier
*****
Autre exemple (suite)
23 octobre 2006 Circuits logiques - JP David 149
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
00×
0×0
×01
×10
000 111
1×1
11×
* *
* *
*
110101010001
*
**
* *
*
*
Il n’est pas toujours possible de faire des réductions dans une table :
Autre exemple (suite)
23 octobre 2006 Circuits logiques - JP David 150
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
00× 0×0 ×01 ×10 1×1 11×Les implicants premiers :0x 1x 2x 3x 4x 5x
( )( )( )( )( )( )0 1 0 2 1 3 2 4 3 5 4 5P x x x x x x x x x x x x= + + + + + +
( )( )( )0 0 2 0 1 1 2 1 2 1 4 2 3 3 4 3 4 3 5 4 5 5x x x x x x x x x x x x x x x x x x x x x x= + + + + + + + + +
Expression logique de la réalisation de la fonction :
( )( )0 1 2 0 1 4 0 2 3 0 3 4 1 2 1 2 4 1 2 3 1 2 3 4 3 4 5x x x x x x x x x x x x x x x x x x x x x x x x x x x= + + + + + + + +
0 1 3 4 0 2 3 4 0 3 4 1 2 3 4 0 1 4 5 0 2 3 5 0 3 4 5 1 2 5x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x= + + + + + + +
S AB BC AC= + + S AC BC AB= + +
Autre exemple (suite)
23 octobre 2006 Circuits logiques - JP David 151
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0001 0010 0100 0111P ABCD ABC D ABC D ABCD= + + +
0 0 0 0 00 0 0 1 10 0 1 0 10 0 1 1 00 1 0 0 10 1 0 1 00 1 1 0 00 1 1 1 11 0 0 0 11 0 0 1 01 0 1 0
1 1 1 1
A B C D P
à (sans objet)
1000 1010 1011 1100ABC D ABC D ABCD ABC D+ + + +
1101 1110 1111ABCD ABC D ABCD+ + +
À noter :
Ici, les cas facultatifs sont considérés comme des 1
Exemple avec cas facultatifs
23 octobre 2006 Circuits logiques - JP David 152
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0001
0010
×010 1××0* *
* Implicant premier
0100
1000
1010
1100
0111
1011
1101
1110
1111
×100
10×0
1×00
101×
1×10
110×
11×0
×111
1×11
11×1
111×
**
*
1×1×
11××**
Cas facultatifs (suite)
23 octobre 2006 Circuits logiques - JP David 153
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
0001
×010
×100
0001 0010 0100 0111 1000
*
*
×111
1××0
1×1×
11××
*
*
*
À noter :
Ici, les cas facultatifsne sont pas considérés
P ABCD BC D BC D BCD AD= + + + +
Cas facultatifs (suite)
23 octobre 2006 Circuits logiques - JP David 154
3.5 – Quine McCluskeyChapitre III – Circuits Combinatoires
Givone / #4.27* #4.30* « dc » exprime les cas facultatifs
RÉPONSES :
#4.27 a) ou wx y wx z xyz x y z wxz wxy+ + + +
( )b) ou x y wx x y w y x w y+ + = +
#4.30 ou wx y x y z wyz wy z xyz wx y x y z wyz wy z wxy+ + + + + + + +
Problèmes suggérés