Reti Logiche 1 - uniroma2.it · • individuare gli ingressi e le uscite ... 2. Formulare il...
Transcript of Reti Logiche 1 - uniroma2.it · • individuare gli ingressi e le uscite ... 2. Formulare il...
Sommario
Sintesi di Reti Combinatorie mediante
•Multiplexer
21/06/2010 Corso di Reti Logiche 2009/10 2
•Multiplexer
•Demultiplexer
•ROM
•PLA
Metodo generale di sintesi di reti combinatorie
1. Capire il problema• definire cosa deve fare il circuito• individuare gli ingressi e le uscite• disegnare uno schema a blocchi
21/06/2010 Corso di Reti Logiche 2009/10 3
• disegnare uno schema a blocchi
2. Formulare il problema con una tabella di verità.
3. Scegliere il metodo opportuno di semplificazione(mappe di Karnaugh, QMC)
I metodi di sintesi fin qui esposti, basati sugli algoritmi di
Karnaugh, Quine Mc Cluskey normalmente sono chiamati
metodi di sintesi a 2 livelli ( in quanto si perviene ad una rete
costituita da 2 soli livelli di porte), permettono di progettare
qualsiasi funzione booleana usando porte elementari
21/06/2010 Corso di Reti Logiche 2009/10 4
qualsiasi funzione booleana usando porte elementari
(componenti SSI - (Small Scale Integration))
Solitamente questo approccio si segue per la progettazione di circuiti
semplici (numero di porte limitato < 10)
Per la progettazione di circuiti più complessi si utilizzano
circuiti programmabili MSI e LSI (Medium, Large Scale
Integration).
21/06/2010 Corso di Reti Logiche 2009/10 5
Tali circuiti, come apparirà chiaro in seguito, consentono di realizzare funzioni
logiche combinatorie senza effettuare operazioni di minimizzazione sulle funzioni.
Il Multiplexer è un circuito combinatorio costituito da 2n linee di
ingresso (I0, I1, I2,I3,…) + n linee di selezione (ingressi di indirizzo)
(S0, S1, Si2, .., Sn-1) e una singola uscita U.
Questo circuito ha la funzione, mediante le linee di selezione, di
selezionare una delle 2n linee di ingresso , e di fornire, sulla uscita, il
Multiplexer
21/06/2010 Corso di Reti Logiche 2009/10 6
selezionare una delle 2n linee di ingresso , e di fornire, sulla uscita, il
segnale corrispondente alla linea selezionata.
Tabella di verità del multiplexer a 4 ingressi (I0, I1, I2,I3)
2 segnali di controllo (s1, s0)
Segnali di
selezione uscita
S1 S0 U
21/06/2010 Corso di Reti Logiche 2009/10 7
0 0 I0
0 1 I1
1 0 I2
1 1 I3
Tabella di verità del multiplexer a 4 ingressi (I0, I1, I2,I3)
2 segnali di controllo (s1, s0)
Segnali di
selezione uscita
S1 S0 U
Se è stata selezionata la linea 00
avremo in uscita I0.
Se è stata selezionata la linea 01
avremo in uscita I1….
21/06/2010 Corso di Reti Logiche 2009/10 8
0 0 I0
0 1 I1
1 0 I2
1 1 I3
Tabella di verità del multiplexer a 4 ingressi (I0, I1, I2,I3)
2 segnali di controllo (s1, s0)
Segnali di
selezione uscita
S1 S0 U
Se è stata selezionata la linea 00
avremo in uscita I0.
Se è stata selezionata la linea 01
avremo in uscita I1….
21/06/2010 Corso di Reti Logiche 2009/10 9
0 0 I0
0 1 I1
1 0 I2
1 1 I3
E’ facile realizzare un circuito logico che implementi questa funzione infatti (vedi prossime
slides), basta mettere in AND con ciascuna linea di ingresso (i0, i1, i2, ..in) il segnale di
controllo corrispondente e collegare le uscite delle porte AND agli ingressi di una porta OR.
Segnali di
I3
I2
I0
I1
U
1
2
3
0
Dati in input
Output selezionato
MUX
21/06/2010 Corso di Reti Logiche 2009/10 10
Segnali di selezione
Segnali di
selezione uscita
S1 S0 U
0 0 I0
0 1 I1
1 0 I2
1 1 I3
S1 S0
0
Segnali di
I3
I2
I0
I1
U
1
2
3
0
Dati in input
Output selezionato
MUX 4-1
multiplexer 22*1ovvero 4 linee in ingresso2 variabili di controllo
L’uscita della porta OR
porta solo il segnale
della linea di ingresso
selezionata.
21/06/2010 Corso di Reti Logiche 2009/10 11
Segnali di selezione
Segnali di
selezione uscita
S1 S0 U
0 0 I0
0 1 I1
1 0 I2
1 1 I3
S1 S0
02 variabili di controllo1 uscita
In base allo schema disegnato si può ricavare l’espressione della funzione realizzata che risulta:
u = s1’·s0’·i0 + s1’·s0·i1 + s1’·s0·i2 + s1·s0·i3 .
Questa espressione scritta più sinteticamente risulta:
∑∑∑∑ −−−−====
12n
Imu
21/06/2010 Corso di Reti Logiche 2009/10 12
∑∑∑∑ −−−−
====
====12
0k kk
n
Imu
Un multiplexer dovendo realizzare la funzione:
Può essere implementato con:• tanti AND quanti sono i mintermini del segnale di controllo (in
realtàdevono anche essere presenti anche le porte NOT per generare tutti i termini negati delle variabili)
∑∑∑∑−−−−
========
12
0k kk
n
imu
21/06/2010 Corso di Reti Logiche 2009/10 13
Ogni AND ha n+1 ingressi: - n variabili di controllo ( che formano il mintermine)- uno dei 2n segnali di ingresso.
• una sola porta OR che ha in ingresso i segnali di uscita delle 2n porte AND
L’uscita sulla porta OR è ad ogni istante solo quella relativa alla porta AND abilitata.
Ad esempio, con il codice
di selezione 01 si abilita la
porta di ingresso numero 1
quindi il segnale
disponibile all'uscita sarà i
Multiplexer 4-1
I3
I2
I
I1
U
1
2
3
21/06/2010 Corso di Reti Logiche 2009/10 14
disponibile all'uscita sarà i1
Multiplexer a 4 ingressi
S1 S0
I0
0
invece con il codice di
selezione 11 si abilita la
porta di ingresso numero 3,
e quindi all'uscita sarà
Multiplexer 4-1
I3
I2
I1
U
1
2
3
21/06/2010 Corso di Reti Logiche 2009/10 15
e quindi all'uscita sarà
disponibile il segnale i3.
Multiplexer a 4 ingressi
S1 S0
I0
1
0
In figura è mostrata una possibile implementazione di un
multiplexer 21 *1
ovvero 2 segnali in ingresso ,1 variabile di controllo e 1
uscita
Multiplexer 2-1
21/06/2010 Corso di Reti Logiche 2009/10 16
uscita
U
S
I0
I1
Una rappresentazione semplificata del
MultiplexerI3
I2
I1
I0
I3
I2
I
U2
3
Dati in input
U
21/06/2010 Corso di Reti Logiche 2009/10 17
S1 S0
S1 S0
I0
I1
1
0 A
S1
D
B
C
S0
U
0 0
Nella rappresentazione semplificata il
Multiplexer è assimilabile ad
commutatore a posizioni multiple
(selettore - la cui posizione dipende dai
bit di controllo).
Multiplexer
A
D
B
C
U
21/06/2010 Corso di Reti Logiche 2009/10 18
bit di controllo).
Questa rappresentazione evidenzia la
funzione del multiplexer come
convertitore parallelo-seriale.
S1
D
S0
0 0
MULTIPLEXER
come generatore di funzioni
Il multiplexer, può essere utilizzato per la sintesi di
funzioni booleane generiche.
21/06/2010 Corso di Reti Logiche 2009/10 19
x1 x2 x3 f
0 0 0 10 0 1 1
0 1 0 0
0 1 1 11 0 0 0
1 0 1 1
1 1 0 1
I0
I1
I2
I3
I4
I5
I6
1
1
0
1
0
1
1
21/06/2010 Corso di Reti Logiche 2009/10 20
1 1 0 1
1 1 1 1
f = Σm(0,1,3,5,6,7)
I6
I7
1
1
Basta forzare sugli ingressi del multiplexer i valori, che
corrispondono alla tabella di verità della funzione che si
vuole implementare in uscita e utilizzare le variabili di
controllo come variabili di ingresso.
x1 x 2 x3
Sintesi con Multiplexer
1) Si sceglie un MUX con un numero di vie pari alle
righe della tabella della verità da realizzare.
2) Si impone su ciascuna via o il valore “0” o il valore “1”
Il procedimento di sintesi mediante multiplexer si articola nei
seguenti passi:
21/06/2010 Corso di Reti Logiche 2009/10 21
3) Si collegano gli ingressi di selezione ai segnali che corrispondono
alle variabili della funzione.
2) Si impone su ciascuna via o il valore “0” o il valore “1”
seguendo le indicazioni fornite dalla tabella di verità.
ESEMPIO: Funzione majority
2/1),...,(1
1 nxxxfn
i
in >⇔= ∑=
x1 x2 x3 f
0 0 0 0
21/06/2010 Corso di Reti Logiche 2009/10 22
0 0 0 0
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 1
f = Σm(3,5,6,7)
Sintesi della Funzione Majority con Multiplexer
F = ΣΣΣΣ3 m (3,5,6,7)
I0
I0
+Vcc
•Gli n segnali di ingresso della
funzione booleana sono stati
collegati agli ingressi di controllo
del MUX, mentre gli N ingressi
principali sono stati
21/06/2010 Corso di Reti Logiche 2009/10 23
0
I1
I2
I3
I4
I5
I6
I7
0
0
1
0
1
1
1
x1 x 2 x3GND
principali sono stati
individualmente cablati al valore
"0" o "1" (corrispondenti ad
esempio ai valori della massa e
dell'alimentazione), secondo
quanto specificato dalla tabella di
verità.
Osservazione
Con un multiplexer 2n*1 possiamo implementare una qualsiasi
Funzione di n variabili
21/06/2010 Corso di Reti Logiche 2009/10 24
In realtà con un mltiplexer 2n*1 (aggiungendo altre porte) si
possono realizzare anche funzioni booleane di n+1 variabili
x1 x2 x3 f
0 0 0 0 I0
I0
Ad esempio osservando la funzione rappresentata si può osservare
che le prime 4 righe della funzione hanno x1=0 e le rimanenti x1=1,
quindi anziché realizzare la funzione con un MUX 23*1
21/06/2010 Corso di Reti Logiche 2009/10 25
0 0 0 00 0 1 0
0 1 0 0
0 1 1 11 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
I1
I2
I3
I4
I5
I6
I7
x1 x 2 x3
0
0
1
0
1
1
1
U
x1 x2 x3 f
0 0 0 0
0 0 1 0
potremmo utilizzare 2 MUX 22*1 ciascuno che realizza metà funzione
(M1 e M2) e prevedere in uscita M1 se x1=0 e M2 se x1=1.
A tal fine basta mettere, in AND M1 con x1’ e M2 con x1 e fare l’OR
dei due valori ottenuti.
10
13
12
11
2 *12
M1X1 X2 X3
f
21/06/2010 Corso di Reti Logiche 2009/10 26
0 0 1 0
0 1 0 0
0 1 1 11 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
x 1 f
0 M1
1 M2
10
13
12
11
2 *12
M2
Il Demultiplexer è un circuito combinatorio costituito da n+1 linee di
ingresso, una (y) che porta il segnale e n (s0,s1.. sn-1 ) che fungono
da linee di controllo per selezionare una delle 2n linee di uscita
(O0,O1,O2,….)
La sua funzione è inversa a quella del multiplexer pertanto riceve
Demultiplexer
21/06/2010 Corso di Reti Logiche 2009/10 27
in ingresso un segnale y e seleziona tramite i segnali di controllo la
linea di uscita su cui distribuire il segnale.
Il demultiplexer a fronte di ciascuna delle 2n diverse configurazioni di controllo
attiva una sola delle 2n linee di uscita - quella relativa al corrispondente
valore decimale - compreso fra 0 e 2n-1) .
(O0,O1,O2,….) (che rappresentano la traduzione decimale della
combinazione binaria che il circuito riceve in ingresso nelle linee di
controllo)
Ad esempio nel caso n=3 lo schema è il seguente.
I0
I
y
21/06/2010 Corso di Reti Logiche 2009/10 29
I1
I2
I3
I4
I5
I6
I7
x1
x2
x3
I0
I
y
Quindi se ad esempio in ingresso abbiamo 000 viene attivata
l’uscita I0 come indicato in figura
y
21/06/2010 Corso di Reti Logiche 2009/10 30
I1
I2
I3
I4
I5
I6
I7
x1
x2
x3
I0
I
y
Se invece in ingresso abbiamo 011 verrà attivata l’uscita I3 come
indicato in figura . In definitiva, qualunque sia la configurazione di
ingresso viene attivata una sola linea di uscita.
21/06/2010 Corso di Reti Logiche 2009/10 31
I1
I2
I3
I4
I5
I6
I7
x1
x2
x3
y
Tabella di verità di un demultiplexer a 3 ingressi ( 8 funzioni di uscita)
X1 X2 X3 0 1 2 3 4 5 6 7
0 0 0 y 0 0 0 0 0 0 0
0 0 1 0 y 0 0 0 0 0 0
0 1 0 0 0 y 0 0 0 0 0
0 1 1 0 0 0 y 0 0 0 0
21/06/2010 Corso di Reti Logiche 2009/10 32
Nel Demultiplexer è verificata la relazione
n=log2N n ingressi di controllo=3 e N uscite =8
1 0 0 0 0 0 0 y 0 0 0
1 0 1 0 0 0 0 0 y 0 0
1 1 0 0 0 0 0 0 0 y 0
1 1 1 0 0 0 0 0 0 0 y
Tabella di verità di un demultiplexer a 3 ingressi con Y=1
( 8 funzioni di uscita)
X1 X2 X3 0 1 2 3 4 5 6 7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
21/06/2010 Corso di Reti Logiche 2009/10 33
Nel Demultiplexer è verificata la relazione
n=log2N n ingressi di controllo=3 e N uscite =8
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
Dalla tabella risulta ovvio che per fare in modo che dalla porta
logica la cui uscita corrisponde alla linea 0 deve venir fuori 1 solo
se tutti e 3 gli ingressi sono nulli è necessario usare il seguente
circuito (una porta AND dove arrivano gli ingressi negati).
Demultiplexer
21/06/2010 Corso di Reti Logiche 2009/10 34
Linea 0
X1 X2 X3
In modo del tutto analogo si usa il circuito seguente per collegare
agli ingressi la logica corrisponde alla linea 1.
Demultiplexer
21/06/2010 Corso di Reti Logiche 2009/10 35
Linea 1
X1 X2 X3
Riutilizzando le stesse porte Not
per tutte le linee,
nel caso n=2 otteniamo lo
Demultiplexer a 4 uscite
Demultiplexer
2
3O3
O2
21/06/2010 Corso di Reti Logiche 2009/10 36
nel caso n=2 otteniamo lo
schema.
S1 S0
1
0
O1
O0
DEMULTIPLEXERIl Demultiplexer viene tipicamente usato come decodificatore.
E’ noto che con n bit è possibile rappresentare 2n diverse
informazioni.
Quindi con un Demultiplexer a n ingressi posso realizzare un
decoder di 2n informazioni
21/06/2010 Corso di Reti Logiche 2009/10 37
decoder di 2n informazioni
DEMULTIPLEXER come
generatore di minterminiUn demultiplexer (n, 2n ) con n ingressi di controllo e 2n uscite
è di fatto un generatore di mintermini in quanto realizza i 2n
distinti prodotti di n variabili.
I0
I
x1’x2’x3’
x1’x2’x3
21/06/2010 Corso di Reti Logiche 2009/10 39
I1
I2
I3
I4
I5
I6
I7
x1
x 2
x3
x1’x2’x3
x1’x2x3’
x1’x2x3
x1x2’x3’
x1x2’x3
x1x2x3’
x1x2x3
DEMULTIPLEXER come
generatore di minterminiUn demultiplexer (n, 2n ) con n ingressi di controllo e 2n uscite
è di fatto un generatore di mintermini in quanto realizza i 2n
distinti prodotti di n variabili.
I0
I
x1’x2’x3’
x1’x2’x3X1 X2 X3 0 1 2 3 4 5 6 7
21/06/2010 Corso di Reti Logiche 2009/10 40
I1
I2
I3
I4
I5
I6
I7
x1
x 2
x3
x1’x2’x3
x1’x2x3’
x1’x2x3
x1x2’x3’
x1x2’x3
x1x2x3’
x1x2x3
X1 X2 X3 0 1 2 3 4 5 6 7
0 0 0 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 1 0 0 0 1 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 1 0 0 0
1 0 1 0 0 0 0 0 1 0 0
1 1 0 0 0 0 0 0 0 1 0
1 1 1 0 0 0 0 0 0 0 1
ESEMPIO: Funzione majority
2/1),...,(1
1 nxxxfn
i
in >⇔= ∑=
x1 x2 x3 f
0 0 0 0
21/06/2010 Corso di Reti Logiche 2009/10 41
0 0 0 0
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 1
f = Σm(3,5,6,7)
Sintesi della funzione majority con Demultiplexer e Or
f = ΣΣΣΣ3 m (3,5,6,7)
U0
U1
U2
U3
U
x1 x2 x3 f
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
21/06/2010 Corso di Reti Logiche 2009/10 42
3
U4
A U5
B U6
C U7
x1
x2
x3
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Per fare la sintesi della funzione basta posizionare
esternamente al demultiplexer una porta OR che raccoglie in
una finestra temporale adeguata tutti i mintermini necessari
ad implementare effettivamente la funzione. f
Osservando il demultiplexer (n, 2n ) si osserva che le 2n
uscite rappresentano i valori dei possibili mintermini di una
generica funzione booleana di n variabili. Ad esempio per n=3
la linea 0 corrisponde a x1’x2’x3’ proprio perché vale 1
quando i 3 ingressi sono tutti nulli e così via.
Questo risultato è importante in quanto, permette di
implementare una funzione qualsiasi, dopo aver determinato la
21/06/2010 Corso di Reti Logiche 2009/10 43
implementare una funzione qualsiasi, dopo aver determinato la
prima forma canonica (per individuare i mintermini presenti).
Infatti basta sommare le uscite del demultiplexer
corrispondenti ai mintermini della funzione con una porta
OR senza bisogno di minimizzare la funzione.
Una ROM é un dispositivo con n ingressi (dette linee di indirizzamento) ed m
uscite (dette linee dati).
ROM
21/06/2010 Corso di Reti Logiche 2009/10 44
n ingressi
m uscite
La ROM conserva le informazioni
stabilite all'atto della sua fabbricazione.
21/06/2010 Corso di Reti Logiche 2009/10 45
ROM senza informazioni registrate
21/06/2010 Corso di Reti Logiche 2009/10 46
uscite
3 ingressi
a
b
c
0
1
2a
ROM con informazioni registrate
21/06/2010 Corso di Reti Logiche 2009/10 47
3 ingressi
9 uscite
2
3
4
5
6
7
a
b
c
ROM senza informazioni registrate
ingressi
Dal punto di vista logico possiamo immaginare che le
informazioni risiedono sugli incroci tra le n righe e le m colonne.
21/06/2010 Corso di Reti Logiche 2009/10 48
ingressi
uscite
ROM senza informazioni registrate
ingressi
Esistono diverse tecnologie per realizzare memorie ROM (matrici di diodi).
21/06/2010 Corso di Reti Logiche 2009/10 49
ingressi
uscite
ingressi
Esistono diverse tecnologie per realizzare memorie ROM (matrici di diodi).
Come si vede dall’ingrandimento negli incroci ci sono dei diodi posti
fra le linee di indirizzo decodificate e l'uscita.
21/06/2010 Corso di Reti Logiche 2009/10 50
ingressi
uscite
ingressi
Esistono diverse tecnologie per realizzare memorie ROM (matrici di diodi).
Come si vede dall’ingrandimento negli incroci ci sono dei diodi posti
fra le linee di indirizzo decodificate e l'uscita.
21/06/2010 Corso di Reti Logiche 2009/10 51
ingressi
uscite
Come si vede dall’ingrandimento negli incroci ci sono dei diodi posti
fra le linee di indirizzo decodificate e l'uscita.
In serie ai diodi ci sono dei fusibili (le linee ondulate) che rappresentano le
connessioni che possono essere eliminate singolarmente (per vaporizzazione tramite
un passaggio eccessivo di corrente).
Il fusibile e' costituito da una breve connessione (3-5 micron)
larga circa 1 micron di una lega a base di titanio e tungsteno
21/06/2010 Corso di Reti Logiche 2009/10 52
larga circa 1 micron di una lega a base di titanio e tungsteno
che può essere distrutta da una corrente circa 6 volte maggiore
di quella normale di funzionamento.
Il circuito viene fornito con tutte le connessioni e prima di
essere utilizzato deve essere programmato.
La programmazione consiste nell’applicare ai terminali
dell'integrato gli impulsi di tensione adeguati alla distruzione
dei fusibili desiderati.
ingressi
Esistono diverse tecnologie per realizzare memorie ROM (matrici di diodi).
Inizialmente sono presenti tutte le connessioni. I diodi servono
semplicemente a garantire il flusso unidirezionale della corrente per
evitare interferenze che si verificherebbero se i diodi fossero sostituiti
da semplici conduttori
21/06/2010 Corso di Reti Logiche 2009/10 53
ingressi
uscite
ROM con informazioni registrate
ingressi
Si tratta di una ROM con 8 indirizzi (righe della matrice) di locazioni di 8 bit
(colonne della matrice) le informazioni sono:
11000000
00110110
01100000
21/06/2010 Corso di Reti Logiche 2009/10 54
ingressi
uscite
01100000
00011000
00000110
00000000
11000000
00000000
ingressi
11000000
00110110
01100000
ROM
Una ROM (Read Only Memory) può essere utilizzata, selezionando una linea di
indirizzo, per leggere le informazioni scritte al momento della sua fabbricazione
21/06/2010 Corso di Reti Logiche 2009/10 55
ingressi
uscite
01100000
00011000
00000110
00000000
11000000
00000000
ROM
Le (n) 3 linee di ingresso a,b,c selezionano, tramite un decodificatore, una fra le
(2n =) 8 righe della matrice 23 x 9 (2n x m).
La selezione della riga i-esima della matrice consente di leggere, in uscita il
valore precedentemente memorizzato su ciascuna colonna.
0
1
20a
21/06/2010 Corso di Reti Logiche 2009/10 56
Esempio
input= 011
output = 010101100
3 ingressi
9 uscite
2
3
4
5
6
7
0
1
1
0 1 0 1 0 1 1 0 0
a
b
c
ROM
Una ROM (Read Only Memory) può essere utilizzata per realizzare un insieme
di funzioni booleane le cui specifiche siano fornite in termini di tabelle di verità.
21/06/2010 Corso di Reti Logiche 2009/10 57
ingressi
uscite
ROM
La realizzazione é molto semplice: basta "copiare" la parte destra della tabella di
verità (che é una matrice 2nxm, dove 2n sono le possibili combinazioni delle n
variabili di ingresso, ed m sono le funzioni booleane di uscita) nella matrice della
ROM.
21/06/2010 Corso di Reti Logiche 2009/10 58
ingressi
uscite
Realizzare una ROM che soddisfi le seguenti specifiche:
f1=ab+bc
f2=ab+abc
f3=abc
Esercizio
21/06/2010 Corso di Reti Logiche 2009/10 59
f3=abc
f1=ab+bc
f2=ab+abc
f3=abc
a b c f1 f2 f30 0 0 1 1 0
0 0 1 1 1 0
0 1 0 0 0 0
Soluzione
21/06/2010 Corso di Reti Logiche 2009/10 60
0 1 0 0 0 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
a
a b c f1 f2 f30 0 0 1 1 0
0 0 1 1 1 0
0 1 0 0 0 0
21/06/2010 Corso di Reti Logiche 2009/10 61
a
b
c
f1 f2 f3
0 1 0 0 0 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 0 0 0
1 1 0 0 0 0
1 1 1 0 0 0
a b c x y
0 0 0 0 0
0 0 1 0 1
Realizzare una ROM che soddisfi le seguenti specifiche:
Esercizio
21/06/2010 Corso di Reti Logiche 2009/10 62
0 1 0 0 0
0 1 1 0 1
1 0 0 0 0
1 0 1 1 1
1 1 0 0 1
1 1 1 1 1
a b c x y
0 0 0 0 0
0 0 1 0 1a
Soluzione
21/06/2010 Corso di Reti Logiche 2009/10 63
0 1 0 0 0
0 1 1 0 1
1 0 0 0 0
1 0 1 1 1
1 1 0 0 1
1 1 1 1 1
a
b
c
x y
a b c x y
0 0 0 0 0
0 0 1 0 1a
21/06/2010 Corso di Reti Logiche 2009/10 64
0 1 0 0 0
0 1 1 0 1
1 0 0 0 0
1 0 1 1 1
1 1 0 0 1
1 1 1 1 1
a
b
c
x y
• Si può constatare che la ROM è un modulo
combinatorio universale, che può essere utilizzato per realizzare un insieme di m
funzioni dello stesso insieme di n variabili.
21/06/2010 Corso di Reti Logiche 2009/10 65
funzioni dello stesso insieme di n variabili.
• L’unica osservazione che possiamo fare è
che la ROM consente di realizzare solo funzioni in forma canonica SOP, in quanto
utilizza un decodificatore.
Paragone fra le soluzioni considerate
MUX
• il componente può essere riutilizzato
• ogni componente realizza una sola funzione booleana
ROM
21/06/2010 Corso di Reti Logiche 2009/10 66
ROM
• il componente non può essere riutilizzato, in quanto la
realizzazione delle specifiche é a cura del fabbricante del
circuito integrato. Esistono particolari tipi di ROM
(EPROM) che consentono la riscrittura della matrice.
• ogni componente realizza più funzioni booleane
Un PLA (Programmabile Logic Array) è un circuito a k ingressi e
m uscite
che contiene n porte AND ed m porte OR programmabili.
PLA
21/06/2010 Corso di Reti Logiche 2009/10 67
I PLA (Programmable Logic Array) detti anche MATRICI LOGICHE programmabili,
sono dispositivi (LSI - Large Scale Integration) molto utilizzati per la SINTESI di reti combinatorie.
Prima della programmazione sonodisponibili tutte le possibili connessioni
PLA con 3 ingressi e 4 uscite, 5 AND, 4 OR,
ESEMPIO
ingressi
21/06/2010 Corso di Reti Logiche 2009/10 68uscite
A B C D E F
PLA con
•6 ingressi
A B C D E F
• 4 uscite
Schema semplificato di PLAingressi
21/06/2010 Corso di Reti Logiche 2009/10 69
Z1 z2 z3 z4
• 4 uscite
Z1 Z2 Z3 Z4
• 14 porte AND
• 4 porte OR
uscite
Come si vede osservando lo schema semplificato del PLA:
• ciascuna porta AND può realizzare il prodotto delle variabili di
ingresso
• ciascuna porta OR può ricevere in ingresso le uscite delle porte
21/06/2010 Corso di Reti Logiche 2009/10 70
• ciascuna porta OR può ricevere in ingresso le uscite delle porte
AND e rappresenta la funzione che si desidera ottenere.
La programmazione consiste nel costruire su ogni riga della matrice,
nella sezione di AND, un implicante della funzione e nel combinare
poi tali implicanti nella sezione OR.
Programmazione di PLA
21/06/2010 Corso di Reti Logiche 2009/10 71
Ad esempio se dobbiamo realizzare la funzione z1
z1=ABC + AB
abbiamo bisogno di 2 termini prodotto
ABC e AB
che potremo generare attraverso 2 porte AND
Esempio
21/06/2010 Corso di Reti Logiche 2009/10 72
che potremo generare attraverso 2 porte AND
mentre per generare la funzione z1 basterà utilizzare una uscita del
PLA mettendo in ingresso sulla corrispondente porta OR i termini
prodotto generati.
PLA con 5 AND, 4 OR, 3 ingressi e 4 usciteA B C
Prima della programmazione sonodisponibili tutte le possibili connessioni
21/06/2010 Corso di Reti Logiche 2009/10 73
A B C D E F
PLA con
•14 porte AND
• 4 porte OR
• 6 ingressi
A B C D E F
Schema semplificato di PLA
21/06/2010 Corso di Reti Logiche 2009/10 74
Z1 z2 z3 z4
A B C D E F
• 4 uscite
Z1 Z2 Z3 Z4
•
z1=ABC + AB
Se invece dobbiamo realizzare la funzione z2
Esempio
21/06/2010 Corso di Reti Logiche 2009/10 75
z2=ABC + BD
abbiamo bisogno di 2 termini prodotto
ABC e BD
(di cui uno già creato) che potremo generare attraverso 2 porte AND
mentre per generare la funzione z2 basterà utilizzare una uscita del
PLA mettendo in ingresso sulla corrispondente porta OR i termini
prodotto generati.
A B C D E F
PLA con
•14 porte AND
• 4 porte OR
• 6 ingressi
e complessivamente:
21/06/2010 Corso di Reti Logiche 2009/10 76
Z1 z2 z3 z4
• 6 ingressi
A B C D E F
• 4 uscite
Z1 Z2 Z3 Z4
•
z2=ABC + BD
I PLA sono i dispositivi programmabili più flessibili, sia dal
punto di vista della RETE AND, sia dal punto di vista della
RETE OR. Infatti con i PLA è possibile sintetizzare qualsiasi
21/06/2010 Corso di Reti Logiche 2009/10 77
RETE OR. Infatti con i PLA è possibile sintetizzare qualsiasi
espressione di tipo SP (e non necessariamente mintermini)
•senza vincoli di alcun tipo,
•senza limitazioni sul numero dei fattori per termine o
•sul numero di termini per espressione.
Con tali dispositivi (a differenza delle ROM) si possono
rappresentare anche forme SP non canoniche.
21/06/2010 Corso di Reti Logiche 2009/10 78
rappresentare anche forme SP non canoniche.
Infatti alle porte AND è possibile associare qualsiasi variabile
presente in ingresso.
In un PLA, fissato il numero di ingressi n e di uscite m, in
corrispondenza degli n ingressi ci sono p porte AND che ci
permettono di creare i termini prodotto che desideriamo e non
21/06/2010 Corso di Reti Logiche 2009/10 79
permettono di creare i termini prodotto che desideriamo e non
necessariamente tutti i mintermini ( come nelle ROM - dove c’è
il decoder) ciascuna delle quali può alimentare m porte OR.
Facendo opportune connessioni sulle porte AND è possibile
creare i termini prodotto desiderati.
Facendo opportune connessioni sulle porte OR è possibile
ottenere in uscita le funzioni con i termini prodotto desiderati.
Implementare la funzione Majority con un PLA con le
seguenti caratteristiche:
• 3 ingressi
• 2 uscite
Esercizio
21/06/2010 Corso di Reti Logiche 2009/10 80
• 8 porte AND
Dati:
Funzione Majority PLA
f0 = ΣΣΣΣ3 m (3,5,6,7) x1 x2 x3
21/06/2010 Corso di Reti Logiche 2009/10 81
f0 f1
Dati:
Funzione Majority PLA
f0 = ΣΣΣΣ3 m (3,5,6,7) x1 x2 x3
o o o
o o o
o o o
o o o
o
o
o
o
21/06/2010 Corso di Reti Logiche 2009/10 82
f0 f1
o o o o
Paragone fra le soluzioni considerate
MUX
• il componente può essere riutilizzato
• ogni componente realizza una sola funzione booleana
ROM
• il componente non può essere riutilizzato
21/06/2010 Corso di Reti Logiche 2009/10 83
• il componente non può essere riutilizzato
• ogni componente realizza più funzioni booleane in forma
SOP
PLA
• il componente non può essere riutilizzato
• ogni componente realizza più funzioni booleane in forma
SP (non canoniche)
Supponendo di avere a disposizione un dispositivo PLA con le
seguenti caratteristiche:
• 6 ingressi
• 4 uscite
• 14 porte AND
Esercizio n.1
21/06/2010 Corso di Reti Logiche 2009/10 84
Implementare una funzione le cui uscite sono date dalle seguenti
espressioni:
Z1= abc + bd + bcdef + ef
Z2= abcf + bd + bef
Z3= cbe + abcdef + bcf
Z4= acf + bd + bef + acf
Supponendo di avere a disposizione un dispositivo
PLA con le seguenti caratteristiche:
• 3 ingressi
• 3 uscite
• 8 porte AND
000
001
010
011
001
010
011
100
Ingresso Uscita
Esercizio n.2
21/06/2010 Corso di Reti Logiche 2009/10 85
• 8 porte AND
Implementare un Incrementatore a 3 bit.
Un incrementatore é un dispositivo che riceve in
ingresso n bit A1..An che rappresentano il numero K, e
produce in uscita n bit che rappresentano il numero
K+1.
Quando K=2n-1 il risultato è una stringa di zero.
011
100
101
110
111
100
101
110
111
000
Esercizio n.3Si progetti una rete combinatoria per il di controllo di una centrale termica.
La rete deve controllare i seguenti eventi pericolosi:
• innalzamento della Temperatura oltre una soglia di sicurezza,
• Velocità dei motori troppo elevata
• livello del liquido di raffreddamento troppo basso.
In particolare:
se la temperatura è troppo elevata ma il liquido di raffreddamento è sufficiente,
21/06/2010 Corso di Reti Logiche 2009/10 86
se la temperatura è troppo elevata ma il liquido di raffreddamento è sufficiente,
si deve azionare il freno per ridurre la velocità;
se la temperatura è troppo elevata e il liquido di raffreddamento è insufficiente, è
necessario aumentare il liquido;
se la velocità è troppo alta, si deve azionare il freno
se il liquido è scarso, è necessario aumentare il liquido;
Inoltre ogni volta che si verificano due eventi pericolosi simultaneamente è
necessario inviare un segnale di warning ai tecnici di controllo.
Realizzare il circuito usando tutte le possibili tecnologie studiate (MUX,
PLA, porte e ROM). Supponendo che tutte le porte hanno lo stesso
tempo di risposta e considerando che il circuito deve essere il più veloce
possibile, individuare qual’è la realizzazione migliore.
21/06/2010 Corso di Reti Logiche 2009/10 87
possibile, individuare qual’è la realizzazione migliore.
Soluzione - Esercizio n.3Si progetti una rete combinatoria per il di controllo di una centrale termica.
La rete deve controllare i seguenti eventi pericolosi:
• innalzamento della Temperatura oltre una soglia di sicurezza,
• Velocità dei motori troppo elevata
• Livello del liquido di raffreddamento troppo basso.
In particolare:
se la temperatura è troppo elevata ma il liquido di raffreddamento è sufficiente, si deve azionare il
Freno per ridurre la velocità;
se la temperatura è troppo elevata e il liquido di raffreddamento è insufficiente, è necessario
aumentare il Liquido (M);
21/06/2010 Corso di Reti Logiche 2009/10 88
aumentare il Liquido (M);
se la velocità è troppo alta, si deve azionare il freno
se il liquido è scarso, è necessario aumentare il liquido;
Inoltre ogni volta che si verificano due eventi pericolosi simultaneamente è necessario inviare un
segnale di Warning ai tecnici di controllo.
Soluzione - Esercizio n.3
La funzione che volgiamo realizzare è la seguente:
T V L F M W
0 0 0 0 0 0
0 0 1 0 1 0
0 1 0 1 0 0
0 1 1 1 1 1
1 0 0 1 0 0
1 0 1 0 1 1
21/06/2010 Corso di Reti Logiche 2009/10 89
1 0 1 0 1 1
1 1 0 1 0 1
1 1 1 1 1 1
Soluzione - Esercizio n.3Realizzazione mediante MUX_8-1 :
M
U
0
0
1
F
M
U
0
1
0
M
M
U
0
0
0
W
21/06/2010 Corso di Reti Logiche 2009/10 90
U
X
1
1
1
0
1
1
U
X
0
1
0
1
0
1
U
X
0
1
0
1
1
1
T
V
L
Soluzione - Esercizio n.3Realizzazione mediante MUX_8-1 :
M
U
0
0
1
F
M
U
0
1
0
M
M
U
0
0
0
W
21/06/2010 Corso di Reti Logiche 2009/10 91
U
X
1
1
1
0
1
1
U
X
0
1
0
1
0
1
U
X
0
1
0
1
1
1
T
V
L
Soluzione - Esercizio n.3
Realizzazione mediante ROM :
T
V
D
E
C
*
*
*
*
*
*
*
*
21/06/2010 Corso di Reti Logiche 2009/10 92
L C *
*
*
* *
*
*
*
F M W
Soluzione - Esercizio n.3Mappe di Karnaugh :
_
da cui Fmin = V + T⋅ L , Mmin = L , Wmin = V⋅ L + T⋅ L + T⋅ V
V L T
00 01 11 10
0
1
0 0 1 1
1 0 1 1
V L T
00 01 11 10
0
1
0 1 1 0
0 1 1 0
V L T
00 01 11 10
0
1
0 0 1 0
0 1 1 1
21/06/2010 Corso di Reti Logiche 2009/10 93
da cui Fmin = V + T⋅ L , Mmin = L , Wmin = V⋅ L + T⋅ L + T⋅ V
Soluzione - Esercizio n.3Mappe di Karnaugh :
_
da cui Bmin = V + T⋅ L , Amin = L , Wmin = V⋅ L + T⋅ L + T⋅ V
V L T
00 01 11 10
0
1
0 0 1 1
1 0 1 1
V L T
00 01 11 10
0
1
0 1 1 0
0 1 1 0
V L T
00 01 11 10
0
1
0 0 1 0
0 1 1 1
21/06/2010 Corso di Reti Logiche 2009/10 94
da cui Bmin = V + T⋅ L , Amin = L , Wmin = V⋅ L + T⋅ L + T⋅ V
Soluzione - Esercizio n.3Realizzazione con PLA :
V
L
21/06/2010 Corso di Reti Logiche 2009/10 95
T
F
M
W
Soluzione - Esercizio n.3
Realizzazione con porte logiche :
V
F
21/06/2010 Corso di Reti Logiche 2009/10 96
T
L
W
M
Soluzione - Esercizio n.3
Confronto per massimo numero di porte attraversate:
• MUX = 1not + 3and + 7or = 11 porte
• PLA = 1not + 1and + 1or opp. 1and + 2or = 3 porte
• ROM = 1not + 2and + 1diodo = 3 porte e 1 diodo
• PORTE = 1not + 1and + 1or opp. 1and + 2or = 3 porte
La soluzione migliore è pertanto quella costituita da porte logiche e PLA.
21/06/2010 Corso di Reti Logiche 2009/10 97
La soluzione migliore è pertanto quella costituita da porte logiche e PLA.
Riepilogo 1
MUX:
è un circuito combinatorio costituito da 2n linee di ingresso,
n linee di controllo e una sola uscita u.Questo circuito ha la
funzione di individuare una delle 2n linee di ingresso ,può
21/06/2010 Corso di Reti Logiche 2009/10 98
funzione di individuare una delle 2n linee di ingresso ,può
essere implementato con tanti AND quanti sono i mintermini
del segnale di controllo,1 porta OR e n porte NOT per generare
tutti i termini negati nei mintermini.Il componente può essere
riutilizzato e ogni componente realizza una sola funzione
booleana
• DEMUX:
è un circuito combinatorio costituito da n linee di ingresso
e 2n linee di uscita ,a fronte di ciascuna delle 2n diverse
configurazioni di ingresso attiva una sola delle 2n linee di
Riepilogo 2
21/06/2010 Corso di Reti Logiche 2009/10 99
configurazioni di ingresso attiva una sola delle 2n linee di
uscita.Può essere usato come decodificatore o generatore
di mintermini.Per fare la sintesi della funzione si posiziona
esternamente al demultiplexer una porta OR che raccoglie
tutti i mintermini necessari ad implementare
effettivamente la funzione.
• ROM:
é un dispositivo con n ingressi ed m uscite .Dal punto di vista logico possiamo immaginare che le informazioni risiedono sugli incroci tra le n righe e le m colonne.Può essere utilizzato per realizzare un insieme di m funzioni dello stesso insieme di n variabili.Il componente non può essere riutilizzato e ogni componente
Riepilogo 3
21/06/2010 Corso di Reti Logiche 2009/10 100
componente non può essere riutilizzato e ogni componente realizza più funzioni booleane in forma SOP
• PLA:
è un circuito a k ingressi e m uscite che contiene n porte AND ed m porte OR programmabili .La programmazione consiste nel costruire su ogni riga della matrice, nella sezione di AND, un implicante della funzione e nel combinare poi tali implicanti nella sezione OR.Il componente non può essere riutilizzato e ogni componente
Riepilogo 4
21/06/2010 Corso di Reti Logiche 2009/10 101
componente non può essere riutilizzato e ogni componente realizza più funzioni booleane in forma SP non canoniche.