Capitolo 4 Logica sequenziale
Reti sequenziali l’uscita è funzione degli ingressi e dello stato
- Allo stato iniziale sia: S, R = 0 Z = 1, A = 0 all’istante t, R commuta a 1 e istantaneamente Z’ = 0 fino all’istante t+τ, Z’ ≠ Z (stato instabile) all’istante t+τ, Z commuta a 0 e istantaneamente A’ = 0 fino all’istante t+2τ, la rete è ancora instabile dall’istante t+2τ, per S=0, R=1, la rete si mantiene stabile (Z = 0, A = 1)
y rappresenta lo stato presente, Y rappresenta lo stato futuro la condizione di stato instabile corrisponde a Y ≠ y con S, R = 0, l’uscita Z conserva memoria dell’ultimo ingresso con valore 1 si conviene che la condizione S=1, R=1 non si presenti per evitare che, tornando entrambi gli ingressi a zero, lo stato finale sia impredicibile
Flip-flop Il Latch di NOR , costituisce un elemento binario di memoria detto flip-flop Set-Reset (asincrono) _ Y = S + R y con vincolo SR = 0
Modello generale Vettori delle variabili di ingresso X = (x1, x2,…, xn) di uscita Z = (z1, z2,…, zn) di stato presente y = (y1, y2,…, yn) di stato futuro Y= (Y1, Y2,…, Yn)
Analogamente si definiscono gli alfabeti: di uscita O = (O1, O2,…, OM) con M = 2m di stato S = (S1, S2,…, SL) con L = 2l Si definisce macchina sequenziale la quintupla: M = (I, O, S, f, g) con le due funzioni f : S x I O g : S x I S Se l’alfabeto di stato è finito, la macchina ha una memoria finita: per questo si parla di automi a stato finiti.
Il modello in cui l’uscita è funzione di S e di I, è detto modello di Mealy. Quando la relazione è del tipo f : S O, si parla di modello di Moore. La rete viene detta asincrona, perché reagisce immediatamente alle variazioni di ingresso, portandosi nello stato (futuro) previsto dalla funzione di transizione di stato. E’ necessario che l’ingresso si mantenga stabile fino a che la macchina non raggiunga uno stato stabile. Non è permessa la variazione contemporanea di più ingressi, onde evitare corse critiche.
Rappresentazione delle funzioni di stato e di uscita
Reti sequenziali sincrone
Flip-flop SR sincrono _ y(n+1) = S + R y(n) _ y’ = S + R y
Flip-flop JK _ _ y’ = y J + y K
Flip-flop D y’ = D
Flip-flop T _ _ y’ = T y + T y
Modello di rete sequenziale sincrona
Flip-flop Master-Slave ΔFF e ΔC tempi di commutazione del flip-flop e della rete combinatoria RC Possibile instabilità determinata dall’effetto di y sulla RC, che può modificare la coppia (S,R) durante Δ1
Eliminazione dell’ instabilità tramite la configurazione master-slave di due flip-flop SR in cascata Quando il clock è attivo alto (1) il f.f. master può commutare, mentre lo slave ha gli ingressi a zero e quindi non può cambiare stato. Quando il clock è attivo basso (0) il f.f. slave si porta allo stato raggiunto dal master, mentre il f.f. master non può più commutare.
Δ1 scelto in modo da essere maggiore al tempo di commutazione del più lento dei master; Δ2 scelto in modo da garantire la commutazione della parte combinatoria. L’ingresso primario I deve cambiare entro Δ2
Flip-flop a commutazione sul fronte Clock = 1 c=0, d=0 Clock = 0 : se D = 1 c=1, d=0 se D = 0 c=0, d=1
Il tempo di discesa (o salita, se il FF commuta sul fronte di salita) non deve essere superiore al limite massimo indicato dal costruttore A cavallo del fronte di commutazione (set-up time + hold time) l’ingresso deve restare stabile
Ingressi asincroni dei flip-flop
Modello Mealy e modello Moore _ _ y’ = x y z = y
_ _ z = x y _ _ y’ = x y
Progetto di reti sequenziali Tracciatura del diagramma di stato e della tabella di flusso Minimizzazione del numero di stati Codifica degli stati attraverso variabili booleane Determinazione delle funzioni di eccitazione dei FF Determinazione della parte combinatoria restante
Registri Registro: elementi di memoria binaria (flip-flop) sincronizzati con un unico clock se Rin è disasserito, l’ingresso ai FF è 00 e il registro si mantiene nello stato precedente, se Rin è asserito, lo stato di ogni FF diventa quello corrispondente all’ingresso INi, sul primo fronte attivo del clock Rout ha la funzione di Output Enable
Si assume la convenzione che i registri commutino sul fronte di discesa del clock
Caricamento asincrono Registri a scorrimento e ad anello
Contatori
Contatori sincroni
Contatori asincroni
Trasferimento dell’informazione
Struttura a bus
Struttura a bus
Tempificazione
τg : tempo richiesto dalla logica CNTRL per generare i segnali RSout e RDin τl : tempo impiegato dal segnale RDout per propagarsi fino a RS τout : tempo richiesto per il passaggio in conduzione di RS τB : tempo di trasmissione del dato da RS a RD τS : tempo di set-up dei FF del registro RD τH : tempo di hold del registro RD