La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Reti combinatorie: moduli di base. Codificatore Realizza la funzione di codifica binaria, ossia associare ad ogni elemento di un insieme composto da m.

Presentazioni simili


Presentazione sul tema: "Reti combinatorie: moduli di base. Codificatore Realizza la funzione di codifica binaria, ossia associare ad ogni elemento di un insieme composto da m."— Transcript della presentazione:

1 Reti combinatorie: moduli di base

2 Codificatore Realizza la funzione di codifica binaria, ossia associare ad ogni elemento di un insieme composto da m di simboli, una sequenza distinta di n bit Per ogni simbolo tale circuito genera il codice corrispondente 2 n m m linee di ingresso x 0,..,x m-1, n linea di uscita y 0,..,y n-1 –La linea x i è associata al simbolo i-simo –Quando x i =1, e x j =0 (j i), in uscita è presente il codice corrispondente al simbolo i-simo X0X0 X1X1 X m-1 y0y0 y n-1

3 Esempio Codifica cifre decimali in BCD y3y2y1y0y3y2y1y y0y0 y1y1 y2y2 y3y3

4 Decodificatore Realizza la funzione inversa del codificatore, a partire da una parola di un codice genera il simbolo corrispondente Per ogni configurazione di ingresso, una sola uscita vale 1, le altre hanno valore 0 y 0 y 1 y n-1 x 0 x m-1

5 Esempio Decoder BCD-Cifre decimali (prima realizzazione) x3x2x1x0x3x2x1x0 y9y8y7y6y6y5y4y3y2y1y0y9y8y7y6y6y5y4y3y2y1y0 x 3 x 2 x 1 x 0 x 3 x 2 x 1 x 0 x 3 x 2 x 1 x y0y0 y1y1 y9y9

6 Esempio Decoder BCD-Cifre decimali (seconda realizzazione) x3x2x1x0x3x2x1x0 y9y8y7y6y6y5y4y3y2y1y0y9y8y7y6y6y5y4y3y2y1y0 x 3 x 2 x 3 x 2 x 3 x 2 x 1 x 0 x 1 x 0 x 1 x 0 x1 x0 x1 x0 x 3 x 2 y0y0 y1y1 ….

7 Decodificatore con enable E dotato di un ulteriore ingresso di abilitazione E (detto anche strobe) Il decodificatore è abilitato (ossia il processo di decodifica ha luogo) solo quando E=1 E E

8 Realizzazione di funzioni tramite decoder x2x1x0x2x1x0 f E E fusibile

9 ROM (Read Only Memory) Insieme di locazioni di memoria che possono essere lette specificandone lindirizzo Una ROM è un circuito combinatorio Ingresso (indirizzo) Uscita (word)

10 Schema logico di una ROM 000 Funzioni di commutazioni realizzate come OR di mintermini fusibile

11 Implementazione ROM con C-MOS ROM 4x4 (numero parole x dimensione parola) Uscita RRRR Vdd Indirizzo DEC Assenza collegamento =1 Interruttore

12 Implementazione ROM (2) Esempio, indirizzo 01, uscita=0001 Uscita RRRR Vdd Indirizzo 0 1 DECODER

13 ROM temporizzazioni t a : tempo di propagazione dall'ingresso X all'uscita Z t cs : tempo di propagazione dall'ingresso cs all'uscita Z t oe : tempo di propagazione dall'ingresso oe all'uscita Z t v : tempo di mantenimento dell'uscita da quando commuta X o cs o oe t d : tempo di disabilitazione dell'uscita da quando commuta cs o oe

14 Multiplexer (MUX 2 n :1) Ingressi –m=2 n ingressi dati –n ingressi di selezione (controllo) Uscita –Una fra le m, a seconda del controllo x0x0 x1x1 x m-1 s n-1 s0s0 0 1 m-1 y Sy n -1 X 0 X 1.. X 2 n -1

15 MUX 4-2 Y X 0 X 1 X 2 X 3 s 0 s 1

16 MUX - Generatore di funzioni y=f( x 0 x 1 x 2 )=m 0 +m 2 +m 3 +m 6 = (0,2,3,6) y=M 1 M 4 M 5 M 7 = (1,4,5,7) x0x1x2x0x1x2

17 DEMUX 2-4 d d d d Y s0s0 s1s1

18 Half Hadder - Semisommatore Ingresso 2 bit, uscita 2 bit HA AB SC A+ B= C S A B S C HA C=AB S=(not A)B + A(not B)=A B InOut A BS C

19 Full Hadder – Addizionatore completo + A B SCout Cin+ A+ B= Cout S S vale 1 solo quando un numero dispari di bit di ingresso vale 1. Quindi, S=A B C Cin InOut A B CinS Cout AB Cin Cout=CB+AB+CA

20 Ripple Carry Adder (RCA) Full Adder a0a0 b0b0 c0c0 s0s0 a1a1 b1b1 c1c1 c2c2 s1s1 a n-1 b n-1 c n-1 cncn s n-1 n-bit Ripple Carry Adder s n-1 s 0 a n-1 b n-1 a 0 b 0 c0c0 cncn Il tempo per ottenere il risultato è pari ad nTc, dove Tc è il tempo di propagazione del riporto

21 ALU (bit slice) Op seleziona il tipo di operazione + a b op c in c out y opy a AND b a OR b (a+b+cin) mod 2 ??

22 ALU a 32 bit c in c out ALU0 c in c out ALU1 c in c out ALU31 a0a0 b0b0 a1a1 b1b1 a 31 b 31 y0y0 y1y1 y 31 … …… op

23 ALU (bit slice) * = rappresentazioni in complemento a 2 + a b op c in c out y 0101 invertiB opInvertiBc in y a AND b a OR b (a+b+cin) mod 2 (a+NOT b) (a-b)*

24 ALU a 32 bit c in c out ALU0 c in c out ALU1 c in c out ALU31 a0a0 b0b0 a1a1 b1b1 a 31 b 31 y0y0 y1y1 y 31 … …… opNegaB opNegaBy A AND B A OR C A + B A-B Per stabilire se si verifica overflow È sufficiente confrontare se in corrispondenza del MSB, c in c out Overflow detection Overflow

25 Supporto ALU per i salti Vogliamo ampliare la ALU in modo che sia in grado di rilevare la condizione a=b Tale condizione è utile per far eseguire istruzioni in modo condizionato (jump) Indichiamo con Zero la variabile binaria cosi definita: –Zero=1 se e solo se a=b Per calcolare Zero osserviamo che a=b a-b=0 –Pertanto Zero=1 se e solo se tutti i bit delloperazione a-b sono nulli. Ossia, Zero coincide col mintermine m 0 definito sulgli n bit r 0 … r n-1 che rappresentatno la differenza. –Zero=m 0 = (not r 0 )(not r 1 )…(notr n-1 )= not (r 0 +r 1.. +r n-1 )

26 ALU a 32 bit c in c out ALU0 c in c out ALU1 c in c out ALU31 a0a0 b0b0 a1a1 b1b1 a 31 b 31 y0y0 y1y1 y 31 … …… opNegaB Overflow detection Overflow Zero

27 Progetto di un sommatore con operandi a due bit a 1 b 1 a 0 b 0 r out s 1 s 0 Sintesi Confronto con approccio iterativo


Scaricare ppt "Reti combinatorie: moduli di base. Codificatore Realizza la funzione di codifica binaria, ossia associare ad ogni elemento di un insieme composto da m."

Presentazioni simili


Annunci Google