Sei sulla pagina 1di 17

Minimizzazione degli Stati in una Rete Sequenziale Sincrona

Maurizio Palesi

Maurizio Palesi

Sintesi di Reti Sequenziali Sincrone


Il procedimento generale di sintesi si svolge nei seguenti passi:
1. Realizzazione del diagramma degli stati a partire dalle specifiche del problema 2. Costruzione della tabella degli stati 3. Minimizzazione del numero degli stati 4. Codifica degli stati interni 5. Costruzione della tabella delle transizioni 6. Scelta degli elementi di memoria 7. Costruzione della tabella delle eccitazioni 8. Sintesi sia della rete combinatoria che realizza la funzione stato prossimo sia di quella che realizza la funzione duscita

Maurizio Palesi

Motivazioni
Il numero minimo di elementi di memoria necessari a memorizzare gli stati dellinsieme S Nmin = log2 |S| Nel modello di una macchina a stati possono esistere degli stati ridondanti Lidentificazione ed eliminazione degli stati ridondanti comporta
Reti combinatorie meno costose Minori elementi di memoria
Macchina a 8 stati, 1 ingresso, 1 uscita Macchina a 4 stati, 1 ingresso, 1 uscita

Funzioni , Eliminando 4 stati Maurizio Palesi

Funzioni 1, 1

Obiettivi
Obiettivo della riduzione del numero degli stati lindividuazione di una macchina minima equivalente, ovvero funzionalmente equivalente e con il minimo numero di stati La riduzione viene realizzata in due fasi
Eliminazione degli stati non raggiungibili dallo stato iniziale Identificazione degli stati
Equivalenti, per le macchine completamente specificate Compatibili, per le macchine non completamente specificate

Maurizio Palesi

Stati Irraggiungibili
Uno stato irraggiungibile se non esiste alcuna sequenza di transizione di stato che porti dallo stato iniziale in tale stato
Transizione di Reset

I B D

A C

I B C

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Definizioni

Siano:
I una sequenza d ingresso {ij, , ik} U, sequenza duscita ad essa associata ottenuta attraverso si, sj due generici stati

Due stati si e sj appartenenti ad S sono indistinguibili se U,i=L(si, I) = L(sj, I) = U,j I Cio se per qualsiasi sequenza di ingresso le uscite generate partendo da si o da sj sono le stesse Lindistinguibilit tra si e sj si indica con si ~ sj La relazione di indistinguibilit gode di tre propriet
Riflessiva: Simmetrica: Transitiva:
Maurizio Palesi

si ~ si si ~ sj sj ~ si si ~ sj sj ~ sk si ~ sk
6

Minimizzazione di Macchine Completamente Specificate


Classi di Stati Equivalenti Due stati indistinguibili sono equivalenti e possono essere sostituiti da un solo stato Un gruppo di stati tra loro equivalenti pu essere raggruppato in ununica classe Linsieme di classi individuate determina linsieme di stati della macchina minima equivalente A~B; D~E

A C D

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger Paull-

La definizione di indistinguibilit di difficile applicabilit poich richiederebbe di considerare tutte le sequenze di ingresso Regola di Paull-Unger
Due stati sono si e sj sono indistinguibili se e solo se
(si,i) = (sj,i) i I ovvero le uscite sono uguali per tutti i simboli dingresso (si,i) = (sj,i) i I ovvero gli stati prossimi sono indistinguibili per tutti i simboli dingresso

La regola iterativa

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger - Esempio Paull0 d/0 e/0 a/1 b/1 a/1 1 b/1 b/1 c/1 c/0 c/0

a b c d e

a e b hanno la stessa uscita se gli stati futuri d ed e sono indistinguibili, a ~ b d ed e hanno la stessa uscita se gli stati futuri a ed b sono indistinguibili, d ~ e a non indistinguibile da c,d ed e poich ha una differente uscita

Macchina minima equivalente 0 /0 /1 /1 1 /1 /1 /0

