La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercizio 2 Progettare un registro a 8 bit con uscita tri-state utilizzando FFD positive edge triggered. La rete, ad ogni fronte di salita del clock, memorizza.

Presentazioni simili


Presentazione sul tema: "Esercizio 2 Progettare un registro a 8 bit con uscita tri-state utilizzando FFD positive edge triggered. La rete, ad ogni fronte di salita del clock, memorizza."— Transcript della presentazione:

1 Esercizio 2 Progettare un registro a 8 bit con uscita tri-state utilizzando FFD positive edge triggered. La rete, ad ogni fronte di salita del clock, memorizza il byte IN[7..0] in ingresso se WE=1 mentre mantiene il valore precedentemente memorizzato in caso contrario (WE=0). Luscita OUT[7..0] della rete deve essere posta nello stato di alta impedenza quando il segnale OE=0. Inoltre, la rete deve essere dotata di un ingresso asincrono di RESET (A_RESET) che, se 1, pone al livello logico 0 luscita OUT[7..0] indipendentemente dal valore dei segnali WE, IN e CK. Quali condizioni devono essere soddisfatte perché sia garantito il corretto funzionamento della rete ? ? WE A_RESET IN[7..0] CK OUT[7..0] OE WE IN[7..0] OE OUT[7..0]

2 WE OE FFD DQ Q* R* IN OUT 0 1 Q A_RESET* Soluzione Caso singolo bit NOTA - Per garantire il corretto funzionamento della rete è necessario rispettare tempi di setup e hold - Il FFD esiste (8X) in forma integrata (74XX374) ed è dotato di comando di OE CK

3 NOTA - La soluzione seguente NON è corretta in quanto: a) variazioni spurie (glitch), dovute a instabilità del segnale WE, possono causare commutazioni indesiderate del flip-flop b) il gate ritarda il segnale di clock del FFD e potrebbe causare potenziali sfasamenti (clock-skew) tra i clock dei vari componenti della rete sincrona complessiva WE OE FFD DQ Q* R* IN OUT Q A_RESET* CK

4 FFD DQ Q* R* IN7 WE OE OUT7 0 1 FFD DQ Q* R* IN1 OUT1 0 1 FFD DQ Q* R* IN0 OUT0 0 1 Q7 Q1 Q0 A_RESET* Estensione a 8 bit CK

5 Esercizio 3 Progettare una rete che periodicamente dopo tre periodi di clock setta al livello logico 1 la propria uscita per un periodo clock. A_RESET CK OUT CK OUT (0) (1)(2)(0) (1)(2) (3) ? OUT

6 COUNTER X4 Una possibile soluzione si basa sullutilizzo di un contatore modulo 4. Soluzione 3.1 CK u1 u0 OUT A_RESET Progettare un contatore modulo 4…. A_RES Perchè ? u1 u0

7 FFD DQ Q* FFD DQ Q* XOR u0 u1 R* CK A_RESET* u1u0 Contatore modulo 4

8 Contatore modulo 4 con comando di ENABLE (EN) FFD DQ Q* FFD DQ Q* XOR u0 u1 R* CK A_RESET* 0 1 EN 0 1

9 u1u0 Contatore modulo 4 UP/DOWN (U/D*) FFD DQ Q* FFD DQ Q* XOR u0 u1 R* CK A_RESET* 0 1 U/D*

10 Contatore modulo 4 con LOAD (L) FFD DQ Q* FFD DQ Q* XOR u0 u1 R* CK A_RESET* 1 0 L 1 0 L i0 i1

11 Esercizi E3-1) Progettare un contatore modulo 4 dotato dei segnali U/D*, EN e L nei seguenti 2 casi: a) segnale L prioritario rispetto a EN b) segnale EN prioritario rispetto a L In entrambi i casi si supponga che U/D* sia il segnale meno prioritario tra i tre. E3-2) Progettare un contatore modulo 8 E3-3) Progettare un contatore modulo 5 utilizzando un contatore modulo 8

12 Osservando le forme donda mostrate sotto si può ottenere una soluzione alternativa alla precedente (3.1) Soluzione 3.2 CK u1 u0 OUT (0) (1)(2)(0) (1)(2) (3)

13 FFD DQ Q* R* CK A_RESET* FFD DQ Q* R* OUT NOTA - Questa soluzione non può essere ottenuta con il metodo della sintesi formale studiato a Reti Logiche

