Anda di halaman 1dari 7

Decodifica

Un codice binario a n bit può rappresentare fino a 2n elementi distinti di informazione.

L’operazione di decodifica è la trasformazione da un codice a n bit in ingresso a uno a m bit in uscita, con
𝑛 ≤ 𝑚 ≤ 2𝑛 ed è tale che ciascuna parola di codice in ingresso produce un’unica parola di codice in uscita.

Tale operazione viene svolta dal decodificatore n-m, un circuito combinatorio che converte informazioni
binarie codificate a n bit nelle corrispondenti m uscite ( 𝑚 ≤ 2𝑛 )

I decodificatori considerati generano tutti i mintermini (o un loro sottoinsieme) delle variabili di ingresso.

• Con n=1 e m=2 si ottiene un decodificatore 1-2 che genera, a partire dall’ingresso A, i due mintermini
𝐷0 = 𝐴̅ 𝑒 𝐷1 = 𝐴

• Per n=2 e m=4 si ottiene un decodificatore 2-4. Nella tabella vengono riportati i 4 mintermini, da D0
a D3 corrispondenti ai due ingressi A1 e A0. Nel diagramma logico dell’implementazione circuitale le
uscite sono generate da AND a due ingressi, connessi alle uscite di due decodificatori 1-2.

Decodificatori più grandi possono essere eseguiti seguendo la stessa tecnica e impiegando una porta AND
per ogni uscita, ciascuna con tanti ingressi quanti sono gli ingressi del decodificatore.
• Un decodificatore n-m con abilitazione può essere realizzato aggiungendo m circuiti di abilitazione in
cascata a ciascuna uscita, controllati dal segnale di abilitazione EN. Per EN=0 il decodificatore è
disabilitato e tutte le uscite sono pari a 0. Per EN=1 il decodificatore opera secondo il funzionamento
normale.

CIRCUITI COMBINATORI REALIZZATI CON DECODIFICATORI

Un decodificatore genera tutti i mintermini dei sui ingressi: esso può quindi essere utilizzato, insieme con una
porta OR, per l’implementazione di una qualunque funzione booleana espressa come somma di prodotti.

Quindi una qualunque funzione booleana con n ingressi e m uscite può essere implementata con un
decodificatore 𝑛 − 2𝑛 e 𝑚 porte OR.

2𝑛
Se il numero di mintermini in una funzione F risulta più grande di 2
allora il complemento 𝐹̅ della funzione F
può essere espresso con un numero minore di mintermini (una funzione somma di k mintermini può essere
espressa in forma complementata con un numero di mintermini pari a 2n-k mintermini). È vantaggioso usare
in uscita porte NOR invece che porte OR.
Codifica
Un encoder ha 2n (o meno) linee di ingresso e n linee d’uscita. Le linee di uscita forniscono un codice binario
corrispondente al valore d’ingresso. Un encoder può essere implementato con porte OR utilizzando ingressi
individuati direttamente dalla tabella di verità.

Encoder da ottale a binario (8-2)

L’encoder in questione possiede otto ingressi, uno per ciascuna cifra ottale a tre uscite che generano il
numero binario corrispondente.

PROBLEMI:

1- Se due ingressi risultano attivi simultaneamente, l’uscita assume valori non corretti. (es. D1 e D3
sono 1 simultaneamente, l’uscita sarà 111 che non rappresenta né 3 né 6 in binario).

2- Il caso con tutti gli ingressi nulli è problematico perché l’uscita coincide col caso D0=1.

SOLUZIONE: encoder con priorità

1- Se due o più ingressi sono allo stesso tempo uguali a 1 si dà la priorità all’ingresso con pedice
maggiore
2- Si aggiunge al circuito un’uscita che ha il compito di indicare che almeno uno degli ingressi è uguale
a 1 (si setta a 0 se sono tutti nulli)
L’ingresso D3 possiede priorità più alta e, qualunque sia il valore degli altri ingressi, se questo è uguale a 1,
l’uscita A1A0 sarà uguale a 11. Allo stesso tempo, D2 ha un livello di priorità immediatamente inferiore;
considerato che D3=0 se D2=1 l’uscita sarà uguale a 10, qualunque sia il valore degli altri ingressi con priorità
minore.

