Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
<date>
Location
Esercizio Macchine combinatorie
{0,1,2,3} {0,1,2,3,4,5,6}
In0
Somma Out
In1
{0,1,2,3}
In1 In2 In1_0 In1_1 In2_0 In2_1 Out Out_0 Out_1 Out_2
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 1 1 0 0 1
0 2 0 0 1 0 2 0 1 0
0 3 0 0 1 1 3 0 1 1
1 0 0 1 0 0 1 0 0 1
1 1 0 1 0 1 2 0 1 0
1 2 0 1 1 0 3 0 1 1
1 3 0 1 1 1 4 1 0 0
2 0 1 0 0 0 2 0 1 0
2 1 1 0 0 1 3 0 1 1
2 2 1 0 1 0 4 1 0 0
2 3 1 0 1 1 5 1 0 1
3 0 1 1 0 0 3 0 1 1
3 1 1 1 0 1 4 1 0 0
3 2 1 1 1 0 5 1 0 1
3 3 1 1 1 1 6 1 1 0
In1_0 In1_1 In2_0 In2_1 Out_0 Out_1 Out_2
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 0 0 1 0
0 0 1 1 0 1 1
0 1 0 0 0 0 1
0 1 0 1 0 1 0
0 1 1 0 0 1 1
0 1 1 1 1 0 0
1 0 0 0 0 1 0
1 0 0 1 0 1 1
1 0 1 0 1 0 0
1 0 1 1 1 0 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
In1_0 In1_1 In2_0 In2_1 Out_0
0 0 0 0 0 F=
0 0 0 1 0
0 0 1 0 0 00 01 11 10
0 0 1 1 0 00 0 0 0 0
0 1 0 0 0 01 0 0 1 0
0 1 0 1 0 11 0 1 1 1
0 1 1 0 0 10 0 0 1 1
0 1 1 1 1
1 0 0 0 0 a b cd F=ac+abd+bcd
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1 Out_0
1 1 0 0 0 OR
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
Macchina Combinatoria
Minimizzazione
Adattamento Realizzazione
e scelta della
del circuito del circuito
forma algebrica
Definizione della Macchina
a1 a0 b1 b0 l1 l2 u
0 0 0 0 A A Problemi:
0 0 0 1 A B
0 0 1 0 A C Se uguali che mettiamo in
0 0 1 1 A D uscita??
0 1 0 0 B A
0 1 0 1 B B
0 1 1 0 B C
0 1 1 1 B D
1 0 0 0 C A
1 0 0 1 C B
1 0 1 0 C C
1 0 1 1 C D
1 1 0 0 D A
1 1 0 1 D B
1 1 1 0 D C
1 1 1 1 D D
Costruzione funzioni logiche
a1 a0 b1 b0 l1 l2 u
0 0 0 0 A A 0 Problemi:
0 0 0 1 A B 0
0 0 1 0 A C 0 Se uguali che mettiamo
0 0 1 1 A D 0 in uscita??
0 1 0 0 B A 1
0 1 0 1 B B 0
Scelta di progetto:
0 1 1 0 B C 0
mettiamo 0 (la prima)
0 1 1 1 B D 0
1 0 0 0 C A 1
1 0 0 1 C B 1
1 0 1 0 C C 0
1 0 1 1 C D 0
1 1 0 0 D A 1
1 1 0 1 D B 1
1 1 1 0 D C 1
1 1 1 1 D D 0
Minimizzazione
a1 a0 b1 b0 l1 l2 u A\B 00 01 11 10
0 0 0 0 A A 0
0 0 0 1 A B 0
00 0 0 0 0
0 0 1 0 A C 0 01 1 0 0 0
0 0 1 1 A D 0
11 1 1 0 1
0 1 0 0 B A 1
0 1 0 1 B B 0 10 1 1 0 0
0 1 1 0 B C 0
0 1 1 1 B D 0
1 0 0 0 C A 1
• a1b1
1 0 0 1 C B 1
1
1
0
0
1
1
0
1
C
C
C
D
0
0
• a0b1b0
1
1
1
1
0
0
0
1
D
D
A
B
1
1
• a1a0b0
1 1 1 0 D C 1
1 1 1 1 D D 0
F=a1b1+ a0b1b0+a1a0b0
Disegno del circuito
Progetto di una Macchina
Combinatoria:
La Rete di Parità
La Rete di Parità
Ingressi:
– Valuto una stringa di bit, non devo specificare alcuna
codifica particolare.
Uscita:
– Ho un solo bit.
Caso n=3
Bit 1 Bit 2 Bit 3 y
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
Minimizzazione e Forma Algebrica
b1,b2
b3 00 01 11 10
1 0 1 0
0
1 0 1 0 1
a b u c
Uscitre Adder:
0 0 0 0 Valore della somma
Riporto
0 1 1 0
1 0 1 0
1 1 0 1
Adder con carry in
X Y cin u cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Macchine Fondamentali
<date>
Location
Macchine Fondamentali
• Decodificatore • Demultiplexer
– Decodificatore Completo – Demultiplexer e
– Decodificatore Decimale decodificatore
– Decodificatore Abilitato • Adder
• Multiplexer – Full Adder
– Multiplexer Indirizzabile – Half Adder
– Multiplexer Non
Indirizzabile
Half Adder
a b u c
0 0 0 0
0 1 1 0 b
1 0 1 0 b
1 1 0 1
Full Adder
a b cin b b b) u= cout=
b cin
cin
0 0 0 0 0 0 0 0
0 0 1 0 0 0 1 0
0 1 0 1 0 0 1 0
0 1 1 1 0 1 0 1
1 0 0 1 0 0 1 0
1 0 1 1 0 1 0 1
1 1 0 0 1 0 0 1
1 1 1 0 1 1 1 1
Realizzazione Full Adder con Half Adder
a b u= b cin
HA HA
b
b
cin cout=
Full Adder with Half Adder
Decodifica
Si noti che:
• Una macchina dotata di una uscita decodificata ha un
numero di valori di uscita possible minore uguale al
numero di linee di uscita della macchina.
• La macchina garantisce che NON si hanno più valori
di uscita 1, utilizzabile per fare una “selezione” o una
“abilitazione” di altri dispositivi
Decodificatore Completo (I)
y0 Esempio:
(n = 4)
i1
i2
y2 i1=1 i2=0 (102= 210)
La macchina fornisce:
… …
ilogn d0=0 d1=0 d2=1 d3=0
yn-1
43
i1 i0 Val u3 u2 u1 u0
0 0 0 0 0 0 1
0 1 1 0 0 1 0
1 0 2 0 1 0 0
1 1 3 1 0 0 0
u0 u3
0
1
i1
i1 u1 00 i u2 0
00i0 0 0
u1 0
u2 0
u0 1
0
u3
Decodificatore
i1 i0 d3 d2 d1 d0
• La macchina è stata ben 0 0 0 0 0 1
definita
0 1 0 0 1 0
• La codifica degli ingressi
1 0 0 1 0 0
e delle uscite non è
1 1 1 0 0 0
necessaria
• La tabella di verità è
riportata di lato i0 Uscita d0
i1 0 1
1 0 d0 = i1i0
0
0 0
1 45
Decodificatore Completo
Decodificatore Abilitato
u0 1
i1 u1
00i0 0
u2 0
a u 0
Decodificatore Decimale
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 1 1
0 0 1 0 2 1
0 0 1 1 3 1
0 1 0 0 4 1
0 1 0 1 5 1
0 1 1 0 6 1
0 1 1 1 7 1
1 0 0 0 8 1
1 0 0 1 9 1
1 0 1 0 10 0/1 - - - - - - - - -
1 0 1 1 11 - - - - - - - - - -
1 1 0 0 12 - - - - - - - - - -
1 1 0 1 13 - - - - - - - - - -
Uscita 9
i3 i 2 i3 i2
00 01 11 10
i1 i0 i1 i 0 00 01 11 10
00 0 0 - 0
00 0 0 -/0 0
01 0 0 - 1
01 0 0 - /1 1
11 0 0 - -
11 0 0 -/1 -/1
10 0 0 - -
10 0 0 -/0 -/0
i3i2i1i0
i3i0
Decodificatore Decimale
Multiplexer Non Indirizzabile
Un Multiplexer binario è una macchina dotata di
– n ingressi “dati”
– n ingressi “indirizzi”, ingresso decodificato
– Una sola uscita y
L’uscita y è uguale all’ingresso “dati” indicato
dall’ingresso indirizzi.
53
d3
d2
MUX4 y
d1
d0
i 3 i2 i1 i0
i1 i0 d1 d0 y
0 0 0 1 -
0 0 1 0 -
0 0 1 1 -
0 1 0 0 0
y
d1 0 1 0 1 1
MUX2 0 1 1 0 0
d0 0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
i 1 i0 1 0 1 1 1
1 1 0 0 -
1 1 0 1 -
1 1 1 0 -
1 1 1 1 -
Multiplexer Indirizzabile
Un Multiplexer binario indirizzabile è una
macchina dotata di
– n ingressi “dati”
– Log2n ingressi “indirizzi”
– Una sola uscita y
L’uscita y è uguale all’ingresso “dati” indicato
dall’ingresso indirizzi.
56
Multiplexer Indirizzabile
d3
d2
MUX4 y
d1
d0
i1 i0
Mux2 Indirizzabile
i0 d1 d0 y
0 0 0 0
0 0 1 1
0 1 0 0
y
0 1 1 1 d1
MUX2
1 0 0 0 d0
1 0 1 0
1 1 0 1
1 1 1 1
i0
MUx4 Indirizzabile con non Indirizzabile
d3
d2
MUX4 y
d1
d0
i3 i2 i1 i 0
MUX4
Indirizzabile
i1 i0
Multiplexer Indirizzabile
Esempio:
d0 (n = 4)
d1 y d0=0 d1=1 d2=0 d3=0
…
dn-1 i1=1 i2=0 (ind.= 2)
La macchina fornisce:
y= 0
…
i0 cosa accade con
ilogn
n=5 ?
60
MUX2
Multiplexer
Progetto (Mux2)
• La macchina è stata ben i0 d1 d0 y
definita 0 0 0 0
1 1 1 1
62
Multiplexer
Progetto (Mux2)
• Ci sono tre
d0,d1 implicanti primi:
i0 00 01 11 10 – d0d1
0 0 1 1 – d0 i0
0
– d1i0
0 1 1 0
1 • Due sono
essenziali.
y = d0 i0 + d1i0
• Il terzo è
effettivamente
ridondante
63
Realizzazione di funzioni logiche
con Multiplexer
• E’ possibile realizzare una qualsiasi funzione
logica di n variabili utilizzando un multiplexer
indirizzabile che abbia 2n ingressi dato.
• Ciascun ingresso dato viene associato ad una
uscita della tabella di verità
• Gli ingressi indirizzo vengono utilizzati come
variabili della funzione
64
i1 i0 u
0 0 1
0 1 0
1 0 0
1 1 1
Multiplexer Non Indirizzabile
Esempio:
d0 (n = 3)
d1 y d0=0 d1=1 d2=0
…
dn-1 i0=0 i1=0 i2=1
La macchina fornisce:
y= 0
…
i0 Cosa accade se:
in-1
i0=0 i1=1 i2=1
66
DeMultiplexer Indirizzabile
Un DeMultiplexer binario indirizzabile è una
macchina dotata di
– 1 ingresso “dati”, x
– Log2n ingressi “indirizzi”,i0-ilog2n-1
– n uscite y0-yn-1
L’uscita yi è uguale all’ingresso “dati” indicato
dall’ingresso indirizzi, le altre sono zero.
67
DeMultiplexer
Esempio:
y0
(n = 4)
x y1 x= 0
i1=1 i2=0 (ind.= 2)
…
yn-1
La macchina fornisce:
y0=0 y1=0 y2=1 y3=0
… cosa accade con
i0 ilogn-1 n=5 ?
68
Demultiplexer e Decodificatore
• Si noti che un demultiplexer può essere
interpretato come un Decodificatore abilitato.
y0
i0
i2 y2
… …
ilogn-1
yn-1
a
Realizzazione per Composizione
i1 i0
Decodificatori Composti:
Struttura ad Albero
Nella Configurazione ad
Albero per realizzare un
decodificatore da:
– n uscite
– log2n ingressi
Utilizzando decodificatori da:
a0
– m uscite
a1
– log2m ingressi
a2 Si utilizzano:
a3 – 1 + m + m2 + mk
decodificatori
Dove k identifica il numero di
livelli dell’albero
0
0
0
1
0
0 a0 ....
0 a1 0
1 a2
1 a3
0
0
0
1
0
0 a0 ....
0 a1 0
1 a2
1 a3
Multiplexer Composto
Mux16 con Mux 4
0
1
Un Multiplexer da 16
0
1
0
0
1
S1
S0
D3
realizzato con 5
multiplexer da 4.
D2 Q
0 D1
1 D0
0
selezione permettono
0 S0
1 D3
0 D2 Q
di scegliere il
1 D1
D0 EN
0
1 S1
S0
multplexer da leggere.
0 EN
1 D3
S1 D2
S0 Q
0 D1
D3 D0
per ciascun
0
1
EN
0
S1
multiplexer di
1
S0
0
1 D3
D2
selezionare l’ingresso.
0 Q
D1
1 D0
0
1
0
1
Multiplexer Composto
Mux16 con Mux8
RC è una rete
m0 combinatoria, con:
Mux8
… – 3 ingressi (m0, m1, c3)
y
RC – 1 uscita (y)
tale che:
– y=m0 se c3=0
m1
Mux8
– y=m1 se c3=1
… Risulta:
y = m0• c3 + m1• c3
c0c1c2 c3
LA LEZIONE INIZIA ALLE ORE
11:15