14 NOTA - Non è il caso della rete della pagina precedente, ma la presenza di alee può creare problemi alle reti che seguono se queste utilizzano come ingresso di clock un segnale che presenta oscillazioni spurie (glitches). Si consideri ad esempio il caso seguente: FFD DQ Q* c b a 1 1 IN OUT S u u S Alea statica: provoca un campionamento indesiderato del FFD

15 NOTA - Le alee possono essere eliminate introducendo ulteriori gates (vedi reti logiche) - In alcuni casi le alee possono essere filtrate dagli stessi gates (ad esempio nel caso di lentezza dei dispositivi rispetto ai tempi del glitch); questa possibilità deve essere verificata attentamente analizzando i datasheets dei componenti utilizzati a b c a b c Un impulso troppo breve potrebbe essere filtrato dallAND

16 Soluzione canonica ottenuta mediante sintesi formale. Soluzione 3.3 A,0B,0C,0D,1 Grafo degli stati Tabella di flusso snsn s n+1 s n,u u AB0 BC0 CD0 DA1 Tabella delle transizioni y1n y0ny1n y0n u y 1 n+1 y 0 n+1 Sintesi minima (mappe di Karnaugh,…) u = y 1 ny 0 n y 0 n+1 = y 0 n * y 1 n+1 = y 1 n XOR y 0 n

17 FFD DQ Q* FFD DQ Q* XOR y0y0 y1y1 R* CK u NOTA - Se si desidera aggiungere un segnale di ENABLE alla rete precedente mediante il metodo della sintesi formale ? - E necessario ripetere tutti i passi precedenti (grafo, diagramma stati, …)

18 Esercizio 4 Progettare un registro a scorrimento (shift-register) a 3 bit. ? IN A_RESET CK OUT1 OUT2 OUT0 IN A_RESET O1 O2 O0

19 CK IN A_RESET OUT1 Soluzione OUT2 OUT0

20 FFD DQ Q* R* A_RESET* FFD DQ Q* R* A_RESET* FFD DQ Q* R* A_RESET* IN OUT2 OUT1OUT0 CK Esercizi E4-1) Progettare uno shift-register dotato di comandi di enable EN e LOAD (parallelo e prioritario rispetto allenable). E4-2) Utilizzando due shift-register a 4 bit e un contatore modulo 8: progettare un convertitore serie parallelo a 8 bit dotato di un segnale (ACK) che comunica lavventura ricezione degli 8 bit.

21 Esercizio 5 Progettare una rete sincrona dotata di un ingresso IN e di unuscita OUT. Luscita OUT deve asserirsi esattamente per un periodo di clock se viene rilevata una transizione da 0 a 1 del segnale di ingresso (monoimpulsore). Si noti che il segnale di ingresso potrebbe anche essere non sincrono (purché rispetti tempi di setup e hold) ? IN CK OUT CK IN OUT IN OUT

22 FFD DQ Q* FFD DQ Q* IN OUT CK Soluzione CK IN OUT

23 FFD DQ Q* IN OUT CK Perchè questa soluzione è sbagliata (1) ? CK IN OUT

24 Perchè questa soluzione è sbagliata (2) ? FFD DQ Q* IN OUT CK IN OUT

25 Perchè questa soluzione è sbagliata (3) ? FFD DQ Q* IN OUT CK IN OUT

26 Esercizio 6 Progettare un rete che controlla se gli ultimi tre caratteri che si sono presentati sullingresso IN[7..0] mentre il segnale EN era a livello logico 1 sono stati FFh (primo carattere della sequenza), 27h e 30h. Nel caso sia rilevata la sequenza FF-27-30, nel periodo di clock successivo a quello dellultimo carattere ricevuto (30h), deve essere asserita luscita OUT e rimanere tale fino a che non viene asserito il segnale (asincrono) di reset A_RESET. In seguito ad un reset deve riprendere immediatamente il controllo della sequenza in ingresso come se non fosse stato ricevuto alcun carattere. ? EN A_RESET IN[7..0] CK OUT EN A_RESET IN[7..0] OUT

27 CK IN[7…0] A_RESET EN 30h FFh 27h55h30h 16h80h OUT (1)(2)(3)

28 374 DQ Q* 0 1 EN DQ Q* 0 1 EN 88 30h IN[7…0] 27hFFh 8 EN FFD DQ Q* 1 0 OUT R* A_RESET* Il segnale EN condiziona lultimo carattere della sequenza CK DEC_30DEC_27DEC_FF OE* 00 Soluzione 6.1

