apitolo 6 Reti asincrone 6. Elaborazione asincrona 6.2 Memorie binarie 6.3 nalisi e Sintesi 6. Elaborazione asincrona Reti sequenziali asincrone (comportamento) Elaborazione asincrona - Ogni nuovo ingresso determina: una condizione di stabilità dello stato interno non più di una modifica del simbolo d uscita ingresso i stato presente s s(t+ t) = s*(t) ingresso stato presente Reti sequenziali asincrone (struttura) ircuito combinatorio rete combinatoria ideale τ τ m τ n τ r stato futuro uscita uscita u* = F(i,s) stato futuro s* = G(i,s) t Il ritardo intrinseco del circuito agisce da memoria temporanea dello stato presente durante il calcolo dello stato futuro. on k retroazioni si dispone di 2 k riassunti di storia passata.
Esigenze Problema - iscriminare e ricordare l ordine temporale con cui due o più segnali binari modificano il loro valore Sensori intelligenti Soluzione Elaborazione asincrona Flip-flop & Reti sincrone uffer & RM Gestione delle risorse Regole di corretto impiego Obiettivo: ottenere un funzionamento corretto per qualsiasi valore dei ritardi presenti sugli anelli di retroazione. urata degli ingressi odifica degli ingressi odifica degli stati lee statiche Proprietà Velocità nel prendere decisioni Pericolo di malfunzionamento e vincoli di corretto impiego. urata degli ingressi L ingresso può essere modificato solo dopo che il circuito ha raggiunto la nuova stabilità 2. odifica degli ingressi I segnali d ingresso devono cambiare di valore uno solo alla volta i, u α i 2, u /u 2 i 2, u 2 β i 3 Esempio di situazione d ingresso pericolosa : i 3 Il passaggio da una ad un altra condizione di stabilità è detto funzionamento in modo fondamentale La codifica dei simboli d ingresso non può essere arbitraria: configurazioni consecutive devono essere adiacenti
3. odifica degli stati odifica degli stati interni Per eliminare a priori la presenza di stati interni spurii le configurazioni associate ad uno stato presente ed a tutti i suoi possibili stati futuri devono differire per il valore di un solo bit Esempio di situazione pericolosa : - orse e orse critiche Segnali in retroazione per cui è stata prevista una modifica contemporanea di valore si trovano in una situazione di corsa: nel circuito i cambiamenti si verificheranno infatti a istanti diversi e con un ordine dettato dai ritardi interni. Una corsa è critica se si possono raggiungere stabilità diverse. - - - - corsa non critica Transizione multipla I I2 I3 corsa critica Eliminazione a priori delle corse critiche Una codifica priva di corse critiche. Nelle colonne con una sola stabilità si inserisce il simbolo dello stato stabile al posto di eventuali condizioni d indifferenza 2. Per le sole colonne con più stabilità si traccia il grafo delle adiacenze: ogni coppia stato presente-stato futuro è indicata con due nodi connessi da un ramo orientato. 3. Si sovrappone il grafo ad una mappa per il minimo numero di variabili di stato e si verifica se è possibile assegnare configurazioni adiacenti ad ogni coppia di stati coinvolta in una transizione 4. (segue) I OK I2 I3 y y2 Mappa di codifica
odifica degli stati per il flip-flop (pag. 4) M N P y y2 M N P Grafo delle adiacenze Mappa di codifica P M P P P N N P M N N N M M M Eliminazione a priori delle corse critiche 4. Se è impossibile soddisfare tutte le richieste di adiacenza, si cerca di ridurle introducendo transizioni multiple 5. Se non ci si riesce, si incrementa il numero delle variabili di stato e si ritorna a 4. Transizioni multiple () I3 I2 I Α Α Transizioni multiple (2) - I3 I2 I Α Α
Eliminazione a priori delle alee statiche stato presente stato futuro U =. +.u u τ u 6.2 Memorie binarie U U Sulle retroazioni si deve sempre rispettare T4 Memorie binarie Scrivi uno Memorizza Scrivi zero bit osa scrivere e quando scrivere sequenza d ingresso Latch SR complessità strutturale Latch SR Latch Flip-flop edge-triggered Semplicità d uso
astrazione I = f(m,,i) = M +.i M i i(t + t) = I(t) t M I Rete ideale, ritardo e retroazione V u = V 3 (V V 2 ) V (t + 2τ p ) = V u (t) V V 2 V 3 Vu 2τ p + E + E lim. i V V 2 V u I V 3 Sintesi del latch Set-Reset comando di set comando di reset S R bit in memoria S R Latch SR: rete sequenziale asincrona che memorizza il valore di un bit. Il valore del comando di set ordina la memorizzazione del valore. Il valore del comando di reset ordina la memorizzazione del valore. Per S=, R=, lo stato ricorda l ultimo comando ricevuto. 2 S =, R = S =, R = S =, R = S =, R = = S =, R = S =, R = = tempo SR 3 Tabella di flusso ed equazioni caratteristiche S,R q - - La configurazione d ingresso S=, R= è vietata q variabile di stato presente variabile di stato futuro q q SR - - = S + R. q SR - - = R. (S + q)
4 Schemi logici S R R S S = S + R. q τ w >2τ p S = R. (S + q) Uscite complementari R = S (R q) R = R (S q) nalisi del latch SR a NN S R X 3 q S R,,,,,,,,, X Latch S 2 q X R = S (q R ) X = R q = (S. (q. R ) ) X = R + q = S + q.r
- Una memoria binaria più utile Latch - Memoria binaria in cui il valore di un segnale individua quando scrivere, il valore contemporaneo di un segnale cosa scrivere. q Equazioni caratteristiche =. +.q = ( + q).( + ) SR - al latch SR al latch S R campionamento S R S =. R =. memorizzazione ampionamento e Memorizzazione Segnale del ata Path con valori significativi solo in certi intervalli Es: segnale con glitch segnale di campionamento attivo alto Problemi del latch lea statica urata del transitorio Uscite trasparenti quando dal ontroller cosa dal ata Path il latch segnale ricostruito dal latch al ata Path
lea statica nel latch lea statica q Realizzazione con latch SR = S + R.q =. + (. ).q =. +.q +.q Equazioni caratteristiche ridondanti =. +.q +.q =. + ( + ).q = ( + q).( + ).( +q) = ( + ).((.) +q) Il latch a NN ed a NOR Realizzazione a NN =. + ( + ).q = ( ) (( ) q) Realizzazione a NOR = ( + ).((.) +q) = ( ) (( ) q) q Una quarta soluzione =. +.q S S R R Multiplexer Ritardo N.. - Il ritardo inerziale dei due NOT elimina l eventuale glitch generato dall alea statica del MUX.
omportamento in transitorio S Il transitorio R I tempi di set-up, di hold e di risposta Larghezza dell impulso di campionamento - Il campionamento di un livello di deve durare un tempo non inferiore al tempo di set-up del latch SR. omando di campionamento durata minima Uscite trasparenti it in ingresso set-up hold it in memoria tempo max di risposta
L uscita trasparente Il registro buffer wr.. ed il US rd N- omando di campionam. it in ingresso set-up it in memoria tempo di risposta N.. - Se la situazione = dura più del set-up e se durante questo intervallo modifica il suo valore, allora le stesse modifiche si riscontrano anche su. q N- N- n- WR R j N- E La RM 5 Read/Write Memory Enable Una RM da 256K 6 7 i j 3 EN 2 E S 5 R/W RM 64K 8 7 S 5 R/W RM 64K 8 7 S 5 R/W RM 64K 8 7 S 5 R/W RM 64K 8 7 ella di indirizzo i 7
K Il flip-flop master-slave: analisi del comportamento X 2 master slave 2 Φ X Il clock a due fasi 2 master slave 2 Φ Φ2 K Φ2 X τ su τ h X 2 2 ampionamento con un livello Flip-flop edge-triggered con un fronte
,,, Α,, Β, -, Il flip-flop y y2, -, - Mappa di codifica -,,,,,, La codifica di una macchina asincrona con più di 2 stati non può essere fatta arbitrariamente! livello circuitale esiste infatti il pericolo della corsa critica!! Il flip-flop (elllabs, anni 6): codifica ridondante e transizioni multiple,,, Α,, Β, -,,, - 3 bit di stato E F, -, -,,,,,, (segue) La tabella delle transizioni stato ---,- ---,- ---,- ---,- E = ---,- ---,-,- ---,- =,,,, =,,,, ---,- ---,- ---,- ---,- =,,,, =,,,, F = ---,- ---,- ---,-,- y y 2 y 3 Y Y 2 Y 3, Realizzazione a NN (segue)
Sintesi a NN () Sintesi a NN (2) y y 2 y 3 - - - - - - - - - - - - - - - - = y y y 2 y 3 - - - - - - - - - - - - - - Y Y = y 2 + y 3.y Y = y 2 (y 3 y ) y 2 y = y 3 Sintesi a NN (3) Sintesi a NN (4) y y 2 y 3 - - - - - - - - - - - - - - Y 2 Y 2 = +.y 2 + y 2.y 3 = + y 2.( +y 3 ) Y 2 = (y 2 ( y 3 ) ( y 3 ) y 2 y y 2 y 3 - - - - - - - - - - - - - - Y 3 Y 3 = +.y 3 + y 2 Y 3 = y 2 ( y 3 ) y 2 y 3 ( y 3 )
Il flip-flop edge triggered ( y 3 ) Il flip-flop di tipo della famiglia TTL: comandi sincroni e asincroni ( 74) y 2 y 2 y = y 2 y 3 y 3 ( y 3 ) = quando PRE = = quando LR = I tempi di set-up, di hold e di risposta Fronte del clock Segnale Segnale set-up hold risposta 6.3 nalisi e Sintesi
Il procedimento di analisi Il procedimento di analisi di una rete sequenziale asincrona è formato da 5 passi e consente di dedurne il comportamento dallo schema logico: nalisi : individuazione delle variabili di stato, 2: analisi della parte combinatoria, 3: individuazione della tabella delle transizioni, 4: studio delle condizioni di stabilità, 5: individuazione della tabella di flusso e del grafo degli stati. x x2 Una PL con due retroazioni (&2) Y = x2 y2+xy2+x x2y Y2 = x2 y2+xy2+x x2y z = y Una PL con due retroazioni (3) Y = x 2 y 2 +x y 2 +x x 2 y Y 2 = x 2 y 2 +x y 2 +x x 2 y z = y Y2 y2 Y y z 2 x x 2 y y Y y y 2 x x 2 Y 2 Eliminazione alee statiche: y y 2 in Y, y y 2 in Y 2
Una PL con due retroazioni (4&5) xx2 yy2,,,,,,,,,,,,,,,, Funziona in modo xx2 fondamentale yy2,,,,,,,,,,,,,,,, Non ci sono corse critiche Modello di Mealy z cambia valore ad ogni ingresso preceduto da Modello di Moore Una rete asincrona con 2 retroazioni. x x2 y y2 Y Y2 z Y = (x y2) (x y) (x2 y) = x.y2 + x.y+ x2.y Y2 = (x2 y ) (x y y2) = x2.y + x.y.y2 z = x.x2.y.y2 Y = x.y2 + x.y+ x2.y Y2 = x2.y + x.y.y2 z = x.x2.y.y2 y y 2 y y 2 y y 2 Y Y2 z xx2 yy2,,,,,,,,,,,,,,,, YY2,z. e tre soli stati interni x x2 : :,,,,, xx2 yy2 =,,,, =,,,, =,,,, =,,,, :,, :, : : xx2 yy2 =,,,, =,,,, -,- -,- -,- -,- =,,,,, :,,,
Un circuito con troppe retroazioni xx2 yy2,,,,,,,,,,,,,,,, xx2 yy2,,,,,,,,,,,,,,,, Lo stato non è mai stabile e può essere eliminato. Nell incrocio, si indica xx2 yy2 =a a, a, a, a,,,, Le righe e sono identiche e possono essere sostituite da una sola riga Sintesi Il procedimento di sintesi Il procedimento di sintesi di una rete sequenziale asincrona è formato da 5 passi e consente di dedurne lo schema logico dal comportamento: : 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, 5: schema logico. Esempio di sintesi omportamento: z cambia valore ad ogni fronte di salita di x - Lampada da tavolo x z 2 - ivisore x2 della frequenza di un segnale periodico K T 2T
x, z, α Esempio (: grafo degli stati),-, β,,,- γ, Stabilità - Ogni stato è stabile per l ingresso che lo genera. Indifferenza sull uscita - La modifica di uscita può avvenire già durante la transizione oppure, indifferentemente, essere rinviata al raggiungimento della stabilità., δ Esempio (2: tabella di flusso) x stato α α, β,- β γ, β, γ γ, δ,- δ α, δ, ONTROLLI FORMLI. In ogni riga ci deve essere almeno una condizione di stabilità. 2. In ogni colonna si deve raggiungere sempre una stabilità. 3. Le situazioni di instabilità devono indicare uno stato futuro stabile nella colonna (assenza di transizioni multiple). Esempio (3: tabella delle transizioni) y y 2 α Grafo delle adiacenze e mappa di codifica odifica degli stati - stati consecutivi (stato presente e futuro) si devono assegnare configurazioni adiacenti. β δ γ x y,y 2 α:,,- β:,, γ:,,- δ:,, Y, Y 2, z y y 2 x Esempio (4: espressioni) Ipotesi: si desiderano reti minime di tipo SP y y 2 x y y 2 x Y = x.y 2 + x.y + y 2.y Y 2 = x.y 2 + x.y + y 2.y z = y 2 - - operture ridondanti - Per eliminare a priori il pericolo di alea statica (qui causato dal probabile sfasamento tra x e x ) ogni coppia di adiacenti deve essere racchiusa in almeno un RR ; se occorre un RR in più, si deve dargli dimensione massima.
Esempio (5: schema con retroazioni dirette) x x.y y 2.y Y = x.y 2 + x.y + y 2.y Y 2 = x.y 2 + x.y + y 2.y z = y 2 Y Esempio (5: schema con latch SR) Y = x.y 2 + x.y + y 2.y = (x.y 2 )+ (x+ y 2 ).y = (x.y 2 )+ (x. y 2 ).y = S + R.y x S R y y x.y 2 x.y y 2.y Fan-out > Y 2 z Y 2 = x.y 2 + x.y + y 2.y = x.y + (x +y ). y 2 = x.y + (x.y ). y 2 = S 2 + R 2. y 2 z = y 2 S R y 2 y 2 x Esempio (5: schema con latch ) x x Esempio (5: schema con flip-flop) S R y y x z S R y 2 y 2 z z
Grafo primitivo Grafo degli stati primitivo Grafo in cui ogni stato è stabile per una ed una sola configurazione d ingresso. Grafi primitivi e non primitivi Per individuare le esigenze di stati interni poste dalla specifica di comportamento è spesso utile iniziare il progetto con un grafo primitivo. i norma il grafo primitivo non ha il minimo numero possibile di stati interni Nota la tabella di flusso primitiva (una sola stabilità per riga), è abbastanza agevole individuare l automa minimo Riconoscitore della sequenza -- grafo primitivo IPOTESI I segnali d ingresso cambiano di valore uno solo alla volta xy, z,,,,,-, Riconoscitore della sequenza -- grafo non primitivo xy, z,,,,,-,,,, F E,, EF,-,-,,,-,- ttesa di,,,,,,,,
E F,,,,,, F, F,, E, E, E,,,, Tabelle di flusso S,,,,, S,, S, S, I S I,,, I, Tabella primitiva Tabella ridotta Tabella minima ue o più righe di una tabella di flusso possono essere compresse in un unica riga se, per ogni ingresso, presentano simboli di stato futuro e di uscita identici a meno di condizioni d indifferenza S, S,- S,- -,-, I,,-, S, S, -,- -,- -,-,- F,- -,- -,-,- -,-,- S,- S,- F,- -,-, S, -,-,- -,- S, odifica degli stati I I I S I S S S I S S S OK OK I: : S: -,- -,- -,- -,- Stato in più : instabile per autoinizializzazione I S Esercitazione N. 2 Esercitazione N. 3 (forme d onda) x 2 x q S R q q 2 S R q 2 z Una RS ha due ingressi x,y ed una uscita z. Gli ingressi non cambiano mai di valore contemporaneamente e non presentano mai entrambi il valore. L'uscita può cambiare di valore solo in corrispondenza dei fronti di salita di x. Il valore che z deve assumere e poi mantenere costante fino al fronte successivo è se nel precedente intervallo x= y non ha modificato il suo valore, nel caso opposto. OMN N. - (forma d'onda) x y z?
Esercitazione N. 3 (tabella di flusso) OMN N.2- ompletare il grafo primitivo degli stati OMN N.3- Tracciare la tabella di flusso. xy,z,,,,,,,,,,-,-,,,,,, E F, G H,, xy, -,- -,-,,, -,-,,, -,- -,-,, -,- E,- E F, -,- -,- E, F F, G, -,-,- G H, G, -,- -,- H H, G, -,- E, Esercitazione N. 3 (codifica degli stati) OMN N.4- Individuare una codifica appropriata degli stati a bc F G H E E F G H xy bc - - - - - - a= xy bc - - - - - - a= xy bc - - - - - - a= xy bc - - - - - - a= xy bc - - - - - - a= xy bc - - - - - - a= = ax + bx + ab = a b + a y + bx + acy + bcy = a b x + y + acx + b cx xx = anti alea xy abc, -,- -,-,,, -,-,,, -,- -,-,, -,-,-, -,- -,-,,, -,-,-,, -,- -,-,, -,-, Esercitazione N.4 Una rete sequenziale asincrona è caratterizzata da due segnali di ingresso X, X 2 (i quali non cambiano mai contemporaneamente) e da un segnale di uscita Z. uando il segnale X è disattivo (livello logico ), Z deve assumere il valore. uando il segnale X è attivo (livello logico ), Z deve assumere l ultimo valore presentato dal segnale X 2 nel precedente intervallo di attivazione di X. (v. esempi di forme d onda) OMN N. - grafo primitivo OMN N.2 codifica degli stati e tabella delle transizioni OMN N.3 espressione di una variabile di stato futuro
Esercitazione N.5 L autoscuola GRTT&PERI, per addestrare meglio i suoi allievi, vi chiede di realizzare un simulatore dotato di due ingressi f, c e di una uscita z: f è il pedale della frizione ( premuto, rilasciato), c èla leva del cambio ( marcia inserita, folle), z è il comando di un segnalatore acustico ( rumore di orrenda grattata, nessun suono). L allievo può modificare un solo ingresso alla volta. Il rumore della grattata deve essere generato quando si inserisce una marcia con la frizione non premuta e fino a quando non venga dapprima disinserita la marcia con frizione premuta e poi rilasciata la frizione; quando si disinserisce una marcia con la frizione non premuta e fino a quando non venga dapprima inserita la marcia con frizione premuta e poi rilasciata la frizione. OMN N. - forme d'onda OMN N.2 grafo degli stati OMN N.3 tabella di flusso e delle transizioni OMN N.4 espressione di una variabile di stato futuro