Poich lindistinguibilit tra a e b dipende da quella tra d ed e e viceversa, possiamo concludere che a ~ b, d~e

={a, b}, ={c}, ={d, e}

Le classi di indistinguibilit sono:

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger Paull-

Poich gli insiemi I ed S hanno cardinalit finita, dopo un numero finito di passi si verifica una delle due condizioni:
si~sj se i simboli duscita sono diversi o gli stati prossimi sono distinguibili si~sj se i simboli duscita sono uguali e gli stati prossimi sono indistinguibili

Maurizio Palesi

10

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger - Tabella delle Implicazioni Paull-

Le relazioni di indistinguibilit possono essere identificate mediante la Tabella delle Implicazioni


Mette in relazione ogni coppia di stati triangolare (propriet simmetrica) e priva di diagonale principale

Ogni elemento della tabella contiene


Il simbolo di non equivalenza (X) o di equivalenza (~) La coppia di stati a cui si rimanda la verifica, se non possibile pronunciarsi sulla equivalenza degli stati corrispondenti S1 S2 S3 x x S1,S2 S0

~ x S1

x S2
11

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger - Tabella delle Implicazioni Paull-

Per ogni coppia di stati


Se marcata come equivalente non richiesta una ulteriore verifica Se si rimanda ad unaltra coppia
Se questi stati sono equivalenti anche gli stati della coppia in esame sono equivalenti Se questi sono non equivalenti anche gli stati della coppia in esame sono non equivalenti Se gli stati della coppia cui si rimanda dipendono da una coppia ulteriore si ripete il procedimento in modo iterativo

Lanalisi termina quando non sono pi possibili eliminazioni Le coppie rimaste sono equivalenti
Maurizio Palesi 12

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger - Tabella delle Implicazioni Paull-

0 a b c d e f g

1 b c d e f g

g/0 e/1 c/0 a/1 e/1 g/0 b/0 e/1 g/0 a/1 d/1 f/0 a/1 g/0

cg ae x bg ~ x x a

x bc ae cg x x b x bg ae de x fg ae x x c d

x x e ad f
13

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger - Tabella delle Implicazioni PaullAnalisi delle coppie degli stati Analisi delle coppie degli stati b-a: c-g indistinguibile se lo a-e b~a b-a: c-g indistinguibile se lo a-e b~a

b c d e f g

cg ae x bg ~ x x a

x bc ae cg x x b x bg ae de x fg ae x x c d

d-a: b-g distinguibile d~a d-a: b-g distinguibile d~a d-b: b-c distinguibile d~b d-b: b-c distinguibile d~b e-b: c-g indistinguibile se lo a-e b~e e-b: c-g indistinguibile se lo a-e b~e e-d: b-g distinguibile e~d e-d: b-g distinguibile e~d f-c: d-e indistinguibile se lo b-g f~c f-c: d-e indistinguibile se lo b-g f~c g-c: a-e indistinguibile g~c g-c: a-e indistinguibile g~c

x x e

g-f: a-d indistinguibile se lo b-g g~f g-f: a-d indistinguibile se lo b-g g~f

ad f
14

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger - Tabella delle Implicazioni PaullClassi di indistinguibilit = {a,b,e} = {c,g} = {d} = {f}

b c d e f g

~ x x ~ x x a x x ~ x x b x x x ~ c x x x d x x e x f

Tabella degli stati minima equivalente

0 1 /0 /1 /1 /0 /0 /1 /1 /0
15

Maurizio Palesi

Minimizzazione di Macchine Completamente Specificate


Regola di Paull-Unger - Osservazioni Paull-

Per le FSM completamete specificate lalgoritmo di Paull-Unger Consente di identificare in maniera esatta la FSM minima equivalente
La partizione di equivalenza unica (ogni stato appartiene ad una ed una sola classe)

Ha una complessit esponenziale con il numero di stati

Maurizio Palesi

16

Macchine non completamente specificate