29 Soluzione 6.2 CK A_RESET* LOAD ENABLE 00 COUNTER X4 EN RES* Q1 Q0 L I1 I0 DEC 2:4 I1I1 I0I0 O1O1 O0O0 O3O3 O2O2 EN 1 OUT ATTESO_30 ATTESO_27 ATTESO_FF 30h IN[7…0] 27h FFh 8 DEC_30 DEC_27 DEC_FF LOAD = ATTESO_FFENDEC_FF* + ATTESO_27ENDEC_27* + ATTESO_30ENDEC_30* ENABLE = ATTESO_FFENDEC_FF + ATTESO_27ENDEC_27 + ATTESO_30ENDEC_30 Una soluzione alternativa utilizzando un contatore dotato di comando di LOAD Cè un problema…

30 CK A_RESET* LOAD ENABLE 0 COUNTER X4 EN RES* Q1 Q0 L I1 I0 DEC 2:4 I1I1 I0I0 O1O1 O0O0 O3O3 O2O2 EN 1 OUT ATTESO_30 ATTESO_27 ATTESO_FF 30h IN[7…0] 27h FFh 8 DEC_30 DEC_27 DEC_FF LOAD = ATTESO_FFENDEC_FF* + ATTESO_27ENDEC_27* + ATTESO_30ENDEC_30* ENABLE = ATTESO_FFENDEC_FF + ATTESO_27ENDEC_27 + ATTESO_30ENDEC_30.. nella soluzione della pagina precedente cosa accade se i caratteri ricevuti (con EN=1) sono FF-FF ? DEC_FF

31 Esercizi E5-1) Riprogettare la rete dellesercizio 6 in modo che OUT assuma il valore logico 1 in seguito alla ricezione anche non consecutiva (con EN=1) dei caratteri FFh, 27h e 30h. Ad esempio, OUT=1 se i caratteri ricevuti (mentre EN=1) sono stati: FF-7A-80-9F-27-B2-30-…

32 Esercizio 7 Modificare lesercizio precedente in modo che, in seguito al rilevamento della sequenza, luscita OUT assuma il valore logico 1 per un solo periodo di clock. Appena ricevuta una sequenza completa il controllo dei caratteri in ingresso deve riprendere immediatamente. ? EN A_RESET IN[7..0] CK OUT EN A_RESET IN[7..0]

33 CK IN[7…0] A_RESET EN 30h FFh 27h55h30h 16h80h OUT (1)(2)(3) Soluzione 7.1

34 374 DQ Q* 0 1 EN DQ Q* 0 1 EN 88 30h IN[7…0] 27hFFh 8 EN FFD DQ Q* 1 0 OUT R* A_RESET* CK

35 Soluzione 7.2 CK A_RESET LOAD ENABLE 0 COUNTER X4 EN RES* Q1 Q0 L I1 I0 DEC 2:4 I1I1 I0I0 O1O1 O0O0 O3O3 O2O2 EN 1 OUT ATTESO_30 ATTESO_27 ATTESO_FF 30h IN[7…0] 27h FFh 8 DEC_30 DEC_27 DEC_FF LOAD = ATTESO_FFENDEC_FF* + ATTESO_27ENDEC_27* + ATTESO_30ENDEC_30* + OUT ENABLE = ATTESO_FFENDEC_FF + ATTESO_27ENDEC_27 + ATTESO_30ENDEC_30 Rispetto allesercizio 6.2 è sufficiente modificare il comando di LOAD facendo in modo che LOAD=1 quando OUT=1 ? ENDEC_FF Cosa accade se (con EN =1) la sequenza è 45-FF FF … ?

36 Esercizi E6-1) Riprogettare la rete dellesercizio 6 in modo che OUT=1 in seguito alla ricezione anche non consecutiva (con EN=1) dei caratteri FFh, 27h e 30h. Ad esempio, OUT=1 se i caratteri ricevuti mentre EN=1 sono stati: FF-7A-80-9F-27-B2-30-… E6-2) Cosa accade alle soluzioni 6.1 e 6.2 se (mentre EN=1) la sequenza è: 45-FF FF … ?

37 Esercizio 8 Progettare un rete che controlla se gli ultimi tre caratteri che si sono presentati in ingresso IN[7..0] mentre il segnale EN=1 sono stati FFh (primo carattere della sequenza), 27h e 30h. Nel caso sia rilevata tale sequenza, due periodi di clock successivi a quello dellultimo carattere della sequenza ricevuto deve essere asserita luscita OUT e rimanere tale fino a che il segnale di reset (asincrono) A_RESET non assume il valore logico 1. In seguito ad un reset (asincrono) la rete deve riprendere immediatamente il controllo della sequenza in ingresso come se non fosse stato ricevuto alcun carattere. ? EN A_RESET IN[7..0] CK OUT EN A_RESET IN[7..0]

