La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer Esercizi e applicazioni di Reti sincrone.

Presentazioni simili


Presentazione sul tema: "1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer Esercizi e applicazioni di Reti sincrone."— Transcript della presentazione:

1

2 1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer Esercizi e applicazioni di Reti sincrone

3 Il modello della rete sincrona: comportamento t uscita u n =F(i,s) n stato futuro S n =G(i,s) n stato presente s n ingresso i n s n+1 (n-1)T 0 nT 0 (n+1)T 0 istanti di sincronismo e intervalli elementari di funzionamento

4 Il modello della rete sincrona: struttura Rete logica combinatoria ideale z1z2zmz1z2zm uscita u(t) = F(i(t),s(t)) x1x2xnx1x2xn ingresso i(t) s(t+ ) = S(t) Ritardo T 0 Ritardo T 0 Ritardo T 0 y k y 2 y 1 stato presente s(t) Y k Y 2 Y 1 stato futuro S(t) = G(i(t),s(t))

5 7.1 Campionamento

6 Il flip-flop D come ritardo di durata T 0 Q n+1 = D n equazione caratteristica del FF D (n-1). T 0 n. T 0 (n+1).T 0 clock C D Q Q uscita Q Q n-1 Q n Q n+1 D delay ingresso D D n-1 D n D n+1

7 Rete sequenziale sincrona a flip-flop D z i n = F i (x 1,.., x n, y 1,.., y k ) n per i = 1,.., m y i n+1 = D i n = Y i n = G i (x 1,.., x n, y 1,.., y k ) n per i = 1,.., k Rete combinatoria 1 x1xny1ykx1xny1yk z1zmY1Ykz1zmY1Yk m t1t1 tktk Q D f = 1/T 0

8 Campionamento dei comandi Vincolo per il corretto funzionamento T 0 R + RC + SU ff clock t RC R : tempo max. di risposta dei FF RC : tempo max. di risposta della rete comb. SU : tempo min. di set up dei FF

9 Addizione in serie a1a1 b1b1 r1r1 s1s1 r2r2 a2a2 b2b2 r2r2 s2s2 r3r3 a0a0 b0b0 0 s0s0 r1r1 Q D Riporto inizialmente a zero Frequenza e fase uguali a quelle dei bit seriali. T 0 R + FA + SU FA abrabr sRsR Addendi in serie Somma in serie tt

10 Esercizio 7.1 Sia EN un flag che segnala la presenza in ingresso al full-adder di bit significativi dei due operandi A e B. a0a0 a3a3 a n-1 a1a1 a2a2 b0b0 b3b3 b n-1 b1b1 b2b2 EN A B Come occorre impiegarlo per avere una corretta esecuzione della somma e per disporre di un flag di validità dei bit sulluscita s ?

11 7.2 Sintesi & Analisi

12 Il procedimento di sintesi Il procedimento di sintesi di una rete sequenziale sincrona è formato da 4 passi e consente di dedurne lo schema logico dal comportamento: 1: individuazione del grafo degli stati, 2: definizione della tabella di flusso, 3: codifica degli stati e definizione della tabella delle transizioni, 4: sintesi della parte combinatoria e retroazioni con flip-flop.

13 I° esempio: il riconoscitore di sequenza Una rete sequenziale sincrona ha un ingresso x ed una uscita z. La relazione ingresso/uscita è descritta dalla seguente frase: z n = 1 quando x n = 1 e solo se x n-2 = x n-1 = 1 1 x 0 1 z 0 N.B. - Reti che classificano stringhe di valori di ingresso consecutivi sono usualmente dette riconoscitori di sequenze.

14 1,1 I° esempio: il grafo degli stati A x, z 0,0 1,0 1,1 D 1,0 C 0,0 M1M1 Si completa il grafo, prendendo in considerazione tutte le altre possibili situazioni e curando di renderlo strettamente connesso (ogni stato deve poter essere raggiunto da ogni altro). Si traccia la parte di grafo che riconosce la sequenza assegnata, specificando su ogni ramo il valore duscita (durata T 0 ).

