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.