38 CK IN[7…0] A_RESET EN 30h FFh 27h55h30h18h16h80h OUT (1)(2)(3)

39 374 DQ Q* 0 1 EN DQ Q* 0 1 EN 88 30h IN[7…0] 27hFFh 8 EN FFD DQ Q* 1 0 OUT R* A_RESET* Il segnale EN condiziona lultimo carattere della sequenza CK FFD DQ Q* R* A_RESET* CK Soluzione 8.1

40 CK A_RESET* LOAD ENABLE 0 COUNTER X4 EN RES* Q1 Q0 L I1 I0 DEC 2:4 I1I1 I0I0 O1O1 O0O0 O3O3 O2O2 EN 1 OUT ATTESO_30 ATTESO_27 ATTESO_FF 30h IN[7…0] 27h FFh 8 DEC_30 DEC_27 DEC_FF LOAD = (ATTESO_FFENDEC_FF* + ATTESO_27ENDEC_27* + ATTESO_30ENDEC_30*)·OUT_1* ENABLE = (ATTESO_FFENDEC_FF + ATTESO_27ENDEC_27 + ATTESO_30ENDEC_30)·OUT_1* DEC_FF Soluzione 8.2 FFD D Q Q* R* A_RESET* CK OUT_1

41 Esercizio 9 Progettare una rete dotata di tre ingressi E, A/I*, RESET e unuscita OUT. Il segnale di ingresso A/I* influisce sulla rete solo se contemporaneamente E=1. Luscita della rete deve andare al livello logico 1 per un periodo di clock se viene rilevato per cinque volte, anche non consecutive, il valore 1 del segnale A/I* in presenza del segnale E=1. Ogni volta che il segnale A/I* vale 0 (con E=1) deve essere decrementato di uno il numero di eventi rilevati fino a quel momento. Successivamente ad un reset (segnale asincrono A_RESET=1) o nel caso nessun evento sia stato ancora rilevato la rete deve rimanere nello stato 000 anche se A/I*=0 ed E=1. Dopo avere rilevato cinque eventi la rete deve riprendere il conteggio dallo stato 000. ? E A/I* A_RESET CLOCK OUT E A/I* A_RES

42 COUNTER X 8 EN U/D# LOAD I2I2 I1I1 I0I0 O2O2 O1O1 O0O0 E A/I* OUT CLOCK 00 A/I* O2O2 O1O1 O0O0 RESET A_RESET Soluzione 9.1 E LOR blocca il conteggio (EN=0), anche con E=1, se il contatore si trova nello stato 000 e il comando DOWN è asserito (A/I*=0). Perché ? O 1 è strettamente necessario ? (No, perché ?)

43 A,0B,0C,0D,0E,0 F,1 E A/I* 0 – – 1 0 – Soluzione mediante sintesi formale: grafo -> tabella di flusso -> tabella delle transizioni,... NON SI USA !!!! Soluzione 9.2

44 Esercizio 10 Utilizzando un microprocessore dotato di un bus indirizzi a 16 bit e di un bus dati a 8 bit: mappare nello parte bassa dello spazio di indirizzamento 12k di RAM e nella parte alta 16k di EPROM.

45 Soluzione RAM (12K) EPROM (16K) 0000h 2FFFh C000h FFFFh A 15..A 12 A 11..A 8 A 7..A 4 A 3.. A (0000h) (FFFFh) (2FFFh) (C000h) RAM_1 (8k) RAM_2 (2k) RAM_3 (2k) EPROM (16k) (1FFFh) (2000h) (27FFh) (2800h) CS_RAM_1=A15*·A13* CS_RAM_2=A15*·A13· A11* CS_RAM_3=A15*·A13· A11 CS_EPROM=A15 Segnali di decodifica:

46 - Il segnale CS_EPROM si attiva per ogni indirizzo maggiore o uguale di 8000h (seconda metà dello spazio di indirizzamento) 0000h C000h FFFFh 8000h Indirizzi di memoria con A15=1 CS_EPROM=A15 NOTA - La codifica semplificata implica lattivazione dei segnali di selezioni anche per indirizzi diversi da quelli in cui sono realmente presenti i dispositivi di memoria. EPROM (16K)