15 I° esempio: macchine equivalenti Macchine equivalenti - Sono dette equivalenti macchine sequenziali che presentano uno stesso comportamento impiegando un diverso numero di stati: M 1 = M 2 = M 3. La macchina che ha il più piccolo insieme di stati è detta minima (M 2 ). 1,1 a x, z 0,0 1,0 b c 0,0 M2M2 1,1 x, z 0,0 1,0 1,0 0,0 0,0 1,00,0 M3M3

16 I° esempio: tabella di flusso di M 1 x stato 0 1 AA,0B,0 BA,0C,0 CA,0D,1 DA,0D,1 N.B. In una rete sequenziale sincrona ogni stato resta presente per almeno un periodo di clock, ogni cambiamento di ingresso avviene allinizio di tali intervalli ed ogni transizione si verifica al termine. La stabilità dello stato presente non è una condizione necessaria per la variazione di ingresso. E proprio la assenza di questo vincolo che consente di specificare comportamenti di tipo 2 o di tipo 3.

17 Codifica degli stati - In una rete sequenziale sincrona la codifica degli stati è arbitraria (2 n M, naturalmente!). Il campionamento a regime dei segnali di stato elimina infatti a priori il problema di errate interpretazioni causate dal loro iniziale disallineamento. I° esempio: codifica degli stati x n y 1 n y 2 n 0 1 A: 0000,010,0 B: 1000,011,0 C: 1100,001,1 D: 0100,001,1 y 1 n+1 y 2 n+1, z n

18 I° esempio: sintesi della rete di aggiornamento dello stato Funzioni di eccitazione - Funzioni dello stato e dellingresso che specificano i valori da attribuire ai segnali di comando di ciascun flip-flop. La funzione di eccitazione del flip-flop di tipo D coincide con la funzione della variabile di stato futuro. Le funzioni di eccitazione del flip-flop di tipo JK vanno opportunamente dedotte da quella della variabile di stato futuro. D n = Q n+1 Q n+1 Q n J n K n

19 I° esempio: sintesi di M 1 con flip-flop D D 1 = y 1 n+1 = x.y 2 D 2 = y 2 n+1 = x.y 2 + x.y 1 z = x.y 2 Ipotesi: si cercano reti minime di tipo SP Copertura delle funzioni di eccitazione - Il campionamento a regime dei segnali di stato elimina a priori il pericolo di alee statiche e dinamiche x y1y2y1y x y1y2y1y x y1y2y1y y 1 n+1 y 2 n+1 z n

20 Grafo e tabella di flusso di M 3 x stato 0 1 1,1 x, z 0,0 1,0 1,0 0,0 0,0 1,00,0

21 Codifica e tabella delle transizioni di M 3 x n Q 1 n Q 2 n 0 1 Q 1 n+1 Q 2 n+1, z n

22 Sintesi di M 3 con flip-flop D x Q1Q2Q1Q x Q1Q2Q1Q x Q1Q2Q1Q D 1 n = Q 1 n+1 = x n D 2 n = Q 2 n+1 = Q 1 n z n = x n. Q 1 n.Q 2 n Ipotesi: reti minime di tipo SP D 1 Q 1 D 2 Q 2 z x ck Verifica del comportamento: Q 1 n+1 = x n Q 2 n+1 = Q 1 n = x n-1 z n = ( x. Q 1. Q 2 ) n = x n. x n-1. x n-2

23 Complessità Complessità di una rete sequenziale sincrona - Se si assumono come componenti primitivi i gate ed i flip-flop e se si assume come indice di complessità il n° di componenti, la complessità della realizzazione di un certo comportamento dipende: dal tipo di grafo con cui lo si è descritto, dalla codifica adottata per gli stati interni, dal tipo di flip-flop impiegato sulle retroazioni. M 1 2 D 4 M 3 2 D 1 grafo n° flip-flop tipo di flip-flop n° di gate

