Sei sulla pagina 1di 24

Tecnologie Integrate e

Industria 4.0
Lezione 2 - Circuiti Notevoli
PLA E ROM
SIAMO FIGLI DELLE SOP
In generale si hanno circuiti logici che non solo hanno molteplici input, ma anche
molteplici output!
I circuiti più complessi si ottengono mettendo insieme piccoli blocchi funzionali che
implementano alcune funzioni, così da formare grossi blocchi che implementano
complesse funzioni composte.
Due tipi di circuiti complessi molto famosi nascono dalla combinazioni di più SOP:
➢ PLA (Programmable Logic Array): Matrici regolari di AND e di OR in
successioni personalizzabili dall’utente.
➢ ROM (Read Only Memory): Circuiti ad hoc che implementano particolari
funzioni in modo irreversibile.
PLA
Architettura a 2 livelli:

1) Matrice di porte AND: Ogni porta ha in ingresso n linee di input e il loro


complemento: quindi 2n linee totali in ingresso. L’utente specifica per ogni
porta AND a disposizione se la linea in ingresso entra direttamente o dopo
una negazione creando di fatto la matrice dei mintermini, bruciando tutte le
linee di ingresso che non gli interessano.
2) Matrice di porte OR: Prende in input gli output del livello precedente. Si usa
una porta OR per ogni funzione calcolata. Gli output sono quindi lo stesso
numero delle porte OR.
ESEMPIO DI PLA
ESERCIZI
● Realizzare una PLA che permetta di calcolare le seguenti funzioni:
○ F1 = ABC
○ F2 = A+B(A+C)
○ F3 = !A!B!C
DECODER

Caratterizzato da n linee di input e 2n linee di output.

Il numero binario espresso dalla configurazione di input è utilizzato per asserire


una e una sola linea di output, come se fosse un selettore.

Utilizzato per indirizzare la memoria.


ESEMPIO: DECODER A 2 INGRESSI
CREARE SOTTOCOMPONENTI IN LOGISIM
Cliccando con il destro sul nome del progetto, si può selezionare Add Circuit…

(oppure basta premere il “+”).

Il circuito creato può essere drag-and-droppato in un altro circuito!


GESTIRE MOLTEPLICI INPUT IN MODO ELEGANTE

Lo Splitter fa in modo che più linee diventino 1!

SOLUZIONE ESTETICA! La linea nera in realtà conta come 2 bits per la parte
sinistra e 4 per la parte destra! Attenzione a non fare mismatch!
ROM
Memoria di sola lettura che può anche fungere da modulo combinatorio a multipla
uscita (analogo alla PLA).

n linee di ingresso, m linee di uscita (ampiezza): a ciascuna delle 2n (altezza)


configurazioni di ingresso (parole di memoria) è associata permanentemente una
combinazione delle m linee di uscita.

L’input seleziona la parola da leggere di m bit, che appare in uscita.

L’input funziona da indice all’interno della ROM.

Viene realizzato con un decoder n-a-2n seguito da una matrice di m porte OR.
ESEMPIO ROM
ESERCIZI
● Ripetere l’esercizio precedente, implementando però le funzioni come ROM.
● Realizzare, come PLA e come ROM, un dispositivo in grado di effettuare le
seguenti funzioni su 3 bit di input:
○ maggioranza (1 solo se non si hanno degli 0 a sinistra di 1)
○ singleton (1 solo se un solo input vale 1)
○ decoder
○ isOdd (1 se il numero rappresentato dall’input è dispari, 0 se è pari)
CIRCUITI UTILI
XOR
L’operatore XOR accetta 2 input e modella il costrutto logico dell’ “o l’uno o l’altro”. Esso
restituisce Vero (1) se solamente un ingresso è Vero.
“Rimango in casa o se c’è la grandine o se c’è la neve”.
Ha un suo simbolo speciale: ⊕
In realtà, è realizzabile tramite XOR = !AB+A!B, ma viene considerato avere complessità
e cammino critico pari a 1!
USCITE INDIFFERENTI
Può accadere che ci siano funzioni che non prevedono l’eventualità che una certa
combinazione si presenti in ingresso. Ad ES: un decoder che accetta come
massimo un numero pari.
ENCODER
Effettua l’operazione inversa del decoder. E’ caratterizzato da n linee di input e
log2n linee di output. Solo una linea di ingresso può essere attiva (tante
combinazioni non si possono mai presentare…)

Il numero binario espresso dalla configurazione delle linee di output rappresenta la


linea di ingresso attiva.

ES: con 16 linee di input e 4 di output, se in ingresso arriva il valore 0000 0100
0000 0000, in uscita leggiamo il numero 10.
FUNZIONE ENCODER
Decidere valori sensati per le X permette di effettuare un sacco
di semplificazioni!

Conviene provare e riprovare finché non si comincia a vedere a


occhio quale sia la migliore…

Proviamo!
MULTIPLEXER
Funziona come un selettore, ovvero come un sistema di semafori. Caratterizzato
da:

➔ n linee di input - {xi}


➔ k linee di selezione - {S}
➔ 1 linea di output

In base alla linea di controllo viene connessa all’uscita la linea di ingresso


selezionata.

k dipende da n: k = log2n
L’AND FA DA INTERRUTTORE!
Il segnale di selezione S “apre” la porta opportuna, cioè chiude il cammino
opportuno. L’AND funziona da porta di uscita (da semaforo).
ESEMPIO MULTIPLEXER
Il circuito porta in uscita il valore di x0o x1 a seconda del valore di S!

Analogo a: if (S == 0) y=x0 else if (S == 0) y=x1


SELETTORE A N VIE
COMPARATORE
Vale 1 solamente se tutti gli input portano lo stesso valore. Si realizza
semplicemente negando uno XOR!

Per questo è anche detto XNOR!


ESERCIZI
● Realizzare su Logisim un multiplexer con 10 input.
● Realizzare su Logisim un comparatore a 5 bit.

Potrebbero piacerti anche