47 - Il segnale CS_RAM_1 si attiva per ogni indirizzo compreso tra 0000h e 7FFFh (A15=0) per il quale A13=0: 0000h FFFFh 8000h CS_RAM_1=A15*·A13* RAM_1 (8k) A 15..A 12 A 11..A 8 A 7..A 4 A A (0000h) (1FFFh) A 15..A 12 A 11..A 8 A 7..A 4 A A (4000h) (5FFFh) Quindi, CS_RAM_1=1 per entrambi i seguenti intervalli di memoria: 1FFFh 4000h RAM_1 (8k) 5FFFh

48 - Il segnale CS_RAM_2 si attiva per ogni indirizzo compreso tra 0000h e 7FFFh (A15=0) per il quale A13=1 e A11=0 : 0000h FFFFh 8000h CS_RAM_2=A15*·A13·A11* A 15..A 12 A 11..A 8 A 7..A 4 A A (2000h) (27FFh) A 15..A 12 A 11..A 8 A 7..A 4 A A (3000h) (37FFh) Quindi, CS_RAM_2=1 per i seguenti quattro intervalli di memoria: 2000h 4000h 6000h A 15..A 12 A 11..A 8 A 7..A 4 A A (6000h) (67FFh) A 15..A 12 A 11..A 8 A 7..A 4 A A (7000h) (77FFh) RAM_2 (2k) 3000h RAM_2 (2k) 7000h

49 - Il segnale CS_RAM_3 si attiva per ogni indirizzo compreso tra 0000h e 7FFFh (A15=0) per il quale A13=1 e A11=1 : 0000h FFFFh CS_RAM_3=A15*·A13·A11 A 15..A 12 A 11..A 8 A 7..A 4 A A (2800h) (2FFFh) A 15..A 12 A 11..A 8 A 7..A 4 A A (3800h) (3FFFh) Quindi, CS_RAM_3=1 per i seguenti quattro intervalli di memoria: 2800h 6800h A 15..A 12 A 11..A 8 A 7..A 4 A A (6800h) (6FFFh) A 15..A 12 A 11..A 8 A 7..A 4 A A (7800h) (7FFFh) RAM_3 (2k) 3800h RAM_3 (2k) 7800h

50 0000h FFFFh 2800h RAM_2 (2k) RAM_3 (2k) RAM_1 (8k) 2000h 3800h RAM_2 (2k) RAM_3 (2k) 3000h 4000h 6800h RAM_2 (2k) RAM_3 (2k) RAM_1 (8k) 6000h 7800h RAM_2 (2k) RAM_3 (2k) 7000h EPROM (16K) 8000h C000h Effetto di replica nella mappatura in memoria dovuto alla decodifica semplificata. Nella figura seguente sono indicati solo gli indirizzi iniziali.

51 Esercizio 11 Utilizzando un microprocessore dotato di un bus indirizzi a 20 bit e di un bus dati a 8 bit: - mappare nello parte bassa dello spazio di indirizzamento 32k di RAM e nella parte alta 32k di EPROM Nel sistema sono presenti anche due dispositivi di I/O denominati D1 (dotato di due registri interni) e D2 (dotato di quattro registri interni): - mappare in memoria anche i due dispositivi di I/O D1 e D2 agli indirizzi 2000h e 1000h

52 Soluzione RAM: 1 chip da 32KB RAM (00000h->07FFFh) CS_RAM = BA19*·CS_D1*·CS_D2* EPROM: 1 chip da 32KB EPROM (F8000h – FFFFFh) CS_EPROM = BA19 D1: Mappato in memoria allindirizzo 02000h, occupa 2 locazioni (A0) nello spazio di indirizzamento. CS_D1 = BA19*·BA14*·BA13·BA12*·BA11*·BA10*·BA9*·BA8*·BA7*·BA6*· BA5*·BA4*·BA3*·BA2*·BA1* D2: Mappato in memoria allindirizzo 01000h, occupa 4 locazioni (A1A0) nello spazio di indirizzamento. CS_D2 = BA19*·BA14*·BA13*·BA12·BA11*·BA10*·BA9*·BA8*·BA7*·BA6*· BA5*·BA4*·BA3*·BA2*

53 Esercizio 12 Utilizzando un microprocessore dotato di un bus indirizzi a 20 bit e di un bus dati a 8 bit: - mappare 32k di RAM nella parte bassa dello spazio di indirizzamento, 32k di RAM a partire dallindirizzo 1C000h e 64k EPROM nella parte alta dello spazio di indirizzamento

