Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Esercizi e applicazioni di
Reti sincrone 1 - Campionamento 2 - Sintesi & Analisi 3 - Accumulatore 4 - Contatore 5 - Registro a scorrimento 6 - Buffer
2
Il modello della rete sincrona: comportamento
istanti di sincronismo e intervalli elementari di funzionamento t ingresso in stato presente sn sn+1 stato futuro Sn=G(i,s)n uscita un=F(i,s)n
3
Il modello della rete sincrona: struttura
x1 x2 xn ingresso i(t) z1 z2 zm uscita u(t) = F(i(t),s(t)) Rete logica combinatoria ideale yk y2 y1 stato presente s(t) Yk Y2 Y1 stato futuro S(t) = G(i(t),s(t)) s(t+ T0) = S(t) Ritardo T0
4
7.1 Campionamento
5
Il flip-flop D come “ritardo” di durata T0
D Q Q’ Q n+1 = D n equazione caratteristica del FF “D” D delay (n-1) . T0 n . T0 (n+1) .T0 clock C ingresso D D n-1 D n D n+1 uscita Q Q n-1 Q n Q n+1
6
Rete sequenziale sincrona a flip-flop D
combinatoria t1 x1 xn y1 yk z1 zm Y1 Yk tm tk Q D f = 1/T0 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
7
Vincolo per il corretto funzionamento
ff clock t RC t RC: tempo max. di risposta della rete comb. t SU: tempo min. di set up dei FF t R: tempo max. di risposta dei FF Campionamento dei comandi T 0 t R + t RC + t SU
8
Addizione in serie Addendi in serie Somma in serie a b s FA r R
t a2 b2 r2 s2 r3 a1 b1 r1 s1 r2 a0 b0 s0 r1 Q D Frequenza e fase uguali a quelle dei bit seriali. T 0 t R + t FA + t SU Riporto inizialmente a “zero”
9
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. a0 a3 an-1 a1 a2 b0 b3 bn-1 b1 b2 EN A B Come occorre impiegarlo per avere una corretta esecuzione della somma e per disporre di un flag di validità dei bit sull’uscita s ?
10
7.2 Sintesi & Analisi
11
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.
12
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: “zn = 1 quando xn = 1 e solo se xn-2 = xn-1 = 1 ” N.B. - Reti che classificano stringhe di valori di ingresso consecutivi sono usualmente dette “riconoscitori di sequenze”. 1 x z
13
I° esempio: il grafo degli stati
x, z 0,0 1,1 M1 1,0 B 1,0 C 1,1 D 0,0 Si traccia la parte di grafo che riconosce la sequenza assegnata, specificando su ogni ramo il valore d’uscita (durata T0). 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).
14
I° esempio: macchine equivalenti
1,1 a x, z 0,0 1,0 b c M2 1,1 a x, z 0,0 1,0 b g d M3 Macchine equivalenti - Sono dette equivalenti macchine sequenziali che presentano uno stesso comportamento impiegando un diverso numero di stati: M1 = M2 = M3. La macchina che ha il più piccolo insieme di stati è detta “minima” (M2).
15
I° esempio: tabella di flusso di M1
x stato A A,0 B,0 B A,0 C,0 C A,0 D,1 D A,0 D,1 N.B. In una rete sequenziale sincrona ogni stato resta presente per almeno un periodo di clock, ogni cambiamento di ingresso avviene all’inizio 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.
16
I° esempio: codifica degli stati
xn y1ny2n A: 00 00,0 10,0 B: 10 00,0 11,0 C: 11 00,0 01,1 D: 01 00,0 01,1 y1n+1 y2n+1, zn Codifica degli stati - In una rete sequenziale sincrona la codifica degli stati è arbitraria (2n M, naturalmente!). Il campionamento a regime dei segnali di stato elimina infatti a priori il problema di errate interpretazioni causate dal loro iniziale disallineamento.
17
I° esempio: sintesi della rete di aggiornamento dello stato
Funzioni di eccitazione - Funzioni dello stato e dell’ingresso 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. Dn = Qn+1 Qn+1 Qn Jn Kn Le funzioni di eccitazione del flip-flop di tipo JK vanno opportunamente dedotte da quella della variabile di stato futuro.
18
I° esempio: sintesi di M1 con flip-flop D
Ipotesi: si cercano reti minime di tipo SP 1 00 01 11 10 x y1y2 y1n y2n zn D1 = y1n+1 = x.y2’ D2 = y2n+1 = x.y2 + x.y z = x.y2 Copertura delle funzioni di eccitazione - Il campionamento a regime dei segnali di stato elimina a priori il pericolo di alee statiche e dinamiche.
19
Grafo e tabella di flusso di M3
1,1 a x, z 0,0 1,0 b g d x stato a a,0 b,0 b d,0 g,0 g d,0 g,1 d a,0 b,0
20
Codifica e tabella delle transizioni di M3
xn Q1nQ2n a:00 00,0 10,0 b:10 01,0 11,0 g:11 01,0 11,1 d:01 00,0 10,0 Q1n+1 Q2n+1 , zn
21
Sintesi di M3 con flip-flop D
Ipotesi: reti minime di tipo SP 1 00 01 11 10 x Q1Q2 D1n = Q1n+1 = xn D2n = Q2n+1 = Q1n zn = xn. Q1n.Q2n Verifica del comportamento: Q1 n+1 = xn Q2 n+1 = Q1 n = xn-1 z n = (x. Q1. Q2)n = xn . xn-1. xn-2 D1 Q1 D2 Q2 z x ck
22
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 D 4 M D 1 grafo n° flip-flop tipo di flip-flop n° di gate
23
Esercizio 7.2 Una rete sequenziale sincrona programmabile deve riconoscere, generando un impulso di durata T0 sulla sua uscita z, il verificarsi di un fronte sul suo ingresso x. La rete è dotata di due bit di programmazione p1 e p2. Predisponendo p1=1, p2 =0, la rete deve generare un impulso per ogni fronte di salita di x. Con p1=0, p2 =1, la rete deve generare un impulso per ogni fronte di discesa di x. Con p1=1, p2 =1, l’attivazione temporanea dell’uscita deve verificarsi in corrispondenza sia dei fronti di salita, che di discesa. Progettare la rete ipotizzando che la configurazione p1=0, p2 =0 sia vietata.
24
II° esempio: il semaforo (1)
t u(t) = P(t) colore T1 20 sec. T2 20 sec. T3 20 sec. Specifiche: rosso = 60 sec. giallo = 20 sec. verde = 60 sec. Ipotesi: T0 = 20 sec. T0 T6 20 sec. T5 20 sec. T4 20 sec.
25
II° esempio: codifica e funzioni
z1 z2 z3 verde giallo rosso Funzione di uscita sn un sn sn+1 Funzione di stato I 7 stati possono essere codificati con i primi 7 numeri binari. y1 y2 y3 T T T T T T T
26
II° esempio: sintesi con ff D e reti minime SP
(y1 y2 y3) n (y1 y2 y3) n (z1 z2 z3) n y1 n+1 = (y1 y2’ + y2 y3) n y1 n y2 ny3 n y2 n+1= (y3 y2’ + y1’ y2 y3’) n y3 n+1= (y2’ y3’ + y1’ y3’) n z1 n = (y1’ y2’ + y1’ y3’) n y1 n y2 ny3 n z2 n = (y2 y3 )n z3 n = (y1) n
27
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
28
III° esempio: conteggio di eventi
R.S.S x z ck 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. x z
29
III° esempio: grafo degli stati
1,0 0,0 b c 1,1 d 1,0 a 0,1 e f 1,1
30
III° esempio: macchina minima
x stato a b,0 a,0 b c,0 d,0 c b,0 a,0 d e,1 d,1 e f,1 a,1 f e,1 d,1 x stato a b,0 a,0 b a,0 d,0 d e,1 d,1 e d,1 a,1 a = {a,c} d = {d,f} 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.
31
autoinizializzazione
Quarto esempio: contatore BCD con ingresso di enable e autoinizializzazione in max 2 clock e con autoinizializzazione 2 1 1 15 14 1 3 1 1 4 1 9 1 13 12 1 Contatore BCD con ENABLE 5 1 8 1 7 1 6 1 11 10 1
32
tabella delle transizioni
X QD QC QB QA QDn+1 QCn+1 QBn+1 QAn+1 Per X = 1 e S = 0000, 0001, .., 1001 si ha: (S)2n+1 = (S+1)2n mod 10 Per X = 0 si ha (S)2n+1 = (S)2n Un ingresso di questo tipo è denominato comando di ENABLE.
33
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.
34
espressioni dello stato futuro
Tramite l’equazione caratteristica si passa dalle espressioni delle funzioni di eccitazione a quelle delle variabili di stato futuro. Yn+1 = Dn Dunque, per ricavare la tabella delle transizioni di una RSS assegnata è sufficiente costruire le mappe associate alle espressioni di Dn Dalla tabella delle transizioni si ricava il grafo degli stati
35
Esempio: registro a scorrimento
D Q Q’ D Q Q0 Q1 Q2 x ck (Q2 Q1 Q0)n xn = 0 xn = 1 (Q2 Q1 Q0)n+1 Q0n+1 = x n Q1n+1 = Q0n Q2n+1 = Q1n
36
Grafo degli stati 1 100 110 1 1 111 1 101 010 000 011 001 Ogni stato è codificato dalla configurazione corrispondente agli ultimi tre valori dell’ingresso. Ad ogni colpo di clock il bit in ingresso entra in Q0, il bit in Q0 “scorre” o “trasla” su Q1, il bit in Q1 su Q2
37
… e comportamento D Q Q’ ck x n x n-1 x n-2 x n-3 APPLICAZIONI
linea di ritardo riconoscitore di sequenze convertitore serie/parallelo
38
Progetto logico e famiglie logiche
Per fare macchine complesse, occorrono componenti complessi! M. de Lapalisse Modulo sequenziale Modulo sequenziale Modulo sequenziale ff gate Modulo sequenziale Modulo sequenziale Modulo sequenziale
39
7.3 Il registro di stato
40
Il registro per lo stato interno
Rete combinatoria t1 x1 xn y1 yk z1 zm Y1 Yk tm tk Q D f = 1/T0 Registro di stato o registro accumulatore - Insieme di flip-flop, azionati dallo stesso clock e singolarmente dotati di un ingresso e di una uscita. L’applicazione tipica di questo circuito integrato è la realizzazione delle retroazioni di una rete logica sequenziale sincrona.
41
I comandi dell’accumulatore
Rete combinat. Registro Tre esigenze del registro accumulatore : 1- inizializzazione, 2- aggiornamento, 3- memorizzazione. Una soluzione molto comoda: avere nel registro anche una parte combinatoria in grado di interpretare due comandi. WE RES esigenza descrizione R ¬ 0 R ¬ G(R,I) R ¬ R
42
I comandi WE e RES (Registro con N ff D)
WEn, In RESn,Qn Qn+1 Mux z 1 A Ii WE RES’ CK Di Qi Per i = 0, 1, .., N-1 Qin+1 = (RES’.(Ii WE + Qi . WE’))n N.B. - Per il reset di un registro si può anche usare il comando asincrono CL dei suoi flip-flop.
43
ALU e accumulatore operando risultato operazione iniz./aggiorn./mem.
Q0 D0 Q1 D1 Q2 D2 Q3 D3 RES WE
44
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.
45
7.4 Contatore
46
Il contatore binario x16 1 CI 4 Bit a0 F. A. a1 a2 s0 a3 s1
CI Bit a F. A. a1 a2 s0 a s1 b0 s2 b1 s3 b CO b3 s n sn+1 S+1 mod 16 Q3 D3 Q2 D2 Q1 D1 Q0 D0 (S)2n = (Q3 Q2 Q1 Q0)2n
47
Forme d’onda In un contatore binario, l’uscita Q del flip-flop che memorizza il bit di peso 2i è un’onda quadra con periodo doppio di quella presente sull’uscita Q del flip-flop che memorizza il bit di peso 2i-1 . Il primo flip-flop divide per due la frequenza del clock. ck Q0 Q1 Q2 Q3
48
Una rete più semplice per l’incremento
CI a b S R r 1 Q0 Q R Qi Qi R
49
Periodo del clock e complessità della rete
D0 Q0 D1 Q1 D2 Q2 D3 Q3 1 CO = Q3. Q2. Q1. Q0 J0 Q0 K0 J1 Q1 J2 Q2 K2 J3 Q3 K3 1 CO = Q3. Q2. Q1. Q0 T 0 t r + 3.t g + t su T 0 t r + 2.t g + t su
50
Esercizio 7.6 contatore CO U/D’ binario x16 QA QB QC QD
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.
51
Aumento della base di conteggio
EN contatore CO RES binario x16 QA QB QC QD QD QC QB QA “15” contatore binario x256 EN contatore CO RES binario x16 QA QB QC QD EN contatore CO RES binario x16 QA QB QC QD 1 QA QB QC QD QE QF QG QH
52
Diminuzione della base di conteggio
EN contatore CO RES binario x16 QA QB QC QD La nuova base di conteggio è X + 1 rete che riconosce la presenza del numero X clock stato RESET X-2 X-1 X 1
53
Esempio: sintesi del RESET per ottenere base 11
QD QB QD QC autoinizializzazione in un solo clock QBn, QAn QDn,QCn 00 01 11 10 RES n QD QB rete minima QDQC QBQA mintermine
54
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. L’uscita Z deve sia ritardare l’impulso di ingresso di quattro unità di tempo, sia raddoppiarne la durata. ck X Z
55
I° esempio: grafo degli stati
0,0 1, , , , ,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.
56
I° esempio: progetto di EN, RES, Z
stato X=0 X=1 Z riposo stato X=0 X=1 000 0,0,0 1,0,0 001 1,0,0 -,-,- 010 1,0,0 -,-,- 011 1,0,0 -,-,- 100 1,0,1 -,-,- 101 -,1,1 -,-,- 110 -,-,- -,-,- 111 -,-,- -,-,- EN, RES, Z EN = X + (QC +QB +QA) = X + (QC’QB’QA’)’ RES = QC QA Z = QC
57
I° esempio: schema logico
EN contatore RES binario x8 QA QB QC X Z
58
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 BCD x 60 EN Z Qi (secondi) (minuti) BCD x 24 (ore) 7 Trascodifica da BCD a 7 segmenti 4 1 Oscillatore Hz BIN x 32768 Q0……. Q14 (divisore di frequenza) 1 Hz
59
II° esempio: il contatore dei minuti/secondi
BCD RES Z QA QB QC QD EN Z = QD• QA BCD x 60 EN Z Qi Qi Z “59”.EN EN BCD RES Z QA QB QC QD (decine) EN (unità)
60
II° esempio: il contatore delle ore
BCD x 24 EN Z Qi Qi Z BCD RES Z QA QB QC QD (unità) EN (decine) EN “23”.EN
61
Esercizio 7.7 Ampliare il progetto dell’orologio con
il conteggio dei mesi, il conteggio degli anni. Come si può predisporre data e ora?
62
III° esempio: watch dog
ck Start Dato X Stato X X Fine X.T0
63
III° esempio: schema logico
X Start IA IB IC ID LD contatore EN binario Z U/D’ x16 QA QB QC QD “15”.(U/D’) + “0”.(U/D’)’ Fine
64
7.5 Registro a scorrimento
65
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 Q0 Q1 ………………………… QN-1 D Q Q’ ck
66
Universal shift register
0 MUX 1 2 3 A0 A1 Qi Qi-1 Qi+1 Ii A0n A1n Qin+1 hold Qin right Qi-1n left Qi+1n load Iin D Q Q’ Qi APPLICAZIONI linea di ritardo convertitore S/P e P/S conteggio memoria a circolazione rotazione verso destra/sinistra moltiplicazione/divisione per 2i
67
Esempio: conteggio Base: N N-bit shift register Codice: 1 su N
SI (serial input) (serial output) SO Q0 Q1 ………………………… QN-1 Base: N Codice: 1 su N Inizializzazione! N-bit shift register SI (serial input) (serial output) SO Q0 Q1 ………………………… QN-1 Base: 2N Codice: Johnson Inizializzazione!
68
Esempio: conversioni S/P e P/S
S/H’ 0 N-bit shift register A0 A1 SI (serial input) Q0 Q1 ………………………… QN-1 S/P 1 S’/L I0 I1 ………………………… IN-1 N-bit shift register A0 A (serial output) SO P/S
69
7.6 Buffer
70
Registro buffer Registro buffer (o a latch)- Insieme di N latch CD azionati dallo stesso comando e singolarmente dotati di un ingresso e di una uscita. Applicazioni tipiche: memorizzazione di un dato di ingresso di N bit, memorizzazione di un dato di uscita di N bit. B u f e r 1 Ci: B1 ¬ X; I Unità funzionale B u f e r 2 Cu: B2 ¬ U; Y X U
71
Il registro buffer .. ed il BUS C Q D wr Q0 D0 Q1 D1 QN-1 DN-1
rd D0 D1 DN-1
74
Architettura e Registri buffer
Memoria principale Cella Processore AR DR Protocollo per l’uso del BUS Unità di ingresso 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*; Unità di uscita Stato Dato
75
per scegliere il registro
Random Access Memory S Registro # 0 e l Registro # 1 e Dato in t. . • scrittura / . • lettura D . i s Registro # 2 n - 2 Comando t • WR (scrittura) r. Registro # 2 n - 1 • RD (lettura) N.B. Al posto del termine “registro” si usa di norma il termine “cella”. Indirizzo di n bit per scegliere il registro
76
A0 A1 An-1 WR RD D0 Dj DN-1 DEC i La RAM C Qj D Cella di indirizzo “i”
77
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 l’accesso è “in lettura” o “in scrittura”. LETTURA SCRITTURA Address signals RD WR Data tempo di accesso tempo di accesso
78
Decoder e Matrici di decodifica
C D “decodifica di colonna” Proprietà associativa del AND Minimo (n°gate + n°ingressi) A B “decodifica di riga”
81
Istruzioni a tre indirizzi
Opcode address address address Indirizzo del primo operando Indirizzo del secondo operando Indirizzo del risultato
82
ALU e RAM Opcode address address address F1 F2 F3 RD WR 1 2 3 MUX B1
MUX ALU B1 RAM B2
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.