Definizioni

Sono macchine in cui per alcune configurazioni degli ingressi e stati correnti non sono specificati gli stati futuri e/o le configurazioni duscita Due stati si e sj si dicono compatibili (si sj)
Se, assunti come stati iniziali, per ogni possibile sequenza di ingresso (grande a piacere) danno luogo a sequenze di simboli duscita identici a meno di condizioni di indifferenza

Maurizio Palesi

17

Macchine non completamente specificate


Regola di Paull-Unger Estesa Paull-

La compatibilit una relazione meno forte di quella di indistinguibilit, non vale la propriet transitiva
0 1 A C/1 A/B C/- A/1 C C/0 A/-

AB; BC ma A C

La regola di Paull-Unger stata estesa per trattare il caso di macchine non completamente specificate Due stati si e sj sono compatibili se e solo se
(si,i) = (sj,i) i I ovunque sono entrambi specificati (si,i) (sj,i) i I ovunque sono entrambi specificati

La suddetta definizione ricorsiva


Maurizio Palesi 18

Macchine non completamente specificate


Tabella delle Implicazioni

Le relazioni di compatibilit possono essere identificate mediante la Tabella delle Implicazioni Ogni elemento della tabella contiene:
X se in almeno una colonna vi sono uscite diverse (stati incompatibili) SiSj se le uscite sono tutte uguali ma i nomi degli stati futuri (Si, Sj) sono diversi e non coincidono con quelli della coppia di stati in esame Altrimenti (stati compatibili)

Maurizio Palesi

19

Macchine non completamente specificate


Tabella delle Implicazioni

0 1 a e/0 a/0 b d/0 b/0 c e/c/-

b de c d x de x ad b ae ac ae bc c

Vincoli a b se d e a e se a b b c se d e b e se a d b e c d se a e, a c c e se a e, b c d e se a b

d a/1 a/1 e a/b/-

e ab a

ab d

Maurizio Palesi

20

10

Macchine non completamente specificate


Grafo di Compatibilit

Grafo di Compatibilit (GdC)


I nodi corrispondono agli stati Due nodi ni e nj sono tra loro collegati se gli stati ad essi associati sono compatibili o la loro compatibilit dipende dalla compatibilit del loro stato prossimo Per ogni arco devono essere riportati i vincoli sulla compatibilit degli stati prossimi
b c d e de x ab a
Maurizio Palesi

a ab de x x b ae ac ae ab bc c d e ab d ae bc ae ac c de b de

21

Macchine non completamente specificate


Definizioni

Classe di compatibilit (CC)


Un insieme di stati compatibili tra loro a coppie Sul GdC rappresentata da un poligono completo Le classi di compatibilit tra stati non sono necessariamente disgiunte
a ab e ab d ae bc de b de c

ae ac

a,b,c a,c,e c,d,e a,b c,e

Sono tutti esempi di classi di compatibilit

Maurizio Palesi

22

11

Macchine non completamente specificate


Definizioni

Classe di massima compatibilit (CMC)


Classe di compatibilit non contenuta in nessun altre classe Sul GdC individuata da un poligono completo non contenuto in nessun altro
a ab e ab d ae bc de b de c
23

{a,b,c}: una CMC {a,c,e}: una CMC {c,d,e}: una CMC

ae ac

Maurizio Palesi

Macchine non completamente specificate


Definizioni

Insieme chiuso di classi di compatibilit


Insieme di classi di compatibilit i cui vincoli siano contenuti in almeno una classe dellinsieme. Ci garantisce che tutti i vincoli sono rispettati
a e ab d bc de c c de b e ab d bc ac de c c a de b

ae

E un insieme chiuso di CC perch tutti i Non un insieme chiuso di CC perch il vincolo ae non contenuto in nessuna CC vincoli sono contenuti in almeno una CC
Maurizio Palesi 24

12

Macchine non completamente specificate


Definizioni

Copertura della tabella degli stati