24 Esercizio 7.2 Una rete sequenziale sincrona programmabile deve riconoscere, generando un impulso di durata T 0 sulla sua uscita z, il verificarsi di un fronte sul suo ingresso x. La rete è dotata di due bit di programmazione p 1 e p 2. Predisponendo p 1 =1, p 2 =0, la rete deve generare un impulso per ogni fronte di salita di x. Con p 1 =0, p 2 =1, la rete deve generare un impulso per ogni fronte di discesa di x. Con p 1 =1, p 2 =1, lattivazione temporanea delluscita deve verificarsi in corrispondenza sia dei fronti di salita, che di discesa. Progettare la rete ipotizzando che la configurazione p 1 =0, p 2 =0 sia vietata.

25 II° esempio: il semaforo (1) t u(t) = P(t) colore Specifiche: rosso = 60 sec. giallo = 20 sec. verde = 60 sec. Ipotesi: T 0 = 20 sec. T0 T1 20 sec. T2 20 sec. T3 20 sec. T5 20 sec. T4 20 sec. T6 20 sec.

26 II° esempio: codifica e funzioni I 7 stati possono essere codificati con i primi 7 numeri binari. y 1 y 2 y 3 T T T T T T T z 1 z 2 z 3 verde 1 00 giallo rosso Funzione di uscita s n u n s n s n Funzione di stato

27 II° esempio: sintesi con ff D e reti minime SP (y 1 y 2 y 3 ) n (y 1 y 2 y 3 ) n+1 (z 1 z 2 z 3 ) n y 1 n+1 = (y 1 y 2 + y 2 y 3 ) n y 1 n y 2 n y 3 n y 2 n+1 = (y 3 y 2 + y 1 y 2 y 3 ) n y 1 n y 2 n y 3 n y 3 n+1 = (y 2 y 3 + y 1 y 3 ) n y 1 n y 2 n y 3 n z 1 n = (y 1 y 2 + y 1 y 3 ) n y 1 n y 2 n y 3 n z 2 n = (y 2 y 3 ) n y 1 n y 2 n y 3 n z 3 n = (y 1 ) n y 1 n y 2 n y 3 n

28 Esercizio 7.3 Facendo riferimento al II° esempio di sintesi 1 - progettare i segnali di comando per le lampade di entrambe le direttrici di marcia assumendo di avere a disposizione un DECODER 3:8

29 III° esempio: conteggio di eventi La rete sequenziale sincrona di figura deve contare modulo due gli intervalli di tempo in cui si verifica x = 0. Il risultato del conteggio appare su z e viene aggiornato solo al termine di ogni intervallo in cui non si è contato (x = 1). I valori z = 0 e z = 1 indicano rispettivamente che la rete ha visto un numero pari ed un numero dispari di intervalli con x = 0. R.S.S x z ck x z

30 III° esempio: grafo degli stati 1,1 d 1,0 a 0,0 b c 1,0 0,1 e f 1,1 0,1 1,1

31 III° esempio: macchina minima x stato 0 1 ab,0a,0 bc,0d,0 cb,0a,0 de,1d,1 ef,1a,1 fe,1d,1 Stati indistinguibili - Sono detti indistinguibili stati a partire dai quali il comportamento della macchina è identico per qualsiasi sequenza di ingresso (esempio: a c, d f). Sostituendo una classe di stati indistinguibili con un unico stato si ottiene una macchina equivalente a quella considerata. x stato 0 1 ab,0a,0 ba,0d,0 de,1d,1 ed,1a,1 a = {a,c} d = {d,f}

32 Quarto esempio: contatore BCD con ingresso di enable e autoinizializzazione in max 2 clock Contatore BCD con ENABLE e con autoinizializzazione

33 tabella delle transizioni X Q D Q C Q B Q A Q D n+1 Q C n+1 Q B n+1 Q A n+1 Per X = 1 e S = 0000, 0001,.., 1001 si ha: (S) 2 n+1 = (S+1) 2 n mod 10 Per X = 0 si ha (S) 2 n+1 = (S) 2 n Un ingresso di questo tipo è denominato comando di ENABLE.

34 Il procedimento di analisi Il procedimento di analisi di una rete sequenziale sincrona è formato da 4 passi e consente di dedurne il comportamento dallo schema logico: 1: analisi dei segnali di eccitazione di ciascun flip-flop, 2: deduzione delle variabili di stato futuro, 3: individuazione della tabella delle transizioni, 4: tracciamento e studio del grafo degli stati.

