apitolo 6 Reti asincrone 6.1 Struttura, comportamento e corretto impiego 6.2 Memorie binarie 6.3 Analisi e Sintesi 6.1 Struttura, comportamento e corretto impiego ingresso stato presente Reti sequenziali asincrone (struttura) ircuito combinatorio Rete combinatoria τ 1 τ m τ n τ r uscita stato Situazione di stabilità : per l ingresso a e per futuro lo stato m si ha G(m,a) = m. Transizioni da una stabilità ad un altra stabilità: i I s S : G(s,i) = s j i s* = G(s,j) = G(s*,j) Reti sequenziali asincrone (comportamento) Il ritardo intrinseco del circuito agisce da memoria temporanea dello stato presente durante il calcolo dello stato futuro. on k retroazioni si hanno 2 k riassunti di storia passata. ingresso i stato presente s uscita u* = F(i,s) stato futuro s* = G(i,s) t s(t+ t) = s*(t) Rete asincrona L uscita cambia solo se cambia l ingresso. Per ogni modifica d ingresso si verifica al più una modifica d uscita
orretto impiego: funzionamento in modo fondamentale orretto impiego: adiacenza delle configurazioni d ingresso i 1, u 1 α i 2, u 2 i 2, u 2 β Esempio di situazione pericolosa : - 01 Simboli di ingresso consecutivi devono differire per il valore di un solo bit L ingresso può essere modificato solo dopo che il circuito ha raggiunto la nuova stabilità - -01 - -01 Memorie binarie 6.2 Memorie binarie Scrivi uno Memorizza Scrivi zero complessità strutturale bit Latch SR Latch Flip-flop edge-triggered Semplicità d uso
comando di set comando di reset Il latch Set-Reset S R bit in memoria S R 0 0 1 0 1 0 1 0 Latch SR S = 0, R = 0 S = 0, R = 0 S = 0, R = 1 S = 1, R = 0 S = 1, R = 0 =0 =1 S = 0, R = 1 Latch SR: rete sequenziale asincrona che memorizza il valore di un bit. Il valore 1 del comando di set ordina la memorizzazione del valore 1. Il valore 1 del comando di reset ordina la memorizzazione del valore 0. Per S=0, R=0, lo stato ricorda l ultimo comando ricevuto. Tabella di flusso ed equazioni caratteristiche S,R q 01 0 0 0-1 1 1 0-1 q q SR 01 0 0 0-1 1 1 0-1 = S + R. q SR 01 0 0 0-1 S R S Schemi logici R S = S + R. q = R. (S + q) S La configurazione d ingresso S=1, R=1 è vietata 1 1 0-1 = R. (S + q) R = R (S q) R = S (q R )
Latch SR a NAN S R X 01 1 0 0 1 q S R 01 0 0,1 0,1 1,1 1,1 1 1,0 0,1 1,1 1,0 analisi, X Latch S q R X = 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 1 di un segnale individua quando scrivere, il valore contemporaneo di un segnale cosa scrivere. ampionamento e Memorizzazione Segnale del ata Path con valori significativi solo in certi intervalli Es: segnale con glitch SR 01 0-0 0 Trascodifica da a SR 0 1 0 0 0 1 0 1 S =. 0 1 0 0 1 1 0 0 R =. Latch S R dal ontroller dal ata Path il latch segnale di campionamento attivo alto segnale ricostruito dal latch al ata Path
Tabella delle transizioni, equazioni caratteristiche ed eliminazione dell alea statica q 01 0 0 0 1 0 1 1 1 1 0 Equazioni caratteristiche =. +.q = ( + q).( + ) Il latch a NAN ed a NOR Realizzazione a NAN =. + ( + ).q = ( ) (( ) q) S Realizzazione a NOR = ( + q).( + ).( +q) = ( + ).( +q) = ( ) (( ) q) S Realizzazione con latch SR = S + R.q =. + (. ).q =. +.q +.q R R q 01 0 0 0 1 0 1 1 1 1 0 Una quarta soluzione =. +.q omportamento in transitorio S Ritardo R Multiplexer N.B. - Il ritardo inerziale dei due NOT elimina l eventuale glitch generato dall alea statica del MUX.
I tempi di set-up, di hold e di risposta L uscita trasparente 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 Bit in ingresso Bit in memoria durata minima set-up hold tempo max di risposta omando di campionam. Bit in ingresso Bit in memoria set-up tempo di risposta N.B. - Se la situazione =1 dura più del set-up e se durante questo intervallo modifica il suo valore, allora le stesse modifiche si riscontrano anche su. q 01 0 0 0 1 0 1 1 1 1 0
Il registro buffer wr 0.. ed il BUS rd 0 1 N-1 A 0 A 1 A n-1 WR R 0 j N-1 E La RAM 0 1 i 1 j N-1 N-1 ella di indirizzo i I cicli di lettura e di scrittura Le celle di una RAM sono registri buffer I bit di indirizzo, tramite il E, scelgono una cella alla volta I comandi WR, R stabiliscono se l accesso è in lettura o in scrittura. Address signals LETTURA tempo di accesso SRITTURA tempo di accesso Flip-flop edge-triggered R WR ata signals
Il grafo degli stati, 01, 0 Α, 0, -, 1, 1 orse critiche, 0 0-, 0 0-, 1, 1, 0 Β, -, 1, 0 01, 1 (segue) Vincoli sulla codifica degli stati Eliminazione delle corse critiche odifica degli stati interni - Le configurazioni associate a stati interni consecutivi devono differire per il valore di un solo bit. Esempio di situazione pericolosa : - 01 - -01 - -01 rilasciato, spenta rilasciato,spenta premuto,accesa premuto, spenta α β rilasciato, accesa premuto, spenta rilasciato, accesa δ premuto, accesa La lampada da tavolo γ α δ y1 y2 0 1 0 α β β γ 1 δ γ
ue transizioni multiple, Realizzazione a NAN, 0 01, 0 Α, 0 E, -, 1, 1, 0 0-, 0 0-, 1, 1, 0 Β, - F, 1, 1, 0 01, 1 (segue) La tabella delle transizioni Sintesi a NAN (1) stato 01 0 -- -- -- -- E = 1 -- -- 1,- -- A = 0 0,0 0,0 1,0 0,0 B = 0 0,0 0,0 0,0 0,0 1 -- -- -- -- = 1 1,1 1,1 1,1 1,1 = 1 1,1 1,1 1,1 1,1 F = 1 -- -- -- 0,- y 1 y 2 y 3 Y 1 Y 2 Y 3, y 1 y 2 y 3 01 0 0 0 - - - - 0 0 1 - - - - 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 - - - - 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 - - - - (segue) = y 1
Sintesi a NAN (2) Sintesi a NAN (3) y 1 y 2 y 3 01 0 0 0 - - - - 0 0 1 - - 1-0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 - - - - 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 - - - 0 Y 1 Y 1 = y 2 + y 3.y 1 Y 1 = y 2 (y 3 y 1 ) y 2 y 1 = y 3 y 1 y 2 y 3 01 0 0 0 - - - - 0 0 1 - - 0-0 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 0 - - - - 1 0 1 1 1 0 0 1 1 1 1 1 0 1 1 1 0 - - - 1 Y 2 Y 2 = +.y 2 + y 2.y 3 = + y 2.( +y 3 ) Y 2 = (y 2 ( y 3 ) ( y 3 ) y 2 Sintesi a NAN (4) y 1 y 2 y 3 01 0 0 0 - - - - 0 0 1 - - 1-0 1 1 1 1 1 0 0 1 0 1 1 0 0 1 0 0 - - - - 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 - - - 0 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 ) y 2 y 2 y 1 = y 2 y 3 ( y 3 ) y 3
I tempi di set-up, di hold e di risposta Il flip-flop di tipo della famiglia TTL: comandi sincroni e asincroni ( 74) Fronte del clock Segnale set-up hold Segnale risposta = 1 quando PRE = 1 = 0 quando LR = 1 omando asincrono omando sincrono 6.3 Analisi e Sintesi
Il procedimento di analisi Analisi Il procedimento di analisi di una rete sequenziale asincrona è formato da 5 passi e consente di dedurne il comportamento dallo schema logico: 1: 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. Esempio: Si vuole individuare se è utile o meno rendere disponibili all esterno entrambe le uscite dei NOR di un latch SR S R X? Analisi del latch SR a NOR (1 & 2) 1) Si taglia idealmente la retroazione identificando un nuovo segnale di ingresso q ed un nuovo segnale di uscita X. Analisi del latch SR a NOR (3) 3) Si trasformano le espressioni NOR in espressioni AN, OR, NOT e se ne riportano le valutazioni su una mappa. S X q R X = S q = (S + q) = S. q q S R 01 0 0,1 0,1 0,0 1,0 1 1,0 0,0 0,0 1,0 2) Si scrivono le espressioni NOR della rete combinatoria a tre ingressi e due uscite così ottenuta. X = S q = (S q) R = (S q) R = ((S + q) + R) = (S + q). R, X
Analisi del latch SR a NOR (3) 4) Si eliminano le valutazioni fuori dal dominio delle due funzioni (la condizione di ingresso S = R = 1 è per ipotesi impossibile) e si evidenziano sulla mappa le quattro situazioni di stabilità. S R Ecco il motivo q 01 per cui è vietato 0 0,1 0,1 0,0 1,0 impiegare S=1, R=1 1 1,0 0,0 0,0 1,0, X onclusioni: In ogni situazione di stabilità si ha X =. hi deve impiegare il latch può così disporre della forma vera e complementata del bit in memoria. x1 x2 Una PLA con due retroazioni (1&2) Y1 = x2 y2+x1y2+x1 x2y1 Y2 = x2 y2+x1y2+x1 x2y1 z = y1 Y2/ y2 Y1/ y1 z Una PLA con due retroazioni (3) Una PLA con due retroazioni (4&5) 2 01 x 1 x 2 y 1 y 0 0 0 0 01 1 0 1 1 1 1 1 1 0 1 0 0 Y 1 Y 1 = x 2 y 2 +x 1 y 2 +x 1 x 2 y 1 Y 2 = x 2 y 2 +x 1 y 2 +x 1 x 2 y 1 z = y 1 y y 2 01 x 1 x 2 1 0 1 0 0 01 1 1 1 1 1 0 1 1 0 0 0 0 Y 2 x1x2 y1y2 01 A A,0 B,0 A,0 A,0 B,0 B,0,0,0,1,1,1,1 A,1,1 A,1 A,1 x1x2 y1y2 01,0 01,0,0,0 01,0 01,0,0,0,1,1,1,1,1,1,1,1 01 B 01 A 0 1 01 0 1 01 Modello di Mealy Modello di Moore
Una rete asincrona con 2 retroazioni. x1 x2 y1 y2 Y1 z x1x2 y1y2 01,0 01,0 01,0,0 01,0 01,1,0,0,0,0,0,0,0,0,0,0. e tre soli stati interni x1 x2 A: 0,0 01 B:01 01,1 A: 0 x1x2 y1y2 01 =A A,0 B,0 B,0 A,0 01=B A,0 B,1,0,0 = A,0,0,0,0 = A,0,0,0,0,0 01 B:01 01,1 Y2 Y1 = (x1 y2) (x1 y1) (x2 y2) = x1.y2 + x1.y1+ x2.y2 Y2 = (x2 y2 ) (x1 y1 y2) = x2.y1 + x1.y1.y2 z = x1.x2.y1.y2 : 0,0,0,0 01,0,0,0 : : 0,0,0 Un circuito con troppe retroazioni x1x2 y1y2 01 A A,01 A,01 B, B A,01 A,01 B,,,,,, A, A, B,, x1x2 y1y2 01,01,01 01,, 01,01,01 01,,,,,,,, 01,0, x1x2 y1y2 01 AB=a a,01 a,01 a, a,,,, ue o più righe identiche 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: 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, 5: schema logico. Esempio di sintesi omportamento: z cambia valore ad ogni fronte di salita di x 1 - Lampada da tavolo x z 2 - ivisore x2 della frequenza di un segnale periodico K T 0 2T 0 Esempio (1: grafo degli stati) Esempio (2: tabella di flusso) x, z 0,1 α 1,- 1,0 β 0,0 0,0 γ 1,- 0,1 1,1 δ x stato 0 1 α α,1 β,- β γ,0 β,0 γ γ,0 δ,- δ α,1 δ,1 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à. In ogni colonna si raggiunge sempre una condizione di stabilità. Transizioni multiple - i norma si passa direttamente da una stabilità all altra; è ammesso che ciò avvenga anche tramite una breve sequenza di condizioni di instabilità.
Esempio (3: tabella delle transizioni) y 1 0 y 2 0 α odifica degli stati - A stati consecutivi (stato presente e futuro) si devono assegnare configurazioni adiacenti. 1 β 1 δ γ Grafo delle adiacenze e mappa di codifica x y 1,y 2 0 1 α:,1 01,- β: 01,0 01,0 γ:,0,- δ:,1,1 Y 1, Y 2, z x y 1y 2 01 0 0 1 1 0 1 0 0 1 1 Esempio (4: espressioni) Ipotesi: si desiderano reti minime di tipo SP x y 1y 2 01 0 0 1 1 0 1 1 1 0 0 x y 1y 2 01 0 1 0 0 1 Y 1 = x.y 2 + x.y 1 + y 2.y 1 Y 2 = x.y 2 + x.y 1 + y 2.y 1 z = y 2 1-0 - 1 operture ridondanti - Per eliminare a priori il pericolo di alea statica (qui causato dal probabile sfasamento tra x e x ) ogni coppia di 1 adiacenti deve essere racchiusa in almeno un RR. Esempio (5: schema con retroazioni dirette) x x.y 1 y 2.y 1 Y 1 = x.y 2 + x.y 1 + y 2.y 1 Y 2 = x.y 2 + x.y 1 + y 2.y 1 z = y 2 Y 1 Esempio (5: schema con latch SR) Y 1 = x.y 2 + x.y 1 + y 2.y 1 = (x.y 2 )+ (x+ y 2 ).y 1 = (x.y 2 )+ (x. y 2 ).y 1 = S 1 + R 1.y 1 x S R y 1 y 1 x.y 2 x.y 1 y 2.y 1 Fan-out >1 Y 2 z Y 2 = x.y 2 + x.y 1 + y 2.y 1 = x.y 1 + (x +y 1 ). y 2 = x.y 1 + (x.y 1 ). y 2 = S 2 + R 2. y 2 z = y 2 S R y 2 y 2
Esempio (5: schema con latch ) Esempio (5: schema con flip-flop) x x x S R y 1 y 1 x z S R y 2 y 2 z z Riconoscitore della sequenza -01- xy, z,0 01,0,1 Grafi primitivi e non primitivi,0 A,0 01,0,0,0 B F E,-,-,0 01,0 01,-,0,0,0,0 01,0
Riconoscitore della sequenza -01- Tabelle di flusso xy, z,0 01,0,1 01 01 01 A A,0 B,0,0 A A,0 B,0 S,0 A 01,0,0 B,- B A,0 A,0,-,1 E,0 B,0 F,-,-,0 B S B,0 S,- S,0 A,0 A,0 S,- S,0,-,1 S,0 I S S,0 S,- S,0 B,0 S,- S,0 I,0 A,0,-,1 S,0,0,0 01,-,- E F,0 A,0 F,0 F,0 E,0 E,0,0 EF,0 01,0 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 Esercitazione 6.1 (pag.7) Una RSA ha due ingressi x,y ed una uscita z. Gli ingressi non cambiano mai di valore contemporaneamente e non presentano mai entrambi il valore 1. 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 è 0 se nel precedente intervallo x=0 y non ha modificato il suo valore, 1 nel caso opposto. OMANA N.1 - forme d'onda OMANA N.2 grafo primitivo OMANA N.3 tabella di flusso OMANA N.4 codifica degli stati OMANA N.5 espressioni delle variabili di stato futuro Esercitazione 6.2 (pag.9) Una rete sequenziale asincrona è caratterizzata da due segnali di ingresso X 1, X 2 (i quali non cambiano mai contemporaneamente) e da un segnale di uscita Z. uando il segnale X 1 è disattivo (livello logico 0), Z deve assumere il valore 0. uando il segnale X 1 è attivo (livello logico 1), Z deve assumere l ultimo valore presentato dal segnale X 2 nel precedente intervallo di attivazione di X 1. (v. esempi di forme d onda) OMANA N.1 - grafo primitivo OMANA N.2 codifica degli stati e tabella delle transizioni OMANA N.3 espressione di una variabile di stato futuro
Esercitazione 6.3 (pag.120) L autoscuola GRATTA&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 (1 premuto, 0 rilasciato), c èla leva del cambio (1 marcia inserita, 0 folle), z è il comando di un segnalatore acustico (1 rumore di orrenda grattata, 0 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. OMANA N.1 - forme d'onda OMANA N.2 grafo degli stati OMANA N.3 tabella di flusso e delle transizioni OMANA N.4 espressione di una variabile di stato futuro