Insieme di CC per cui ogni stato della tabella degli stati contenuto in almeno una CC
a ab e ab d ae bc de

{ {a,b,c},{a,c,e},{c,d,e} } { {a,b},{b,c},{a,c,e,},{c,d,e} }
b

Sono tutti esempi di copertura

ae ac

de c

Maurizio Palesi

25

Macchine non completamente specificate


Minimizzazione del Numero di Stati

Minimizzare il numero degli stati significa


Trovare il pi piccolo insieme chiuso di classi di compatibilit che copre linsieme di stati su cui la macchina definita

Linsieme di tutte le classi di massima compatibilit chiuso e copre linsieme degli stati della macchina Se si associa uno stato ad ogni classe di massima compatibilit si ottiene una nuova macchina con un numero di stati
Possibilmente minore di quello di partenza Non necessariamente minimo

Maurizio Palesi

26

13

Ricerca delle Classi di Massima Compatibilit

Macchine non completamente specificate


a ab e ab d ae bc ae ac c de b de d e ab ae ac e a ab ae bc c c a de b de c

Una copertura ammissibile data dallinsieme delle classi di massima compatibilit:


={a,b,c} ={a,c,e} ={c,d,e}

Tale copertura non minima Le classi di questa copertura condividono diversi stati
Maurizio Palesi 27

Uneuristica per la ricerca della copertura minima 1. Inizializzare una lista L1 vuota 2. Finch il grafo non vuoto:

Macchine non completamente specificate

a. Individuare e ordinare le classi di massima compatibilit presenti sul grafo per dimensione b. Individuare la classe di compatibilit massima di dimensione massima presente sul grafo c. Inserire nella lista L1 tutti i vincoli presenti nella classe di compatibilit considerata d. Eliminare dalla lista L1 e dal grafo i vincoli soddisfatti dalla classe considerata e. Eliminare dal grafo tutti i nodi (ed i relativi archi) appartenenti alla classe di compatibilit considerata che non appartengono a nessun vincolo presente nella lista L1 e/o nel grafo

3. Le classi cos individuate formano una partizione di compatibilit (insieme di classi di compatibilit chiuso)
Maurizio Palesi 28

14

Uneuristica per la ricerca della copertura minima


Grafo di partenza Passo 1 a ab e ab d ae bc ae ac c d de b de Passo 1 a) abc, ace, cde b) abc c) L1={de} d) L1={de} e) e

Macchine non completamente specificate

a ab e ab d ae bc ae ac c de b de

Maurizio Palesi

29

Uneuristica per la ricerca della copertura minima


Grafo di partenza Passo 2 e Passo 2 a) de b) de c) L1={de} d) L1={} e) grafo vuoto

Macchine non completamente specificate

d Copertura individuata: {abc, ed} Tabella degli stati iniziale 0 1 a e/0 a/0 b d/0 b/0 c e/- c/d a/1 a/1 e a/- b/Maurizio Palesi

Classi compatibilit che coprono tutti gli stati e che formano un insieme chiuso = {a,b,c} = {d,e}

Tabella degli stati ridotta 0 1 /0 /0 /1 /1

30

15

Macchine non completamente specificate


Esempio
Grafo di partenza Passo 1 B A
CD CD AB CD

Passo 1 a) CDE, BEF, AB, AD b) CDE c) L1={AB, CD} A d) L1={AB}

B C
CD AB

CD

CD

F
AB

D E e) A B

F
AB

D E

F
Maurizio Palesi 31

Macchine non completamente specificate


Esempio
Grafo di partenza Passo 2 B A Passo 2 a) BF, AB b) BF c) L1={AB} d) L1={AB} A F F e) B A

Maurizio Palesi

32

16

Macchine non completamente specificate


Esempio
Grafo di partenza Passo 3 B A Passo 3 a) AB b) AB c) L1={AB} d) L1={} B A

e)

Grafo vuoto

Copertura individuata: {cde, bf, ab}

Maurizio Palesi

33

17