35 espressioni dello stato futuro Y n+1 = D n Tramite lequazione caratteristica si passa dalle espressioni delle funzioni di eccitazione a quelle delle variabili di stato futuro. Dunque, per ricavare la tabella delle transizioni di una RSS assegnata è sufficiente costruire le mappe associate alle espressioni di D n Dalla tabella delle transizioni si ricava il grafo degli stati

36 Esempio: registro a scorrimento D Q Q D Q Q D Q Q Q 0 Q 1 Q 2 x ck Q 0 n+1 = x n Q 1 n+1 = Q 0 n Q 2 n+1 = Q 1 n (Q 2 Q 1 Q 0 ) n x n = 0 x n = (Q 2 Q 1 Q 0 ) n+1

37 Grafo degli stati Ogni stato è codificato dalla configurazione corrispondente agli ultimi tre valori dellingresso. Ad ogni colpo di clock il bit in ingresso entra in Q 0, il bit in Q 0 scorre o trasla su Q 1, il bit in Q 1 su Q 2

38 … e comportamento APPLICAZIONI linea di ritardo riconoscitore di sequenze convertitore serie/parallelo D Q Q D Q Q D Q Q ck x n-1 x n x n-2 x n-3

39 Modulo sequenziale Modulo sequenziale ffgateffgate ffgate ff Modulo sequenziale Per fare macchine complesse, occorrono componenti complessi! M. de Lapalisse Modulo sequenziale Modulo sequenziale Modulo sequenziale Progetto logico e famiglie logiche

40 7.3 Il registro di stato

41 Il registro per lo stato interno Rete combinatoria 1 x1xny1ykx1xny1yk z1zmY1Ykz1zmY1Yk m t1t1 tktk Q D f = 1/T 0 Registro di stato o registro accumulatore - Insieme di flip-flop, azionati dallo stesso clock e singolarmente dotati di un ingresso e di una uscita. Lapplicazione tipica di questo circuito integrato è la realizzazione delle retroazioni di una rete logica sequenziale sincrona.

42 I comandi dellaccumulatore Tre esigenze del registro accumulatore : 1- inizializzazione, 2- aggiornamento, 3- memorizzazione. Rete combinat. Registro Una soluzione molto comoda: avere nel registro anche una parte combinatoria in grado di interpretare due comandi. WE RES esigenza descrizione - 11R R G(R,I) 0 03R R

43 I comandi WE e RES (Registro con N ff D) Per i = 0, 1,.., N-1 Q i n+1 = (RES.(I i WE + Q i. WE)) n N.B. - Per il reset di un registro si può anche usare il comando asincrono CL dei suoi flip-flop. WE n, I n RES n,Q n Q n+1 Mux 0 z 1 A IiIi WE RES CK D i Q i

44 ALU e accumulatore Q 0 D 0 Q 1 D 1 Q 2 D 2 Q 3 D 3 RES WE ALU operando risultato operazioneiniz./aggiorn./mem.

45 Esercizio 7.5 Modificare lo schema del contatore BCD al fine di disporre di un comando sincrono di RESET. In caso di contemporanea attivazione del RESET e del ENABLE, deve prevalere il primo.

46 7.4 Contatore

47 Il contatore binario x16 CI 4 Bit a 0 F. A. a 1 a 2 s 0 a 3 s 1 b 0 s 2 b 1 s 3 b 2 CO b 3 Q 3 D 3 Q 2 D 2 Q 1 D 1 Q 0 D (S) 2 n = (Q 3 Q 2 Q 1 Q 0 ) 2 n S+1 mod 16 s n s n

48 Forme donda In un contatore binario, luscita Q del flip-flop che memorizza il bit di peso 2 i è unonda quadra con periodo doppio di quella presente sulluscita Q del flip-flop che memorizza il bit di peso 2 i-1. Il primo flip-flop divide per due la frequenza del clock. ck Q0Q0 Q1Q1 Q2Q2 Q3Q3

49 Una rete più semplice per lincremento 1 0 Q 0 Q 0 R 0 CI a b SRSR rabrab SRSR 0 Q i Q i R 0

