LOGICA COMBINATORIA CIRCUITI SOMMATORI
Transcript
LOGICA COMBINATORIA CIRCUITI SOMMATORI
LOGICA COMBINATORIA Viene definita logica combinatoria quella in cui lo stato delle uscite è, in ogni istante, funzione soltanto dello stato degli ingressi in quell’istante. L’output dei circuiti combinatori non dipende dallo stato in cui si trova il sistema al momento dell’applicazione degli ingressi. CIRCUITI SOMMATORI • Half - Adder • L’Half - Adder accetta in ingresso due input binari e produce due output: il bit somma (Sum) ed il bit riporto (Cout). Per le regole della somma logica si avrà: Half - Adder A B Cout Sum – Sum = A ⊕ B – Cout = A ∗ B • Lo schema logico dell’Half Adder è disegnato in Figura. El. Digitale - a.a. 04/05 149 CIRCUITI SOMMATORI /2 • • • • Full - Adder Il Full - Adder ha tre ingressi: i due bit da sommare (A e B) ed un riporto (Cin). Gli output sono uguali all’Half Adder, cioè la somma (Sum) ed il riporto (Cout). La presenza del riporto in ingresso si spiega con la possibilità di collegare N Full Adder in serie per ottenere Full Adder a N bit. La logica del dispositivo è la seguente: Full - Adder A B Sum Cin Cout A B a Cout Half A b Sum Cout – Sum = (A ⊕ B) ⊕ Cin – Cout = A ∗ B + (A ⊕ B) ∗ Cin • a Cout Half A Sum b e il conseguente schema logico è Cin rappresentato in Figura. Si può descrivere il FA utilizzando la definizione di HA. Sum El. Digitale - a.a. 04/05 150 DECODER • • • La funzione base di un decoder è quella di rilevare la presenza di una specifica combinazione di bit (codice) in input e di indicarne la presenza attraverso un determinato livello di output. Nella sua forma più generale, il decoder ha N input per gestire gli N bit del codice in ingresso e da 1 a 2n output per descrivere la presenza di una o più combinazioni di N bit. In Figura è presentato lo schema logico di un decoder 2 a 4 bit. El. Digitale - a.a. 04/05 DECODER En Y0 Y1 B Y2 Y3 A Y1 Y2 Y3 A B Y0 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 0 0 151 DECODER /2 • I decoder sono utilizzati in moltissime applicazioni. Un esempio è la selezione input/output nei computer. I computer debbono infatti comunicare con una determinata varietà di periferiche inviando e/o ricevendo dei dati attraverso dei dispositivi noti come porte input/output (I/O). Le periferiche comprendono stampanti, modem, scanner, hard-disk esterni, tastiere, monitor e altri computer. Come indicato in figura il decoder è utilizzato per selezionare la porta I/O indicata dal computer così da poter ricevere o inviare i dati dalla periferica specificata. • Ogni porta I/O possiede un numero, denominato indirizzo, che la identifica univocamente. Quando il computer vuole comunicare con una determinata periferica produce il codice dell’indirizzo della porta I/O al quale la periferica è connessa. L’indirizzo binario della porta è fornito in input al decoder e l’output corrispondente viene attivato per abilitare la porta I/O. El. Digitale - a.a. 04/05 152 DECODER /3 • • • Come mostrato in Figura l’informazione binaria è trasferita su un bus di dati, che è un set di fili paralleli. Esempio: un bus di 8-bit consiste in 8 fili paralleli che trasferiscono un byte di dati alla volta. Il bus è connesso a tutte le porte I/O, ma ogni dato in transito passerà attraverso la porta soltanto se questa è abilitata dal decoder. El. Digitale - a.a. 04/05 Processore Stampante I/O Data bus Enable Tastiera I/O Enable Indirizzo porte I/O A0 A1 A2 A3 Richiesta I/O BIN / DEC 0 1 2 3 4 5 1 6 2 7 8 4 9 8 10 11 12 13 & 14 15 Enable Monitor I/O Enable Modem I/O Enable Porte I/O non utilizzate Scanner I/O Enable Hard Disk I/O Enable Decoder di indirizzo di porta 153 DECODER BINARIO – 7 SEGMENTI • Il decoder Binario - 7 segmenti accetta un codice binario nei suoi quattro ingressi e in uscita comanda l’accensione di un display a 7 segmenti per la visualizzazione decimale del numero binario in ingresso. 1 1 0 2 1 4 0 8 a 1 b 0 c 1 d 1 e 0 f 1 g 1 a f b g e c d El. Digitale - a.a. 04/05 154 ENCODER • • • Un encoder è un circuito logico combinatorio che svolge la funzione inversa del decoder. Questo dispositivo rileva in input una digitazione decimale e lo converte in un output binario. Gli encoder vengono utilizzati per tradurre in codice binario anche simboli e caratteri alfabetici. Un esempio classico di applicazione di questo dispositivo è il keyboard encoder. I dieci tasti decimali sulla tastiera del computer, ad esempio, debbono essere codificati per essere processati nel circuito logico. Quando un tasto viene premuto, la digitazione decimale è codificata nell’equivalente binario. El. Digitale - a.a. 04/05 • • • Priority encoder Questo tipo di encoder svolge le stesse funzioni di codifica degli encoder precedentemente descritti. Inoltre, questo dispositivo può essere utilizzato nelle applicazioni che richiedono il rilevamento di una priorità. La funzione di priorità significa che l’encoder produrrà un output binario corrispondente all’ingresso decimale attivo con valore più alto, ignorando ogni altro input attivo più basso. Ad esempio, se gli input 3 e 6 sono entrambi attivi, il codice binario in uscita sarà 0110 (che corrisponde al numero decimale 6). 155 ENCODER /2 ENCODER 1 A0 2 A1 3 Input decimale 4 A2 5 Output binario 6 7 A3 8 9 El. Digitale - a.a. 04/05 156 MULTIPLEXER • • • • Il multiplexer (MUX) è un Segnali di dispositivo che permette selezione d’instradare l’informazione digitale da sorgenti differenti verso un filo singolo perché venga trasmessa verso una destinazione comune. in Il multiplexer di base è composto Dati input da un determinato numero di porte in input e da una singola porta output. In ingresso vi sono i segnali da selezionare e alcuni segnali che regolano la selezione, che permettono cioè lo switch di uno dei segnali digitali in ingresso verso la porta output. Tabella di selezione che determina il valore dell’output dello schema. El. Digitale - a.a. 04/05 MUX S0 S1 D0 D1 Y D2 Output selezionato D3 S0 S1 0 0 1 1 0 1 0 1 Y D0 D1 D2 D3 157 APPLICAZIONE DI MULTIPLEXER • • • • Costruzione di display a 7 segmenti con un numero di cifre visualizzate maggiore di 1. Nel caso di display a 2 cifre un multiplexer a 8 ingressi riceve in input due codici binari (A3, A2, A1, A0) e (B3, B2, B1, B0). Un segnale d’onda quadra è collegato all’ingresso, in questo caso singolo, di selezione del multiplexer. Quando il segnale d’onda è basso i bit A entrano in input al decoder binario - 7 segmenti. Il segnale d’onda è collegato anche ad un altro dispositivo che, con livello basso, determina l’attivazione della prima cifra del display e la visualizzazione della cifra decimale corrispondente al codice (A3, A2, A1, A0). • • Nell’istante successivo il segnale d’onda è alto ed il multiplexer lascia passare il codice (B3, B2, B1, B0) verso il decoder BCD - 7 segmenti. Contemporaneamente il dispositivo di attivazione del display riceve il segnale basso dell’onda quadra e attiva la seconda cifra del display ed il numero corrispondente viene visualizzato a fianco del primo. Il ciclo si ripete alla frequenza del segnale d’onda. El. Digitale - a.a. 04/05 158 APPLICAZIONE DI MULTIPLEXER /2 BCD - 7segmenti MUX a selezione A0 B0 A1 B1 A2 B2 A3 B3 1 b c 2 d 4 8 e f g a f g e d El. Digitale - a.a. 04/05 a b f c e g b c d 159 DEMULTIPLEXER • Il demultiplexer (DEMUX) effettua la funzione inversa del multiplexer. • Questo dispositivo riceve un segnale da una sola porta e, in base al valore dei segnali di selezione lo distribuisce ad una delle porte di uscita. Dato in input Y D0 D1 Segnali di selezione S0 S1 El. Digitale - a.a. 04/05 Dati in output D2 D3 160