Sintesi di reti sequenziali Fondamenti di Informatica II Università Magna Graecia di Catanzaro Prof. Mario Cannataro
Reti Combinatorie vs Reti Sequenziali Reti Combinatorie: l utilizzo è limitato alla realizzazione di funzioni booleane in cui il valore dei segnali in uscita al tempo t è in funzione del valore dei segnali di ingresso al tempo t-r per l elaborazione dei segnali. Il ritardo r non influenza il funzionamento logico della rete. Le Reti Combinatorie non hanno necessità di avere una memoria. Reti Sequenziali: sono le reti logiche che esplicano tale funzione di memoria, infatti il valore dei segnali in uscita della rete dipendono da tutti i valori dei segnali di ingresso da t=0 al tempo t-r dove r è sempre il ritardo della rete. Sintesi di reti sequenziali 2
Concetto di memoria Per memoria si intende la capacità di tenere traccia dell evoluzione passata (ovvero degli ingressi precedenti) nella determinazione dell uscita al tempo t. La storia passata viene riassunta in una variabile detta stato. La rete può ricordarsi un numero finito di eventi, quindi dovrà ripartire le sequenze di ingresso in un numero finito di classi, e memorizzerà la stessa informazione per tutte le sequenze di una classe. Sintesi di reti sequenziali 3
Rete sequenziale In sostanza le reti sequenziali sono formate da reti combinatorie in cui alcune uscite sono riportate per feedback (anelli di reazione, o semplicemente anelli) in ingresso. Sintesi di reti sequenziali 4
Segnali a livelli e ad impulsi Sintesi di reti sequenziali 5
Funzionamento a livelli o ad impulsi Parleremo, in accordo con la terminologia elettronica, di due famiglie di segnali: Segnali a livelli: questi segnali si mantengono costanti per un tempo sufficientemente lungo, fino a quando non si verifica una modifica del valore logico. Segnali ad Impulsi: questi segnali rappresentano i valori logici attraverso dei picchi di breve durata che rappresentano l 1, con assenza di impulso che rappresenta lo 0; Sintesi di reti sequenziali 6
Modello generale di rete Rappresentiamo una rete sequenziale attraverso il seguente modello di HUFFMAN. Sintesi di reti sequenziali 7
Formalizzazione della rete sequenziale La rete R ha n varibili d ingresso {X1, X2,..., Xn} ed m variabili d uscita {Z1, Z2,, Zm}. Come risulta chiaro in tale modello: - Le uscite della rete sequenziale {Z1, Z2,, Zm} sono funzione sia degli ingressi esterni {X1, X2,..., Xn}, sia dello stato presente {q1, q2,..., qk}, rappresentato negli elementi in memoria; - Lo stato successivo di una rete sequenziale {q1, q2,..., qk } degli elementi di memoria è a sua volta funzione degli ingressi esterni, sia dello stato presente. Quindi abbiamo definito: - stato interno (stato): insieme dei valori {q1, q2,..., qk}; - prossimo stato interno: insieme dei valori {q1, q2,..., qk }. Sintesi di reti sequenziali 8
Problemi del modello Il modello presentato nella figura precedente funziona con segnali a livelli che devono variare uno solo per volta. Una rete con k anelli ha al più 2 k stati interni; una rete con un numero nullo di anelli ha 2 0 stati, ed è una rete combinatoria. Una prima classificazione che possiamo fare di queste reti è la seguente: - Reti Asincrone: il loro comportamento è definito in qualsiasi istante (modello presentato in precedenza); - Reti Sincrone: il loro comportamento è definito ad intervalli discreti di tempo. Sintesi di reti sequenziali 9
Modello di rete sequenziale sincrona (1/3) Sintesi di reti sequenziali 10
Modello di rete sequenziale sincrona (2/3) L uso di un flip-flop Fc (carica il valore di F a ogni impulso c) permette di disaccoppiare i valori sulle variabili d anello dalle variazioni sulle variabili d ingresso. Questo significa che il valore dello stato interno rimane costante per un tempo sufficientemente grande da permettere la variazione degli ingressi. Nella rete per fissare uno stato iniziale delle variabili d anello è possibile inserire un selettore come si può osservare nella figura che segue Sintesi di reti sequenziali 11
Modello di rete sequenziale sincrona (3/3) Sintesi di reti sequenziali 12
Automa a stati finiti Per rappresentare il comportamento della rete andiamo ad utilizzare l Automa a stati finiti. Un Automa è caratterizzato dai diversi stati in cui si può venire a trovare, dai possibili ingressi, dalle possibili transazioni e dalle possibili uscite. Abbiamo pertanto: - S = {S1, S2,, Sn}, insieme degli stati interni; uno di essi è lo stato iniziale; - X = {X1, X2,, Xm}, insieme degli stati di ingresso, ovvero dei segnali applicati dall esterno; - Z = {Z1, Z2,, Zh}, insieme delle possibili uscite. Sintesi di reti sequenziali 13
Diagrammi degli stati Un diagramma degli stati, è un grafo orientato, composto da h nodi, tanti quanti sono i possibili stati; da ognuno di questi nodi partono p archi orientati sui quali è indicato tale configurazione e lo stato di uscita separati dal simbolo /. Sintesi di reti sequenziali 14
Tabella di flusso Ad ogni riga corrisponde uno stato interno S i, ad ogni colonna uno stato di ingresso X j. In una casella S i, X j con 1<=i<=h e 1<=j<=p è specificato il prossimo stato interno e lo stato di uscita. Sintesi di reti sequenziali 15
Esempio flipper (1/3) Immaginiamo di avere un flipper in cui la pallina rimane sempre in gioco. Tale flipper ha due buche B 1 e B 2 e due lampadine L 1 ed L 2. Una lampadina si accende nel momento in cui si manda la pallina nella buca corrispondente. Se si accendono entrambe le lampadine compare sullo schermo del flipper la scritta WOW Sintesi di reti sequenziali 16
Esempio flipper (2/3) Sintesi di reti sequenziali 17
Esempio flipper (3/3) Sintesi di reti sequenziali 18
Esempio sequenza di tre 1 (1/4) Immaginiamo di avere una rete sequenziale con un morsetto d ingresso X ed un morsetto d uscita Z. Il valore di Z è 1 solo quando in ingresso su X abbiamo ricevuto per almeno tre volte consecutive un 1. Sintesi di reti sequenziali 19
Esempio sequenza di tre 1 (2/4) Sintesi di reti sequenziali 20
Esempio sequenza di tre 1 (3/4) Sintesi di reti sequenziali 21
Esempio sequenza di tre 1 (4/4) Sintesi di reti sequenziali 22
Esempio Ascensore (1/6) Un ascensore di un palazzo a due piani accetta la richiesta del piano di destinazione (terra, 1, 2) e restituisce lo spostamento desiderato (su, giù, fermo). Si tratta di un automa in cui S={Pt, 1P, 2P}; I={T, 1, 2} possibilità offerte dalla pulsantiera; U={Su, Giù, Fermo} spostamenti dell ascensore. Sintesi di reti sequenziali 23
Esempio Ascensore (2/6) Sintesi di reti sequenziali 24
Esempio Ascensore (3/6) S={Pt, 1P, 2P} I={T, 1, 2} U={Su, Giù, Fermo} Tabella di Flusso S I T 1 2 Pt Pt,Fermo 1P,Su 2P,Su 1P Pt,Giù 1P,Fermo 2P,Su 2P Pt,Giù 1P,Giù 2P,Fermo Sintesi di reti sequenziali 25
Esempio Ascensore (4/6) Tabella delle Transazioni y1 y2 z1 z2 00 01 11 00 00,11 01,00 11,00 01 00,01 01,11 11,00 11 00,01 01,01 11,11 S={Pt, 1P, 2P}; I={T, 1, 2}; U={Su, Giù, Fermo} S={00, 01, 11}; I={00, 01, 11}; U={00, 01, 11} Sintesi di reti sequenziali 26
Esempio Ascensore (5/6) MK per y1 z1 z2 y1 y2 00 01 11 10 00 0 0 1 * 01 0 0 1 * 11 0 0 1 * 10 * * * * MK per y2 z1 z2 y1 y2 00 01 11 10 00 0 1 1 * 01 0 1 1 * 11 0 1 1 * 10 * * * * Sintesi di reti sequenziali 27
Esempio Ascensore (6/6) MK per z1 z1 z2 y1 y2 00 01 11 10 00 1 0 0 * 01 0 1 0 * 11 0 0 1 * 10 * * * * MK per z2 z1 z2 y1 y2 00 01 11 10 00 1 0 0 * 01 1 1 0 * 11 1 1 1 * 10 * * * * Sintesi di reti sequenziali 28
Riepilogo Sintesi di reti sequenziali 29
Sommatore a tre ingressi (1/6) Vogliamo costruire una rete sequenziale che sommi 3 numeri binari positivi di n bit per n qualsiasi in n istanti di tempo elementari. I numeri da sommare vengono presentati contemporaneamente su tre ingressi (X1, X2, X3) a partire dal bit meno significativo. B C D D C C A Rip. 2 1 Rip. 1 0 1 1 0 1 1 X1 0 0 0 1 1 1 X2 0 1 1 1 0 1 X3 0 0 1 1 1 1 1 1 0 0 1 1 Sintesi di reti sequenziali 30
Sommatore a tre ingressi (2/6) S = {A, B, C, D} = {Stato iniziale, riporto 0, riporto 1, riporto 2}; U = {0, 1}; I={000, (001), (011), 111}. B C D D C C A Rip. 2 1 Rip. 1 0 1 1 0 1 1 X1 0 0 0 1 1 1 X2 0 1 1 1 0 1 X3 0 0 1 1 1 1 1 1 0 0 1 1 Sintesi di reti sequenziali 31
Sommatore a tre ingressi (2/6) Sintesi di reti sequenziali 32
Sommatore a tre ingressi (3/6) Sintesi di reti sequenziali 33
Sommatore a tre ingressi (4/6) Primo riporto X1*(Y1+X2)*(Y1+X3)*(Y2+X2+X3) X1*(Y1+X2+X3) Sintesi di reti sequenziali 34
Sommatore a tre ingressi (5/6) Secondo riporto X1*(Y1+Y2+X2+X3) X1*(Y1+X2+X3)*(Y1+Y2+X3)*(Y1+Y2+X2) Sintesi di reti sequenziali 35
Sommatore a tre ingressi (6/6) Somma X1*(Y1+X2+X3)*(Y1+X2+X3)*(Y1+Y2+X2+X3)*(Y1+Y2+X2+X3)*(Y2+X2+X3)*(Y2+X2+X3) X1*(Y1+X2+X3)*(Y1+X2+X3)*(Y1+Y2+X2+X3)*(Y1+Y2+X2+X3)*(Y2+X2+X3)*(Y2+X2+X3) Sintesi di reti sequenziali 36
Minimizzazione della tabella degli stati (1/11) Data la tabella di flusso di una automa A, talvolta è possibile trovare un altro automa B, il cui comportamento è identico ad A, tanto che l uno può essere sostituito all altro. Se B ha meno stati di A, si dice che A può essere ridotto; questo vuol dire che si può avere una minore complessità della rete e quindi è un procedimento che merita attenzione. Sintesi di reti sequenziali 37
Minimizzazione della tabella degli stati (2/11) La minimizzazione della tabella degli stati consente di determinare il minimo automa equivalente: - Funzionalmente equivalente - Numero degli stati inferiore Il problema viene risolto in due passi: 1. Eliminazione degli stati non raggiungibili 2. Classificazione degli stati equivalenti o compatibili Sintesi di reti sequenziali 38
Minimizzazione della tabella degli stati (3/11) Due stati si dicono indistinguibili se per ogni possibile sequenza di ingressi a loro applicata producono la stessa sequenza di uscita. La relazione di indistinguibilità si indica con S1ΞS2 oppure S1 ~ S2 Questa relazione è: - Riflessiva(infatti ogni automa è indistinguibile da se stesso) - Simmetrica (se Ai Ξ Aj allora Aj Ξ Ai) - Transitiva (ovvero se Ai Ξ Aj e Aj Ξ Ak allora è anche Ai Ξ Ak) Il processo di minimizzazione ripartisce l insieme S degli stati di una automa in sottoinsiemi disgiunti detti classi di uguaglianza. Sintesi di reti sequenziali 39
Minimizzazione della tabella degli stati (4/11) Praticamente per valutare se due stati siano indistinguibili si ricorre ad una relazione ricorsiva che ci garantisce solo l esistenza ed unicità di un automa minimo, ma non ci dà strumenti per la determinazione di questo automa. Si può procedere alla partizione utilizzando la tabella di Paul-Unger, la quale comprende n stati e possiede n-1 righe, numerate da S2 ad Sn ed n-1 colonne, numerate da S1 ad Sn-1. Sintesi di reti sequenziali 40
Minimizzazione della tabella degli stati (5/11) Tabella di Unger Per la proprietà riflessiva essa è priva della diagonale principale e per quella simmetrica è triangolare. Essa mette in collegamento coppie di stati Sintesi di reti sequenziali 41
Minimizzazione della tabella degli stati (6/11) La casella (Si, Sj), viene contrassegnata con una X se Si ed Sj sono distinguibili; altrimenti è riempita con tutte le coppie implicate da Si ed Sj per tutti gli stati di ingresso. In pratica si confrontano le coppie di stati, se presentano uscite diverse in corrispondenza ad ingressi uguali allora si marcano come incompatibili (X). Sintesi di reti sequenziali 42
Minimizzazione della tabella degli stati (7/11) Ricerca della tabella minima Sintesi di reti sequenziali 43
Minimizzazione della tabella degli stati (8/11) Si costruisce la tabella di Unger, osservando che sono coppie di stati distinguibili le coppie (S1, S4) (S2, S4) (S3, S4) (S4, S5) (S4, S6), cioè hanno uscite diverse. Le X vanno a coprire le coppie di stato che in riferimento allo stesso ingresso hanno uscite diverse Sintesi di reti sequenziali 44
Minimizzazione della tabella degli stati (9/11) Poiché la casella (2,4), corrisponde alla coppia di stati (S2, S4), contiene una X, anche la casella (1, 2), contenente all inizio la coppia suddetta, viene contrassegnata con X. Sintesi di reti sequenziali 45
Minimizzazione della tabella degli stati (10/11) b) Poichè gli stati S3 ed S5 sono indistinguibili da S1, formano l insieme B1 = {S1, S3, S5}. Lo stato S2, non appartenente a B1, è indistinguibile da S6 con cui forma l insieme B2. Infine lo stato S4 costituisce da solo un terzo insieme B3, e quindi si ha la partizione Π = [{S1, S3, S5}, {S2, S6}, {S4}]. Sintesi di reti sequenziali 46
Minimizzazione della tabella degli stati (11/11) Pertanto l automa minimo equivalente avrà 3 stati e sarà del tipo: Sintesi di reti sequenziali 47