Calcolatori Elettronici eti equenziali Asincrone Ing. dell Automazione A.A. 2/2 Gabriele Cecchetti eti equenziali Asincrone ommario: Circuito sequenziale e bistabile Definizione di rete sequenziale asincrona Condizioni di pilotaggio Modelli strutturali Il Flip-Flop asincrono Il riconoscitore di sequenza iferimenti G. Corsini Dalle porte AND O NOT al sistema calcolatore: un viaggio nel mondo delle reti logiche : cap. eti equenziali Asincrone 2
definizione di circuito sequenziale definizione di bistabile CICUITO EUENZIALE E BITABILE 3 Circuito equenziale Il circuito digitale è di tipo sequenziale se le uscite dipendono non solo dai valori correnti degli ingressi, ma anche da (alcuni di) quelli passati: una stessa configurazione di ingresso applicata in due istanti di tempo successivi può produrre due valori di uscita differenti. Il circuito digitale sequenziale (o rete sequenziale) è pertanto dotato, in ogni istante di tempo, di uno stato che, insieme ai valori degli ingressi, ne determina il comportamento futuro: lo stato del circuito sequenziale rappresenta una forma di memoria e contiene una sorta di descrizione della storia passata del circuito stesso. L elemento funzionale elementare per la realizzazione del circuito sequenziale è il bistabile (elemento di memoria), che è in grado di memorizzare un bit di informazione. 4
truttura Il circuito sequenziale è costituito dagli elementi seguenti: bistabile, che ha la funzione di memorizzare un bit, rete combinatoria, che ha funzione di elaborare le informazioni. In ogni istante il circuito sequenziale ha uno stato: il valore dei bit memorizzati nei bistabili facenti parte del circuito. ingressi circuito uscite combinatorio stato futuro elementi di memoria stato presente 5 Elemento di Memoria L'elemento di memoria fondamentale, o bistabile, è caratterizzato da due stati ( e ) stabili. Mantiene lo stato finché uno o più segnali di ingresso forzano il cambiamento di stato. I bistabili sono classificati come segue: secondo il numero di ingressi previsti per comandare il bistabile, e secondo come tali ingressi determinano il cambiamento di stato. 6
Classificazione dei bistabili bistabile asincrono: è privo di segnale di sincronizzazione e cambia stato rispondendo direttamente a eventi (fronti di transizione) sui segnali di ingresso bistabile sincrono: è sensibile a un segnale di sincronizzazione (o di controllo) e la transizione di stato può avvenire solo in corrispondenza di eventi (fronti) sul segnale di controllo: si può dire che il comportamento di un circuito sincrono viene osservato in istanti discreti di tempo, il segnale di sincronizzazione tipicamente utilizzato è il clock. 7 Ulteriore classificazione dei bistabili sincroni bistabile trasparente (latch) flip-flop (bistabile non trasparente) flip flop master-slave (a livello) flip flop edge-triggered (a fronte) 8
Definizione Modello strutturale INTODUZIONE ALLE ETI EUENZIALI AINCONE 9 Definizione di ete equenziale Asincrona Una rete sequenziale asincrona è una qualunque struttura che soddisfa ai seguenti requisiti: è dotata di N var. d ingresso x N-,x N-2,,x è dotata di M var. di uscita z M-,z M-2,,z è dotata di un meccanismo di marcatura che seleziona ad ogni istante uno ed un solo elemento appartenente ad un opportuno insieme ={,,, K- } implementa una legge per gli stati interni A: xx implementa una legge per gli stati di uscita B: Z ottempera alla seguente legge di evoluzione del tempo: se X e sono lo stato d ingresso presente e lo stato interno marcato ad un certo istante, far coincidere lo stato di uscita con B(); individuare inoltre lo stato interno successivo A{,X} e marcarlo e così via all infinito.
Considerazioni sulle A Le A sono sempre in evoluzione. uando uno stato interno successivo coincide con quello attualmente marcato siamo in una situazione di stabilità. Le A significative sono quelle in cui la legge A è tale da assicurare che, partendo da una situazione di stabilità, un altra situazione di stabilità è sempre raggiunta, quale che sia lo stato di ingresso che viene ricevuto dalla rete. Condizione sufficiente: A{,X} coincide con o con A{A{,X},X} (dette leggi normali). Condizioni di pilotaggio per le A Data una situazione di stabilità iniziale, cambiare lo stato d ingresso solo quando essa è in situazione di stabilità (pilotaggio in modo fondamentale). Evita il rincorrersi di transitori che renderebbero indeterminato lo stato interno successivo. Far sì che ogni variazione dello stato di ingresso derivi dalla transizione di una sola var. di ingresso (pilotaggio senza transizioni multiple in ingresso). Impedisce che la rete si evolva in modo differente da quello progettato. 2
Evoluzione temporale di una..a. Z(i) è funzione di (i), (i) è funzione di X(i)(i-), quindi Z(i) è funzione di X(i),X(i-),, (). 3 Modelli strutturali per le..a. (/2) = {,,, K- } sono codificati tramite K delle 2 W combinazioni dei valori delle var. di stato y w-,y w-2,,y con W log 2 K ; La sottorete sequenziale N marca all uscita lo stato interno; CN + N implementano sia la legge A che il meccanismo di marcatura; CN 2 implementa la legge B. 4
Modelli strutturali per le..a. (2/2) N può essere implementata con ritardi (corto circuiti), oppure Flip-Flop (è una sottorete asincrona elementare). Il meccanismo di marcatura implementato dalla rete N non è necessariamente primitivo. e varia più di un bit in uscita da N può nascere una corsa delle variabili di stato. Pertanto occorre: codificare CN in modo tale che non abbia alee per evitare che N marchi stati spuri; pilotare in modo fondamentale CN (N marca il nuovo stato interno solo quando CN è a regime) e senza transizioni multiple in ingresso. 5 bistabile asincrono definizione struttura e funzionamento BITABILE AINCONO 6
Flip-Flop (elementare): specifica di funzionamento s r q et eset q =q Conservazione - Non consentito 7 Flip-Flop (elementare): diagramma a stati s r s r s r / / s r s r s r Gli stati con le orecchiette sono stabili Lo stato di ingresso <sr>= produce un comportamento indeterminato 8
Flip-Flop (elementare): tabella degli stati E in condizione normale perché per ogni ingresso esiste uno stato stabile 9 Flip-Flop (elementare): sintesi. Modello strutturale scelto La sottorete N è un corto circuito 2. Codifica degli stati = <> = <> Con questa codifica degli stati CN 2 è un corto circuito s r y CN 3. Tabella degli stati y sr - - q q 4. intesi CN q = a = s + y/r = /(/s/(y/r)) 2
Flip-Flop (elementare): considerazioni Con questa sintesi per l ingresso <> lo stato indeterminato diventa ora. e l ingresso cambia da a, non potendo avvenire la transizione contemporaneamente (la variazione sugli ingressi è,, oppure,, a seconda di quale delle due variabili è più rapida), lo stato finale sarà oppure. 2 Flip-Flop (reale) Il bistabile è dotato di due ingressi (et) e (eset), e di due uscite e / (forma negata di ): se (/ ): stato di set se (/ ): stato di reset In questo caso il flip-flop ha una seconda uscita il cui valore è il complemento dell altra uscita. L uscita rappresenta quindi lo stato memorizzato: se, le uscite e / possono valere e, rispettivamente, ma... se, le uscite e / possono anche valere e, rispettivamente Dunque, a parità di ingressi (cioè ) l uscita ammette due valori possibili. 22
Flip-Flop : modello strutturale uesta codifica degli stati interni porta ad una corsa delle variabili di stato passando dallo stato allo stato, e viceversa. Tale corsa potrebbe portare a marcare uno stato interno codificato come ( A ) o ( B ). Occorre allora modificare la tabella di flusso. 23 Flip-Flop : tabelle di flusso modificata Lo stato ponte A consente di passare in modo stabile dallo stato interno a quello, e viceversa. L unico effetto indesiderato che rimane è l uscita (questo però è plausibile visto che non è mai possibile far commutare due variabili contemporaneamente). 24
Flip-Flop : codifica degli stati interni Da cui si ottiene: z = /y + s = /(y /s) z 2 = /y + r = /(y /r) ui a destra viene mostrata la realizzazione tramite porte NAND. 25 Flip-Flop : tabella di flusso finale Ora il flip-flop accetta, senza che si verifichino malfunzionamenti qualunque stato di ingresso e qualunque transizione multipla delle variabili di ingresso esclusa quella dallo stato di ingresso allo stato di ingresso. 26
Come memorizzare il Bit retroazione retroazione ealizzazione circuitale del Flip-Flop - asincrono mediante porte NO: il circuito ha due ingressi, e, e due uscite, e /. 27 Come funziona il Bistabile asincrono (/2) e memorizza il valore e memorizza il valore il circuito ha due stati di equilibrio (bistabile) 28
Come funziona il Bistabile asincrono (2/2) Il bistabile è in grado di memorizzare due valori logici distinti: se il bistabile memorizza se il bistabile memorizza tato a : se e, qualunque sia il valore dello stato presente, le uscite e / vengono portate a e, rispettivamente il nuovo stato è tato a : se e, qualunque sia il valore dello stato presente, le uscite e / vengono portate a e, rispettivamente il nuovo stato è 29 Bistabile asincrono: transizione da a (/4) NO A B X e 3
Bistabile asincrono: transizione da a (2/4) NO A B X 3 Bistabile asincrono: transizione da a (3/4) NO A B X e allora diventa 32
Bistabile asincrono: transizione da a (4/4) NO A B X allora rimane 33 Bistabile asincrono: ingresso di eset con NO A B X e allora rimane 34
Bistabile asincrono: transizione da a NO A B X e allora diventa 35 Bistabile asincrono: ingresso di et con NO A B X e allora rimane 36
Bistabile asincrono: anomalia per NO A B X e allora idealmente e / a 37 Bistabile asincrono: riassunto e, l uscita mantiene il valore logico corrente di un bit (cioè oppure ). e e, l uscita assume valore. e e, l uscita assume valore. La configurazione di ingresso è vietata. In quest'ultima circostanza il comportamento del bistabile non è ben definito. 38
Diagramma temporale Un modo per visualizzare comportamenti di circuiti sequenziali, che dipendono dal tempo e da eventi passati, è il diagramma temporale. Il diagramma temporale è un sistema di assi cartesiani con: in ascissa il tempo (in istanti discreti) in ordinata i vari segnali i cui valori logici si succedono al trascorrere del tempo 39 Diagramma temporale del FF asincrono osservazione al tempo T osservazione al tempo T2 osservazione al tempo T3 causa-effetto causa-effetto T T2 T3 Tempo le frecce indicano un rapporto tra i fronti di tipo causa-effetto 4
Tabella di Transizione Il comportamento del bistabile, e in generale del circuito sequenziale, non è rappresentabile tramite tabella di verità (come la rete combinatoria). L'uscita del circuito sequenziale non dipende solo dagli ingressi presenti, ma anche da quelli passati, ovvero anche dallo stato presente del circuito. i può rappresentare il comportamento del circuito sequenziale mediante la tabella di transizione: righe indicizzate tramite le configurazioni di ingresso colonna di uscita contenente valori costanti e anche l'indicazione simbolica dello stato presente 4 Tabella di Transizione del FF asincrono bistabile asincrono tabella di transizione 42
appresentazione del FF asincrono bistabile il bistabile (set-reset) come blocco funzionale sequenziale 43 Esempio come Adattatore i supponga di avere una periferica che deve mandare un segnale di richiesta (per esempio una richiesta di interruzione, interrupt) a un processore. La periferica genera solo un breve impulso di richiesta, ma il processore potrebbe essere occupato e non in grado di rispondere subito alla richiesta, onorandola. È dunque necessario interporre tra periferica e processore un circuito digitale adattatore (interfaccia), che: riceva l impulso di richiesta proveniente dalla periferica, lo memorizzi, stabilizzandolo, e lo mandi al processore mantenga pendente la richiesta fintantoché il processore non sia disponibile a onorarla cancelli la richiesta, non appena il processore abbia segnalato di averla acquisita e di essere pronto a onorarla 44
Esempio come Adattatore: schema logico breve impulso di richiesta richiesta stabilizzata e tenuta pendente non usato PEIFECA bistabile POCEOE l impulso cancella la richiesta impulso di acquisizione 45 iconoscitore di sequenza,, (/3) Diagramma di flusso / / 2 / 3 /, 46
iconoscitore di sequenza,, (2/3). Tabella di flusso 2. Codifica degli stati interni 3. Tabella di flusso con gli stati interni codificati 47 iconoscitore di sequenza,, (3/3) Modello strutturale Leggi caratterizzanti CN e CN2 a =x y +x /x y a =/x x +x y z=y /y 48
iconoscitore di sequenza,, implementato con flip-flop (/2) Modello strutturale 49 iconoscitore di sequenza,, implementato con flip-flop (2/2).Tabella degli stati codificati 2.Tabella di applicazione del flip-flop 3.Tabelle delle variabili di pilotaggio dei 2 flip-flop 4.Tabella delle rete CN 2 3 4 2 5