Circuiti combinatori

Transcript

Circuiti combinatori
Circuiti combinatori
- I circuiti combinatori sono caratterizzati dal fatto che lo stato delle uscite in un
certo istante dipende solo dallo stato presente sugli ingressi nello stesso istante.
Essi comprendono circuiti che realizzano funzioni tipiche frequentemente
ricorrenti nei sistemi elettronici. Queste possono essere implementate combinando
variamente porte logiche oppure utilizzando componenti integrati MSI prodotti in
varie tecnologie.
- La funzione dei codificatori è quella di rivelare la presenza di un livello attivo su uno
degli ingressi fornendo in uscita un codice binario corrispondente all’ingresso
attivato. Esempi sono i codificatori ottale-binario ( 8 ingressi e 3 uscite),
decimale-BCD (10 ingressi e 4 uscite).
- Particolarmente importanti sono i codificatori a priorità (priority encoder) nei quali,
in corrispondenza dell’attivazione di più ingressi, l’uscita fornisce il codice
dell’ingresso a priorità più alta. In forma integrata sono disponibili numerosi tipi
fra cui il '147 (decimale-BCD) e il '148 (ottale-binario). Questi integrati
presentano, oltre alle linee di ingresso e uscita (attive alte o attive basse), linee di
controllo previste sia per l’abilitazione sia per consentire il collegamento di più
elementi in cascata al fine di codificare più linee di ingresso.
- La funzione di un decodificatore è di rilevare la presenza sui propri ingressi di
particolari combinazioni di bit (codici) attivando, per ciascuna di esse, una
determinata linea di uscita. Esempi sono i decodificatori BCD-decimale (integrati
'145 e '42), binario-ottale ('138), binario-esadecimale ('154).
La categoria dei decodificatori comprende anche i convertitori di codice, ad
esempio binario-codice Gray, e i decoder-driver per visualizzatori (display) a 7segmenti.
- I display a 7-segmenti sono molto usati per visualizzare numeri decimali o
esadecimali: essi sono costituiti da sette segmenti (a LED o a cristalli liquidi), che
possono essere resi luminosi attivando opportunamente i terminali di ingresso (a, b,
c,…, g). La struttura dei display a LED può essere a catodo comune (con ingressi
attivi alti) oppure ad anodo comune (con ingressi attivi bassi).
I decoder-driver per questi dispositivi accettano in ingresso un codice binario e
provvedono a pilotare i segmenti per rappresentare il numero desiderato,
fornendo anche i necessari livelli di corrente. In commercio sono disponibili vari
integrati che presentano, oltre ai terminali di ingresso dati e ai terminali di uscita,
linee supplementari di controllo (LT, RBI, BI/RBO).
- La funzione di un multiplexer è quella di trasferire all’uscita, convogliandoli su
un'unica linea, i dati digitali presenti sui suoi n ingressi; la selezione del singolo
dato che deve essere trasferito avviene attraverso ingressi di controllo o
selezione (data select). I multiplexer sono impiegati in numerosi campi applicativi,
che vanno dal controllo dei dispositivi di visualizzazione, ai sistemi di acquisizione e
trasferimento dati, alla generazione di funzioni logiche. In commercio sono
disponibili integrati, realizzati in tutte le tecnologie, che contengono multiplexer di
vario tipo: con 2, 4, 8, 16 linee di ingresso dati, con uscite complementate e non,
con stadio di uscita totem-pole o tri-state. Oltre alle linee di selezione, sono
sempre presenti una o più linee di strobe o abilitazione, che consentono il controllo
del dispositivo stesso. Esempi sono l’integrato tipo '153, che contiene due data
selectors/multiplexer da 4 ad 1 linea con due ingressi di selezione, il '151 e il '251
(da 8 ad 1 linea).
- Un’interessante applicazione è quella che vede i multiplexer usati come generatori di
funzioni logiche combinatorie sotto forma di somma di prodotti (mintermini). Agli
ingressi di selezione vengono applicate le variabili della funzione mentre gli ingressi
dati provvedono ad abilitare la generazione dei vari mintermini per comporre la
funzione desiderata.
- Un demultiplexer è un circuito logico che presenta 1 linea di ingresso dati, m linee di
ingresso di selezione ed n linee di uscita, dove n = 2m. La sua funzione è di
trasferire il dato digitale di ingresso all’uscita selezionata. In commercio sono
disponibili vari integrati (decoder/demultiplexer), che presentano terminali di
abilitazione supplementari, ad esempio i tipi '138 (con 8 linee di uscita) e '139 (2
dmux, ciascuno con 4 linee di uscita). Essi sono sostanzialmente dei decodificatori
ma, con i collegamenti opportuni, funzionano come demultiplexer; basta adibire una
delle linee di abilitazione a linea di ingresso dati; così il valore binario presente su
questo ingresso viene trasferito all’uscita selezionata.
- La funzione di un comparatore è quella di confrontare tra loro due numeri, o parole
digitali, A e B, segnalando se sono uguali (A=B, comparatore di uguaglianza) o se
l’uno è maggiore dell’altro (A>B o A<B, comparatore di grandezza).
Un comparatore per parole a 1 bit si riduce ad una porta nor-esclusivo. Per
realizzare un comparatore per parole a più bit, è necessario confrontare i bit di
uguale peso delle due parole; l’uscita dovrà segnalare l’uguaglianza solo se tutti i
bit corrispondenti risultano uguali; dovrà invece indicare che A>B o che A<B
considerando il valore globale delle due parole di ingresso. Con parole a 2 bit, si
ricavano le espressioni:
(A = B )
E = (A1 Å B1 )(A0 Å B0 )
(A > B )
M = A1 B1 + A0 B0 (A1 Å B1 )
In forma integrata sono disponibili comparatori per parole a 4 e a 8 bit (ad
esempio i tipi '85 e '682), che possono essere combinati per confrontare parole di
lunghezza maggiore.
- Il sommatore è un circuito aritmetico che consente di sommare due parole A e B,
ciascuna composta da n bit, fornendo in uscita un risultato S di n + 1 bit.
La somma si realizza con stadi successivi sommando due a due i bit Ai e Bi di uguale
peso per generare il bit somma Si e il bit riporto (carry) Ci+1 secondo le relazioni
S1 = (Ai Å Bi )Å Ci
Ci + 1 = Ai Bi + Ai Ci + Bi Ci
Poiché il bit riporto si propaga da uno stadio al successivo, questa struttura
costituisce un sommatore a propagazione del riporto (ripple carry) e presenta
tempi di propagazione talvolta eccessivi. Per ovviare a questo inconveniente si
adottano metodi sofisticati (look-ahead carry generation ossia generazione di
riporto anticipata), che consentono di generare simultaneamente i riporti di tutti
gli stadi del sommatore in modo che il tempo richiesto per l’esecuzione di una
somma ad n bit non aumenti al crescere di n. Fra i sommatori integrati si segnalano
il tipo '83 e il '283, sommatori a 4 bit, provvisti della logica per la generazione
anticipata del riporto (full-carry look-ahead). Essi consentono il collegamento in
cascata per la realizzazione di sommatori ad n bit.
- I sottrattori possono essere realizzati con procedimento analogo a quello usato per i
sommatori. Si può infatti osservare che, poiché A B = A + ( B), si realizza la
sottrazione sommando al numero A il numero negativo B. In questo modo possono
essere utilizzati per la sottrazione anche i sommatori integrati.
- Le unità aritmetico-logiche (ALU) sono circuiti combinatori che accettano in
ingresso due parole a n bit A = An-1…A0 e B = Bn-1…B0 e forniscono in uscita una
funzione
F = Fn-1…F0 legata agli ingressi da una relazione aritmetica o logica. Una ALU è
dotata, oltre che di ingressi e uscite dati, di terminali di selezione della funzione
(and, or, ex-or, somma , ecc.). I dispositivi integrati, fra cui i tipi '181, '381 e
'382, sono predisposti per trattare dati a 4 bit, ma presentano terminali
supplementari che consentono di espandere il sistema per trattare dati ad n bit.
- La generazione e il controllo del bit di parità trovano applicazione nel rilevamento di
errori nella trasmissione dati. Sostanzialmente il processo consiste nel rilevare se
nel dato da trasmettere il numero di bit ad 1 è pari (oppure dispari) e,
successivamente, se il dato ricevuto contiene ancora un numero pari (oppure
dispari) di bit ad 1. Se vi è discordanza, viene segnalato un errore.
Per un dato a 4 bit, una rete logica che fornisca un'uscita P = 1 quando nel dato il
numero di bit ad 1 è dispari può essere implementata con porte logiche secondo la
relazione
P = (D0 Å D1 )Å (D2 Å D3 )
Questi circuiti (parity generator/checker) vengono realizzati anche in forma
integrata, ad esempio i tipi '180 e '280 della serie 74, adatti per trattare dati
fino a 8 bit.