50 Periodo del clock e complessità della rete D 0 Q 0 D 1 Q 1 D 2 Q 2 D 3 Q 3 1 CO = Q 3. Q 2. Q 1. Q 0 J 0 Q 0 K 0 J 1 Q 1 K 0 J 2 Q 2 K 2 J 3 Q 3 K 3 1 CO = Q 3. Q 2. Q 1. Q 0 T 0 r + 3. g + su T 0 r + 2. g + su

51 Esercizio 7.6 Progettare la cella i-esima di un contatore binario dotato di comando up/down. Quando U/D = 1, il contatore deve incrementare di una unità il numero binario che rappresenta il suo stato; quando il comando vale 0, il numero deve essere decrementato. contatoreCO U/D binario x16 Q A Q B Q C Q D

52 Aumento della base di conteggio EN contatoreCO RES binario x16 Q A Q B Q C Q D Q D Q C Q B Q A 15 EN contatoreCO RES binario x16 Q A Q B Q C Q D EN contatoreCO RES binario x16 Q A Q B Q C Q D 1 Q A Q B Q C Q D Q E Q F Q G Q H contatore binario x256

53 Diminuzione della base di conteggio EN contatoreCO RES binario x16 Q A Q B Q C Q D rete che riconosce la presenza del numero X X-2 clock stato RESET X-1X1 La nuova base di conteggio è X + 1 0

54 Esempio: sintesi del RESET per ottenere base 11 Q B n, Q A n Q D n,Q C n RES n Q D Q C Q B Q A mintermine Q D Q B rete minima Q D Q B Q D Q C autoinizializzazione in un solo clock

55 I° esempio di sintesi con contatori Una rete sequenziale sincrona ha un ingresso X che assume il valore 1 molto di rado e comunque sempre per un solo periodo di clock. Luscita Z deve sia ritardare limpulso di ingresso di quattro unità di tempo, sia raddoppiarne la durata. ck X Z

56 I° esempio: grafo degli stati 0,0 1,0 0,0 0,0 0,0 0,1 0,1 Il comportamento è quello di un contatore con base 6 che compie un intero ciclo per ogni evento X = 1 Per realizzarlo si può impiegare un contatore binario x8 dotato di comandi di ENABLE e di RESET.

57 I° esempio: progetto di EN, RES, Z statoX=0X=1Z riposo stato X=0 X=1 0000,0,01,0,0 0011,0,0 -,-,- 0101,0,0 -,-,- 0111,0,0 -,-,- 1001,0,1 -,-, ,1,1 -,-, ,-,- -,-, ,-,- -,-,- EN, RES, Z EN = X + (Q C +Q B +Q A ) = X + (Q C Q B Q A ) RES = Q C Q A Z = Q C

58 I° esempio: schema logico EN contatore RES binario x8 Q A Q B Q C X Z

59 II° esempio: orologio digitale A partire da un oscillatore a Hz progettare un orologio digitale in grado di visualizzare ore, minuti e secondi tramite sei display a 7 segmenti Oscillatore Hz BIN x Q 0 ……. Q 14 (divisore di frequenza) 1 Hz BCD x 60 ENZ QiQi (secondi) BCD x 60 ENZ QiQi (minuti) BCD x 24 ENZ QiQi (ore) 777 Trascodifica da BCD a 7 segmenti Trascodifica da BCD a 7 segmenti Trascodifica da BCD a 7 segmenti Trascodifica da BCD a 7 segmenti Trascodifica da BCD a 7 segmenti Trascodifica da BCD a 7 segmenti 444

60 0 EN II° esempio: il contatore dei minuti/secondi BCD x 60 EN Z QiQi BCD RES Z Q A Q B Q C Q D (decine) EN BCD RES Z Q A Q B Q C Q D (unità) EN Z QiQi BCD RES Z Q A Q B Q C Q D EN Z = Q D Q A 59.EN

61 II° esempio: il contatore delle ore QiQi BCD x 24 EN Z QiQi 23.EN Z BCD RES Z Q A Q B Q C Q D (unità) EN BCD RES Q A Q B Q C Q D Z (decine) EN