L’uscita V è uguale a 1 quando 1 o più ingressi sono uguali a 1 mentre se tutti gli ingressi sono 0 l’uscita V
risulterà 0 e risulta irrilevante il valore assunto dalle altre due uscite del circuito

Multiplexer (selettore)
Un multiplexer è un circuito combinatorio che seleziona informazioni binarie da una o più linee di ingresso e
le dirige a una singola linea d’uscita.

La selezione di una particolare linea d’ingresso è controllata dai valori degli ingressi di selezione. In generale
sono 2n le linee d’ingresso e n gli ingressi di selezione le cui combinazioni di bit determinano quale ingresso
deve essere selezionato.

• Se n=1 si ha un multiplexer 2-1. Il circuito ha due ingressi dati, I0 e I1, un ingresso di selezione S e una
uscita Y. 𝑃𝑒𝑟 𝑆 = 0 −> 𝑌 = 𝐼0 𝑚𝑒𝑛𝑡𝑟𝑒 𝑝𝑒𝑟 𝑆 = 1 −> 𝑌 = 𝐼1

L’espressione booleana quindi sarà 𝑌 = 𝑆̅𝐼0 + 𝑆𝐼1


Un multiplexer è anche detto selettore perché seleziona uno degli ingressi e dirige le informazioni binarie
all’uscita.

• Multiplexer 4-1

La tabella rappresenta un’ulteriore forma densa della tabella di verità. In questo caso le variabili
d’ingresso 𝐼0 , 𝐼1 , 𝐼2 , 𝐼3 , non appaiono fra gli ingressi della tabella. Per rappresentare
contemporaneamente diverse righe della tabella di verità, si utilizza un ingresso letterale di una
colonna d’uscita. Per esempio la riga 0 0 I0 rappresenta tutte le righe in cui (S1 S0)=00 e in questo caso
se I0=1 , Y=1 mentre se I0=0, Y=0.
Abbiamo visto in precedenza come un decodificatore combinato con una matrice AND-OR mx2 possa
implementare un multiplexer: il decodificatore genera tutti i mintermini delle variabili di selezione, mentre
la matrice AND-OR trasferisce all’OR di uscita il mintermine o 0 a seconda dell’ingresso I corrispondente valga
1 o 0.

Il metodo dell’applicazioni di constanti agli ingressi I offre una tecnica per implementare una qualunque
funzione booleana di n variabili, utilizzando un multiplexer con n ingressi di selezione e 2n ingressi dati, uno
per ciascun mintermine.

Demultiplexer
Un demultiplexer esegue l’inverso dell’operazione svola da un multiplexer, ovvero riceve informazioni da una
singola linea e le trasmette a una delle possibili 2n linee di uscita ottenute sempre combinando n variabili di
selezione.

Demultiplexer 1-4 , l’ingresso dati E è connesso a tutte le uscite ma l’informazione in ingresso viene diretta a
una soltanto delle uscite come specificato dai due ingressi di selezione S1 e S0

DISEGNO PAG 135 LIBRO RETI LOGICHE VECCHIO


Registri e contatori sono blocchi funzionali sequenziali usati nella progettazione dei sistemi digitali come
per i calcolatori digitali.

Registri
I registri sono utili per immagazzinare informazioni durante l’elaborazione dei dati e tengono traccia della
sequenza di operazioni che devono essere svolte.

I registri sono circuiti sequenziali in grado di gestire i dati immagazzinandoli. Sono formati da una serie di flip
flop e da un insieme di porte logiche (circuito combinatorio) che implementano opportune transizioni di stato

I flip-flop memorizzano i dati e visto che ciascun flip-flop è in grado di immagazzinare un bit di informazione,
un registro a n bit (con n flip-flop) è in grado di immagazzinare n bit di informazione. Le porte combinatorie
invece determinano il dato che deve essere trasferito nel flip-flop.

Contatori
I contatori sono usati nella sequenzializzazione dei processi.

Un contatore è un registro il cui sistema evolve secondo una sequenza predeterminata di stati, grazie
all’applicazione di impulsi di clock

La parte combinatoria del contatore è progettata in modo da produrre la sequenza di stati binari
specificata.