54 RAM_1 (32k) RAM_2 (32k) EPROM (64k) 00000h 10000h 20000h 30000h F0000h 1C000h FFFh FFFFFh Soluzione 00000h FFFh F0000h FFFFFh CS_RAM_1=A19*·A17*·A16* CS_RAM_2=A19*·(A17 + A16) CS_EPROM=A19 CS_RAM_2=A19*·CS_RAM_1* oppure

55 Esercizio 13 Progettare una rete che genera il codice Johnson a 3 bit (000->100->110->111->011->001->000->…). ? IN A_RESET CK OUT1 OUT2 OUT0

56 FFD DQ Q* R* A_RESET* FFD DQ Q* R* A_RESET* FFD DQ Q* R* A_RESET* OUT2 OUT1OUT0 CK NOTA - Poiché configurazioni adiacenti del codice Johnson differiscono di un solo bit, loutput del contatore può essere utilizzato per generare forme donda prive di alee. Soluzione

57 Esercizio 14 Progettare una rete sincrona che genera la sequenza periodica di 3 bit seguente (contatore ad anello): 100->010->001->100->…. La rete è dotata di un comando di start asincrono (A_START) ? A_START CK OUT1 OUT2 OUT0

58 FFD DQ Q* R* FFD DQ Q* R* FFD DQ Q* R* A_START OUT2 OUT1OUT0 CK Soluzione S* 1 11

59 Esercizio 15 Progettare un contatore modulo 2 n -1 utilizzando uno shift-register a n bit.

60 FFD DQ Q* R* FFD DQ Q* R* A_RESET OUT1 OUT0 CK S* 11 Soluzione Nel caso n=2,

61 Esercizio 16 Progettare una rete che trasferisce in un FFD un bit memorizzato in un registro edge triggered a 4 bit. Il bit da trasferire è individuato mediante i due segnali di selezione S1 ed S0. La scrittura nel registro a 4 bit è abilitata dal segnale WER mentre la scrittura nel FFD è abilitata dal segnale WEF.

62 Soluzione Reg. 4 bit WER IN[3..0] OUT 1 4 OE WE D[3..0] O3 O2 O1 O S1S0 0 1 FFD DQ Q* WEF CK

63 Esercizio 17 Progettare una rete sincrona che quando il segnale ENABLE è attivo trasferisce un bit memorizzato in un registro edge triggered a 4 bit (dotato di comandi WE e OE) verso uno dei quattro flip-flop denominati FF3, FF2, FF1, FF0 nellipotesi che: - sia presente, oltre ai segnali che codificano la sorgente (S1,S0) e la destinazione (D1,D0) del trasferimento, anche un ulteriore segnale denominato WEF che abilita la scrittura nei flip-flop e WER che abilita la scrittura nel registro - il collegamento tra tutte le quattro uscite del registro edge triggered e gli ingressi dei flip-flop deve essere realizzato mediante un unico filo - se il segnale ENABLE non è attivo le uscite del registro a 4 bit devono essere elettricamente disconnesse dal resto della rete

64 Soluzione Reg. 4 bit IN[3..0] OUT0 4 OE WE D[3..0] O3 O2 O1 O0 FF0 DQ Q* CK FF1 DQ Q* OUT1 FF2 DQ Q* FF3 DQ Q* OUT2 OUT3 Percorso logico dei dati nel caso: S1S0 = 11 D1D0 = 10 ENABLE = 1

65 Reg. 4 bit WER IN[3..0] OUT0 1 4 OE WE D[3..0] O3 O2 O1 O0 S1 S0 0 1 FFD DQ Q* WEF CK DEC 2: I0I0 I1I1 ENABLE EN D1 D0 DEC 2: I0I0 I1I1 ENABLE EN 0 1 FFD DQ Q* OUT1 0 1 FFD DQ Q* 0 1 FFD DQ Q* OUT2 OUT3 DEC3 DEC2 DEC1 DEC0 DEC1 DEC2 DEC3

66 Esercizio E possibile modificare la soluzione dellesercizio precedente in modo da utilizzare un MUX a 4 vie e un solo buffer tri-state in sostituzione dei 4 buffer tri-state ?


Scaricare ppt "Esercizio 2 Progettare un registro a 8 bit con uscita tri-state utilizzando FFD positive edge triggered. La rete, ad ogni fronte di salita del clock, memorizza."

Presentazioni simili


Annunci Google