62 Esercizio 7.7 Ampliare il progetto dellorologio con il conteggio dei mesi, il conteggio degli anni. Come si può predisporre data e ora?

63 III° esempio: watch dog Start Dato X ck Stato0 X X Fine X.T 0

64 III° esempio: schema logico I A I B I C I D LD contatore EN binario Z U/D x16 Q A Q B Q C Q D 15.(U/D) + 0.(U/D) XStart 0 Fine

65 7.5 Registro a scorrimento

66 Shift register Shift register o registro a scorrimento - Rete sequenziale sincrona formata da N flip-flop D disposti in cascata. N-bit shift register SI (serial input)(serial output) SO Q 0 Q 1…………………………. Q N-1 D Q Q D Q Q D Q Q ck

67 Universal shift register APPLICAZIONI linea di ritardo convertitore S/P e P/S conteggio memoria a circolazione rotazione verso destra/sinistra moltiplicazione/divisione per 2 i 0MUX A 0 A 1 Q i Q i-1 Q i+1 I i D Q Q QiQi A 0 n A 1 n Q i n+1 hold 0 0 Q i n right 1 0Q i-1 n left 0 1Q i+1 n load 1 1I i n

68 Esempio: conteggio N-bit shift register SI (serial input)(serial output) SO Q 0 Q 1…………………………. Q N-1 N-bit shift register SI (serial input)(serial output) SO Q 0 Q 1…………………………. Q N-1 Base: N Codice: 1 su N Inizializzazione! Base: 2 N Codice: Johnson Inizializzazione!

69 Esempio: conversioni S/P e P/S N-bit shift register A 0 A 1 SI (serial input) Q 0 Q 1 …………………………. Q N-1 I 0 I 1 …………………………. I N-1 N-bit shift register A 0 A 1 (serial output) SO S/H 0 1 S/L S/P P/S

70 7.6 Buffer

71 Registro buffer Applicazioni tipiche: memorizzazione di un dato di ingresso di N bit, memorizzazione di un dato di uscita di N bit. Unità funzionale X Registro buffer (o a latch)- Insieme di N latch CD azionati dallo stesso comando e singolarmente dotati di un ingresso e di una uscita. Buffer1Buffer1 C i : B1 X; I U Buffer2Buffer2 C u : B2 U; Y

72 Il registro buffer wr Q 0 D 0 Q 1 D 1 Q N-1 D N-1 CQDCQD CQDCQD CQDCQD.. ed il BUS rd D 0 D 1 D N-1

73

74

75 Architettura e Registri buffer Protocollo per luso del BUS Processore AR DR Memoria principale Cella Unità di ingresso Stato Dato Unità di uscita Stato Dato Direct Memory Access AR* DR* Esempio di accesso diretto: AR* memory address; DR* M(AR*); AR* I/O address; I/O(AR*) DR*;

76 Random AccessMemory Registro # 0 Registro # 1 Registro # 2 n - 2 Registro # 2 n - 1 S e l e t. / D i s t r. Dato in scrittura lettura Comando WR (scrittura) RD (lettura) Indirizzo di n bit per scegliere il registro... N.B. Al posto del termine registro si usa di norma il termine cella.

77 CQjDCQjD Cella di indirizzo i A 0 A 1 A n-1 WR RD D 0 D j D N- 1 DEC i La RAM

78 I cicli di lettura e di scrittura Le celle di una RAM sono registri buffer I bit di indirizzo, tramite il DEC, scelgono una cella alla volta I comandi WR, RD stabiliscono se laccesso è in lettura o in scrittura. LETTURA SCRITTURA Address signals RD WR Data signals tempo di accesso

79 Decoder e Matrici di decodifica C D decodifica di colonna Proprietà associativa del AND Minimo (n°gate + n°ingressi) ABAB decodifica di riga

80

81

82 Istruzioni a tre indirizzi Opcode address address address Indirizzo del primo operando Indirizzo del secondo operando Indirizzo del risultato

83 ALU e RAM ALU B1 B2 RAM Opcode address address address RD WR MUX


Scaricare ppt "1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer Esercizi e applicazioni di Reti sincrone."

Presentazioni simili


Annunci Google