Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
()
1 / 44
()
2 / 44
Sommario
Introduzione
Passi nel progetto di un sistema digitale basato su macchine a stati niti di tipo sincrono:
1
2 3 4
traduzione delle speciche informali in speciche formali (STG o tabella) ottimizzazione della descrizione formale scelta della codica dello stato realizzazione della rete combinatoria che realizza le funzioni di uscita e stato futuro, dimensionamento del segnale di clock
()
Sintesi di FSM
3 / 44
()
Sintesi di FSM
4 / 44
la parte pi difcile in quanto, partendo da un modello informale, non esiste un approccio sistematico Si forniscono quindi solo una serie di suggerimenti per aiutare il progettista, il pi importante dei quali riguarda la corretta identicazione delle informazioni che lo stato deve contenere al ne di poter calcolare luscita Questo passo consente di evitare lerrore pi diffuso ovvero il considerare diverse sequenze di ingressi aggiungendo di volta in volta stati inutili
In alcuni casi si pu identicare una condizione di funzionamento di riposo indipendente dalla storia precedente del sistema In altri casi possono esistere pi condizioni di funzionamento che dipendono in maniera molto semplice dalla storia del sistema Se ci si trova in difcolt, si pu cercare di identicare una possibile storia del sistema che porta univocamente a una qualsiasi condizione di funzionamento
()
5 / 44
()
6 / 44
Sequenza principale
In molti casi, come quello degli automi che riconoscono sequenze di simboli, si pu identicare una sequenza principale di stati che portano al riconoscimento di tale simbolo In questi casi si pu focalizzare lattenzione su tale sequenza completando poi in seguito lautoma In alcuni casi si arriva alla sequenza principale tramite una sequenza di attivazione
()
Sintesi di FSM
7 / 44
()
Sintesi di FSM
8 / 44
Regole
Sommario
Alcune regole che portano alla realizzazione di reti sincrone correttamente funzionanti Non devono comparire stati non raggiungibili Non devono comparire stati assorbenti
3 2
()
Sintesi di FSM
9 / 44
()
Sintesi di FSM
10 / 44
Automa minimo
Si visto che nel progetto di una FSM possono comparire alcuni stati ridondanti In particolare, alcuni sottoinsiemi di stati possono riassumere la stessa storia passata del sistema Quindi, per ogni sequenza di ingresso, levoluzione dello stato e le uscite della FSM a partire da tali stati sono le stesse Nei passi seguenti si vedr che il numero di stati si riette sul numero di FF da utilizzare e sulla complessit della rete combinatoria che realizza e , converr sostituire ciascuno di tali sottoinsiemi di stati con un un singolo stato Si pu arrivare a un automa minimo
Relazione di indistinguibilit
Consideriamo FSM completamente specicate Due stati i e j si dicono indistinguibili se per ogni sequenza di ingresso, le uscite della FSM a partire dallo stato iniziale i sono uguali a quelle ottenute partendo dallo stato iniziale j Tali stati sono allora sostituibili da uno stato ottenendo un automa equivalente a quello di partenza e con un minor numero di stati Si noti che immediato vericare che tale relazione (R) riessiva (i , j ) R, simmetrica (se (i , j ) R, allora (j , i ) R) e transitiva ((i , j ) R (j , k ) R (i , k ) R)
()
Sintesi di FSM
11 / 44
()
Sintesi di FSM
12 / 44
Si pu utilizzare una denizione equivalente alla precedente che individua alcuni aspetti utili Due stati i e j sono indistinguibili se per ogni congurazione di ingresso , luscita la stessa (i , ) = (j , ) e gli stati futuri (i , ) e (j , ) sono indistinguibili Questa denizione non suggerisce ancora un metodo pratico, ma fornisce le condizioni sufcienti per individuare direttamente sulla tabella di transizione dello stato:
Coppie di stati distinguibili: esiste un simbolo di ingresso per cui viene prodotta un uscita diversa Coppie di stati indistinguibili: le righe della tabella sono uguali
()
Sintesi di FSM
14 / 44
Tabella triangolare
Esempio di tabella triangolare (o delle implicazioni) per un automa con 8 stati
B C D E F G H A B C D E F G
()
Sintesi di FSM
16 / 44
Si analizzano sulla tabella di transizione dello stato tutte le possibili coppie di stati tracciando le condizioni identicate dalla negazione della seconda denizione di indistinguibilit, la quale pu essere ridenita in maniera induttiva:
1
due stati sono distinguibili se esiste un simbolo di ingresso per cui producono uscite diverse o se hanno transizioni verso stati distinguibili
Se esiste un simbolo di ingresso per cui i due stati in esame differiscono per il simbolo di uscita, gli stati sono 1-distinguibili e la casella corrispondente nella t.t. viene annotata con il simbolo Se le righe sono uguali, la casella corrispondente nella t.t. viene annotata con il simbolo o lasciando vuota la casella Se si hanno le stesse uscite, ma transizioni verso stati futuri diversi per uno o pi simboli di ingresso, tali stati vengono annotati nella casella della t.t. (questa operazione non va fatta se gli stati futuri sono uguali a quelli presenti)
()
Sintesi di FSM
17 / 44
()
Sintesi di FSM
18 / 44
Per ogni casella contenente il simbolo si verica se tale coppia di stati compare in unaltra casella come condizione sugli stati futuri, in tale caso questultima casella viene barrata con Questo processo viene ripetuto (dopo il primo passo vengono considerati solo i nuovi simboli ) no a quando non si hanno pi nuove condizioni di distinguibilit
Alla ne, le caselle in cui non compare il simbolo corrispondono a stati indistinguibili A ogni iterazione, si individuano coppie di stati 2 -distinguibili, 3 -distinguibili ....
() Sintesi di FSM 6th June 2007 19 / 44
Esempio
0 1 E,0 A,1 A,0 B,0 G,1 A,1 H,0 D,1 1 Coppie di stati indistinguibili
Si costruisce il grafo delle equivalenze Si individuano le componenti completamente connesse e si associa un nuovo stato a ciascuna di esse Si costruisce la tabella di transizione dello stato del nuovo automa:
utilizzando i simboli dei nuovi stati e di quelli non inclusi come in alcuna classe come insieme degli stati per ognuno dei nuovi stati si utilizzano le transizioni di stato e le uscite di uno qualsiasi degli stati di partenza contenuti nella classe massima corrispondente sostituendo i simboli dei nuovi stati ovunque compaia uno dei vecchi stati contenuti nella classe massima corrispondente
A B C D E F G H
B C D E F G H A
EH AD BH BE AG
GD
Grafo di equivalenza
={ A,D,G } ={B,E,H }
C F
,0 , 1
C,1 F,0
, 0 ,1 ,0 ,0
tabella ridotta
()
Sintesi di FSM
21 / 44
()
Sintesi di FSM
22 / 44
Alternativa
Esempio (alternativa)
0 1 E,0 A,1 A,0 B,0 G,1 A,1 H,0 D,1 1 stato classi di indistinguibilit
Si pu fare a meno di disegnare il grafo delle equivalenze Si parte dalla casella di destra della tabella triangolare e ci si muove verso sinistra e si crea una classe di indistiguibilit contenente lo stato corrispondente a quella colonna e tutti quelli da esso indistinguibili Se la nuova classe ne contiene una delle precedenti, questultima viene eliminata Si associa un nuovo stato a ciascuna delle classi cos ottenute e si aggiungono gli stati non contenuti in alcuna classe
A B C D E F G H
B C D E F G H A
EH AD BH GD BE AG G F E D C B {B,E,H}= {A,D,G}= {E,H} {D,G}
={ A,D,G } ={B,E,H }
C F
,0 , 1
C,1 F,0
, 0 ,1 ,0 ,0
tabella ridotta
()
Sintesi di FSM
23 / 44
()
Sintesi di FSM
24 / 44
Automa minimo
Esempio - 2
Lautoma ottenuto con il procedimento indicato minimo. Ovvero non esiste alcun automa con un numero inferiore di stati che sia equivalente a quello di partenza Nel caso lautoma di partenza sia di dimensioni medio grandi (anche alcune migliaia di stati) si utilizzano opportuni strumenti CAD
A B C D E F G H
passo 1
B C D E F G H A
CH AD BH CB
()
Sintesi di FSM
25 / 44
()
Sintesi di FSM
26 / 44
Sommario
Si potrebbe semplicemente pensare di sostituire la condizione per cui le uscite devono risultare uguali per ogni sequenza, con una condizione in cui le uscite devono risultare uguali quando specicate In realt quando sono presenti condzioni di indifferenza sullo stato futuro, non ha senso pensare di applicare una "qualsiasi sequenza di ingresso" La sequenza deve essere "applicabile", ovvero deve consentire di determinare lo stato futuro per ogni simbolo di ingresso (ad eccezione dellultimo)
()
Sintesi di FSM
27 / 44
()
Sintesi di FSM
28 / 44
Relazione di compatibilit
Due stati i e j si dicono compatibili se per ogni sequenza di ingresso applicabile, le uscite della FSM a partire dallo stato iniziale i sono uguali quando specicate a quelle ottenute partendo dallo stato iniziale j Tali stati sono allora sostituibili da uno stato ottenendo un automa equivalente a quello di partenza e con un minor numero di stati Si noti che immediato vericare che tale relazione (Q) riessiva (i , j ) Q e simmetrica (se (i , j ) Q, allora (j , i ) Q) Si vedr che non transitiva
Propriet transitiva
Si osserva che i compatibile con j , che j compatibile con k Poich Q non quindi una relazione di equivalenza, non induce un partizionamento su S
()
Sintesi di FSM
29 / 44
()
Sintesi di FSM
30 / 44
Si pu utilizzare una denizione equivalente alla precedente Due stati i e j sono compatibili se per ogni congurazione di ingresso , luscita la stessa (i , ) = (j , ) quando specicata in entrambi gli stati, e gli stati futuri (i , ) e (j , ) sono compatibili Negando tale condizione si ritrova la denizione di stati distinguibili di Paull e Unger (in questo caso si pu anche dire "non compatibili"):
due stati sono distinguibili se esiste un simbolo di ingresso per cui producono uscite diverse quando sono entrambe specicate o se hanno transizioni verso stati distinguibili (se entrambi specicati)
La denizione precedente consente di applicare quanto gi visto per il calcolo delle coppie di stati indistinguibili al caso di automi completamente specicati Una volta individuate le coppie di stati compatibili, si pu costruire un grafo di compatibilit I sottogra completamente connessi di tale grafo corrispondono a classi massime di compatibilit A causa dellassenza della propriet transitiva, tali sottogra non sono disgiunti
()
Sintesi di FSM
31 / 44
()
Sintesi di FSM
32 / 44
Esempio
Metodo alternativo
Si parte dalla colonna pi a destra della t.t. e ci muove verso sinistra no a trovare una colonna con caselle non sbarrate e si creano tutte le coppie di stati compatibili Ci si sposta verso sinistra no ad individuare una nuova colonna con caselle non sbarrate
se lo stato corrispondente alla colonna compatibile con tutti gli elementi di una classe gi elencata lo si aggiunge a tale classe (che alla ne del processo dovr essere cancellata) se lo stato corrispondente alla colonna compatibile con un sottoinsieme di una classe gi elencata si crea una nuova classe contenente il nuovo stato e tale sottoinsieme si formano tutte le coppie di stati compatibili contenenti lo stato in esame e uno stato ad esso compatibile che non contenuto in alcuna classe determinata precedentemente
() Sintesi di FSM 6th June 2007 34 / 44
00 A B C D E F
01
11
10
A,0 , , B,0 E, , C,0 B,0 , D,0 C,0 , A,0 D,0 , , E, F, , , A,0 F,1 , ,
B C D E F
AE
AE DF AE AE DF AE
grafo di compatibilit
E A B C A B
coppie di stati compatibili: {AB}, {AC}, {AD}, {AE], {AF}, [BC}, {BD}, {BE}, [BF}, {CD}, {EF}
Metodo alternativo
Esempio
Il punto precedente va riapplicato no a raggiungere la prima colonna Alla ne si cancellano tutte le classi contenute in altre classi e si aggiungono gli stati non contenuti in alcuna classe
00 A B C D E F
01
11
10
A,0 , , B,0 E, , C,0 B,0 , D,0 C,0 , A,0 D,0 , , E, F, , , A,0 F,1 , ,
B C D E F
AE
stato
stati compatibili
AE AE DF DF AE AE
E D C B A
F D C,D,E,F A,B,C,D,E,F
()
Sintesi di FSM
35 / 44
()
Sintesi di FSM
36 / 44
Lautoma costruito con le classi massime di compatibilit non ha alcuna garanzia di essere minimo e addirittura potrebbe avere pi stati di quello di partenza Pu comunque essere ottenuto con un procedimento piuttosto semplice La sua costruzione simile a quella dellautoma con le classi massime di indistinguibilit
si associa un nuovo stato i a ciascuna classe massima di compatibilit (Gi ) (chiaramente bisogna tenere in conto anche degli stati non contenuti in alcuna classe) per uno stato i e ingresso , si esaminano tutti gli stati futuri k = (j , ) j Gi associati (nella tabella di partenza) agli stati contenuti in Gi (sia (i , ) tale insieme) e si individua una classe Gk che li contenga tutti, si inserisce il nuovo stato k associato a tale classe come stato futuro come uscita, si inserisce il valore specicato (se esiste) ) associato agli stati contenuti in (i , ) con ingresso , se hanno tutti un indifferenza si mette invece tale simbolo
()
Sintesi di FSM
37 / 44
()
Sintesi di FSM
38 / 44
Esempio
Il nuovo stato , ha (, 00) = {A, E } , (, 01) = {D } , (, 11) = {C } e (, 10) = {B } (in questultimo caso si pu scegliere fra i due stati)
00 A B C D E F 01 11 10
A,0 , , B,0 E, , C,0 B,0 , D,0 C,0 , A,0 D,0 , , E, F, , , A,0 F,1 , , 00 01 11 10
Non detto che le classi massime di compatibilit diano luogo allautoma minimo che va quindi cercato nellinsieme contenente tutti le possibili collezioni di classi di compatibilit Per dare luogo ad un automa compatibile con quello di partenza una possibile collezione di classi (non necessariamente massime) deve soddisfare le seguenti condizioni:
Copertura: ciascuno stato dellautoma di partenza deve essere contenuto in almeno una classe di quello nale Chiusura: per ogni stato rappresentativo di una classe ed ingresso deve esistere una classe Gi che contenga tutti gli stati futuri individuati dagli stati contenuti in Gi (i , Gj | (i , ) Gj )
= {A,B,C,D} = {A,B,E,F}
,0 ,0 ,0 /,0 ,0 ,1 ,0 /,0
()
Sintesi di FSM
39 / 44
()
Sintesi di FSM
40 / 44
Esempio
Esempio
00 A B C D E
01
11
10
B,0 , C, B,0 C,0 E,1 B,0 , C,0 D,1 , E,0 , A,1 B, , , , A,1 ,
B C D E
BC BC DE BE
DF
BC AE AD AC AB
E
grafo di compatibilit
= {A, B } = {A, D } = {B , C } = {C , D , E }
componenti completamente connesse classi massime di compatibilit: {CDE}, {AB}, {AD}, {BC}
() Sintesi di FSM 6th June 2007 41 / 44 () Sintesi di FSM 6th June 2007 42 / 44
Esempio
Sipotrebbe pensare di coprire tutti gli stati utilizzando solo e 00 = {A, B } = {C , D , E }
violazione B , C
Esempio
Dallesempio precedente si nota che la prima violazione della condizione di chiusura data dall insieme di stati {B , C }, quindi si pu pensare di reintrodurre . Questo per non elimina la violazione data da {A, D }. Invece di reintrodurre , si pu notare che non pi necessario che contenga C che gi coperto da
01 , 1
violazione A, D
11
violazione B , C
, 0
, 1
10 , 0 , 0
Si hanno diverse violazioni sulla condizione di chiusura, ad esempio se sk = e = 00 nellautoma originario si avevano transizioni A B e B C e quindi (, 00) = {B , C }, ma tale insieme non contenuto in alcuna classe Supponiamo di partire da e di applicare la sequenza 00, 11 se avessi usato (come stato futuro) avrei prodotto in uscita 0, 0, mentre se usavo avrei prodotto 0, 1
() Sintesi di FSM 6th June 2007 43 / 44
= {A, B } = {B , C } = {D , E }
00 , 0 , 0 ,
01 , 1 , 0 , 1
11 , 0 /, 0 , 1
10 /, 0 , 0 ,
La nuova copertura ha meno stati di quella che utilizza le classi massime di compatibilit e utilizza una classe che non massima.
()
Sintesi di FSM
44 / 44
Sommario
Nel caso di automi completamente specicati esiste un metodo che consente di arrivare alla tabella minima Nel caso di automi non completamente specicati il metodo delle classi massime di compatibit non garantisce di arrivare a un automa minimo Esistono metodi euristici implementati in strumenti CAD che sono in grado di gestire tale caso Nel compito potr comunque essere richiesta la verica delle condizioni di chiusura per una tabella iniziale e una collezione di classi di compatibilit
()
Sintesi di FSM
45 / 44