Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica
Laboratorio di Microelettronica e Bioingegneria (EOLAB)
Macchine a stati finiti sincrone
Modulo 6
A.A. 2013/2014 Elettronica M. Barbaro
Macchine a stati finiti
Dall’esempio del telecomando si può dedurre che, per conoscere l’uscita di una rete sequenziale, non è sempre necessario conoscere l’intera sequenza di tutti gli ingressi passati
In genere, tutta la sequenza passata può essere riassunta in uno stato interno che contiene tutte le informazioni necessarie riguardo gli ingressi passati che consentono di determinare univocamente la nuova uscita in funzione dei nuovi ingressi
Nel caso del telecomando tale stato interno è semplicemente il canale che si sta guardando attualmente: basta conoscere tale informazione per sapere quale canale sintonizzare dopo la pressione del tasto Avanti o Indietro
A.A. 2013/2014 Elettronica M. Barbaro
Macchine a stati finiti
Lo stato è definito da un insieme di variabili di stato
che sono tutte e sole le informazioni necessarie per
tenere conto degli ingressi passati
Ad esempio, per il telecomando, le variabili di stato
saranno i bit necessari per codificare il canale (se ho
100 canali sono necessari 7 bit)
Il numero di stati è necessariamente finito, dato che lo
stato, in un sistema digitale, deve essere codificato con
N bit che danno luogo a 2N possibili diverse
combinazioni
Per tale motivo si parla di Macchine a Stati Finiti (FSM :
Finite State Machine)
A.A. 2013/2014 Elettronica M. Barbaro
FSM sincrone
In una macchina a stati sincrona si passa da uno stato all’altro solo in corrispondenza di un segnale di sincronismo fornito da un segnale di clock
Ad ogni colpo di clock (clock tick) vengono valutati i nuovi ingressi e si decidono le nuove uscite in funzione dello stato attuale (present-state o current-state) della macchina. Contemporaneamente viene valutato il nuovo stato che la macchina dovrà assumere (next-state) per aggiornare la storia degli ingressi col nuovo ingresso
Nel telecomando, ad ogni colpo di clock si verifica se è premuto il tasto Avanti o Indietro ed in tal caso bisogna risintonizzare il televisore sul nuovo canale (uscita) e contemporaneamente memorizzare come canale attuale il nuovo visualizzato (next-state)
A.A. 2013/2014 Elettronica M. Barbaro
Struttura di una macchina a stati
Il funzionamento descritto precedentemente può essere
realizzato con una struttura composta da:
Una logica di aggiornamento dello stato, ossia una rete
combinatoria che consente di calcolare il nuovo stato in
funzione degli ingressi attuali e dello stato attuale
Una logica di generazione delle uscite, ossia una rete
combinatoria che consente di calcolare le nuove uscite in
funzione degli ingressi attuali e dello stato attuale (macchina di
Mealy) oppure del solo stato interno (macchina di Moore)
Degli elementi di memoria per la memorizzazione dello stato
attuale, tali elementi di memoria sono costituiti da flip-flop
perché si vuole che lo stato cambi in modo sincrono con il
clock
A.A. 2013/2014 Elettronica M. Barbaro
Macchine di Mealy
F Next-State
Logic
State
Memory
G Output
Logic
inputs
outputs
clock
excitation
current-state
Lo schema generico di una macchina a stati finiti di Mealy:
F: logica combinatoria per la generazione dello stato successivo (dipende dallo
stato presente e dagli ingressi)
G: logica combinatoria per la generazione delle uscite (dipende dallo stato
presente e dagli ingressi)
A.A. 2013/2014 Elettronica M. Barbaro
Macchine di Moore
F Next-State
Logic
State
Memory
G Output
Logic
inputs
outputs
clock
excitation
current-state
Lo schema generico di una macchina a stati finiti di Moore:
F: logica combinatoria per la generazione dello stato successivo (dipende dallo
stato presente e dagli ingressi)
G: logica combinatoria per la generazione delle uscite (dipende SOLO dalo stato
presente)
A.A. 2013/2014 Elettronica M. Barbaro
FSM di Mealy con uscite registrate
F
Next-State
Logic
G
Output
Logic
inputs outputs State
Memory
clock
current-state
Per fare in modo che le uscite cambino solo in predeterminati istanti di tempo, in
una macchina di Mealy si possono registrare le uscite, ossia aggiungere dei
registri (flop-flop). Tali registri si chiamano Output Pipeline Memory
Output
Pipeline
Memory
excitation
A.A. 2013/2014 Elettronica M. Barbaro
Macchine di Moore e Mealy
Il modello di Moore e quello di Mealy sono equivalenti, nel senso che è sempre possibile passare dalla descrizione di una macchina a stati in termini di Moore ad una equivalente in termini di Mealy (e viceversa)
L’equivalenza la si valuta dal punto di vista del comportamente complessivo della macchina, ossia dal fatto che per una stessa sequenza di ingressi genera una stessa sequenza di uscite
Internamente, anche essendo equivalenti, le due versioni potrebbero differire (ad esempio avere numero diverso di stati)
A.A. 2013/2014 Elettronica M. Barbaro
Macchine a stati: ANALISI
L’analisi di una generica macchina a stati finiti
parte dallo schematico del circuito descritto in
termini di porte logiche e flip-flop
Da tale schematico si ricavano una serie di
tabelle e rappresentazioni grafiche che
descrivono univocamente il comportamento
della macchina
Eseguendo la procedura al rovescio è possibile
sintetizzare la FSM desiderata
A.A. 2013/2014 Elettronica M. Barbaro
Macchine a stati: ANALISI
L’analisi prevede 3 passaggi
1) Determinazione della logica di aggiornamento
dello stato (F, next-state logic) e della logica di
generazione delle uscite (G, output logic)
2) Costruzione della Tabella degli Stati e delle
Uscite (State/output table) che specifica
univocamente il nuovo stato (next-state) e le uscite
per ogni possibile combinazione di ingressi e stato
attuale (current-state)
3) Disegno del Diagramma degli Stati (state
diagram)
A.A. 2013/2014 Elettronica M. Barbaro
Macchine a stati: ANALISI
Per determinare la logica di aggiornamento dello stato (F) è necessario ricordare le equazioni caratteristiche dei flip-flop.
Noi utilizzeremo principalmente macchine implementate con flip-flop D che hanno la più semplice equazione caratteristica: Q(t+1) = D
Alcuni testi usano un simbolismo leggermente diverso (più cmpatto) e rappresentano il nuovo stato assunto dal flip-flop con un asterisco, quindi: Q* = D
A.A. 2013/2014 Elettronica M. Barbaro
Determinazione di F
La determinazione della logica F di
aggiornamento si basa sull’uso delle equazioni
caratteristiche dei flip-flop e dall’ispezione del
circuito secondo i seguenti passaggi
1) Si identificano le equazioni algebriche che
determinano gli ingressi dei vari flip-flop ossia le
Excitation Equations
2) Applicando le equazioni caratteristiche dei flip-
flop si ricavano le espressioni algebriche che
determinano le nuove variabili di stato ossia le
Transition Equations
(Nel caso di flip-flop D, poiché Q*=D le equazioni di eccitazione e
di transizione coincidono)
A.A. 2013/2014 Elettronica M. Barbaro
Determinazione di G
Per determinare G basta identificare le
equazioni algebriche che determinano tutte le
uscite in funzione degli ingressi attuali e delle
variabili di stato
A.A. 2013/2014 Elettronica M. Barbaro
segnale
di clock
ANALISI: esempio
D Q
D Q
IN
clk
Q0
Q0’
Q1
Q1’
Z
input
output
State
variables F
G
State-memory
A.A. 2013/2014 Elettronica M. Barbaro
Esempio: identificazione di F
Per identificare F bisogna innanzitutto
determinare le equazioni di eccitazione
(excitation equations) ossia gli ingressi dei flip-
flop:
D0 = IN (Q0 + Q1)
D1 = IN Q0’
Quindi, conoscendo l’equazione caratteristica
dei flip-flop D (Q*=D), si ricavano le equazioni di
transizione (transition equations):
Q0* = IN (Q0+ Q1)
Q1* = IN Q0’
A.A. 2013/2014 Elettronica M. Barbaro
Esempio: identificazione di G
Analogamente si ricava G per ispezione grafica,
ricavando così l’equazione di uscita (output
equations):
Z = IN’ (Q0 + Q1)
A.A. 2013/2014 Elettronica M. Barbaro
Tabella delle transizioni
Per arrivare a definire la tabella
degli stati e delle uscite si
definisce prima di tutto la
tabella delle transizioni, ossia
una tabella che definisce, per
ogni combinazione di ingressi e
variabili di stato quali sono le
nuove variabili di stato (quindi
una rappresentazione tabellare
della F)
IN
Q1Q0 0 1
00 00 10
01 00 01
10 00 11
11 00 01
Q1*Q0*
Q0* = IN (Q0 + Q1)
Q1* = IN Q0’
Next-state
Current-state
Input
Transition Table
A.A. 2013/2014 Elettronica M. Barbaro
Tabella degli stati
Dalla tabella delle transizioni,
si ottiene la tabella degli stati
semplicemente assegnando un
nome simbolico (alfanumerico)
a ciascuna differente
combinazione delle variabili di
ingresso.
Ad esempio:
IN
S 0 1
A A C
B A B
C A D
D A B
S* 00 = A
01 = B
10 = C
11 = D State Table Nomi degli stati
(state names)
A.A. 2013/2014 Elettronica M. Barbaro
Tabella degli stati e delle uscite
IN
S 0 1
A A,0 C,0
B A,1 B,0
C A,1 D,0
D A,1 B,0
S*
Z = IN’ (Q0 + Q1)
Infine la tabella degli stati e
delle uscite si ricava dalla
tabella degli stati aggiungendo
le informazioni sulle uscite,
quindi per ogni combinazione di
stato attuale ed ingressi si
elenca sia lo stato successivo
che l’uscita (separati da
virgole).
La tabella degli stati e delle
uscite riassume TUTTE le
informazioni sul
comportamento della FSM (le
funzioni F e G) State/output Table
A.A. 2013/2014 Elettronica M. Barbaro
Diagramma degli stati
Il diagramma di stato è semplicemente una rappresentazione grafica della tabella degli stati e delle uscite
Ogni stato possibile viene rappresentato con un cerchio, il cerchio viene etichettato con il nome dello stato
I cerchi sono connessi da frecce che definiscono la transizione da uno stato all’altro causata da una particolare combinazione di ingressi
Le frecce sono etichettate con gli ingressi che causano la transizione
Se la macchina è di Mealy le uscite vengono rappresentate sulle frecce, affianco alla combinazione di ingresso (separate da slash)
Se la macchina è di Moore le uscite sono rappresentate dentro il cerchio perché le uscite dipendono solo dallo stato e non dagli ingressi
A.A. 2013/2014 Elettronica M. Barbaro
Diagramma degli stati
A
B
C
D
0/0
1/0
0/1
1/0
0/1
1/0 0/1
1/0
Se sono nello stato A e
l’ingresso IN è 1 avrò una
transizione verso A con
uscita pari a 0
Se sono nello stato
B e l’ingresso IN è 0
avrò una transizione
verso A con uscita
pari a 1
A.A. 2013/2014 Elettronica M. Barbaro
Diagramma degli stati
Quando il numero di ingressi cresce è scomodo disegnare una frecce per ogni combinazione di ingresso, anche perché spesso più di una combinazione di ingressi causa la stessa transizione
Perciò si ricorre ad una rappresentazione leggermente differente, etichettando le frecce con una espressione di transizione (transition expression) che risulta vera per tutte e sole le combinazioni di ingressi che causano quella particolare transizione
Le espressioni di transizione devono essere mutuamente esclusive ed esaustive ossia:
Non esistono due espressioni di transizione che sono contemporaneamente 1 per la stessa combinazione di ingressi (non possono esserci 2 stati successivi differenti per uno stesso stato di partenza ed uno stesso ingresso)
Per ogni possibile combinazione di ingresso una delle espressioni di transizione deve essere 1 (lo stato successivo deve essere sempre definito)
A.A. 2013/2014 Elettronica M. Barbaro
Esempio
D Q A B
clk
Z = Q
Come esercizio, provare ad analizzare la seguente
macchina a stati
A.A. 2013/2014 Elettronica M. Barbaro
Esempio: soluzione
Excitation Equations
D = (AB)Q
State Equations
Q* = (AB)Q
Output Equations
Z = Q (Moore)
State names
0 = S0
1 = S1
AB
S 00 01 10 11 Z
S0 S0 S1 S1 S0 0
S1 S1 S0 S0 S1 1
S*
S0 S1
01,10
01,10
00,11
00,11
A.A. 2013/2014 Elettronica M. Barbaro
Esempio: soluzione
S0/0 S1/1
A’B+AB’
AB+A’B’
In questo esempio gli ingressi sono 2 e possiamo quindi
etichettare le frecce (o archi) con le espressioni di
transizione.
AB+A’B’
A’B+AB’
In pratica l’espressione di transizione
corrisponde alla somma dei mintermini
che corrispondono alle combinazioni che
causano quella transizione
(eventualmente minimizzata)
A.A. 2013/2014 Elettronica M. Barbaro
ANALISI: riassunto
1) Determinare le equazioni di eccitazione dei flip-flop
2) Sostituire le equazioni di eccitazione nelle equazioni caratteristiche dei flip-flop per ottenere le equazioni di transizione
3) Usare le equazioni di transizione per costruire la tabella di transizione
4) Dare dei nomi alle combinazioni delle variabili di stato per ottenere la tabella degli stati
5) Determinare le equazioni delle uscite
6) Aggiungere i valori di uscita alla tabella degli stati per ogni stato (Moore) o per ogni combinazione stato/ingresso (Mealy) per ottenere la tabella degli stati e delle uscite
7) (Opzionale) Disegnare il diagramma degli stati
A.A. 2013/2014 Elettronica M. Barbaro
Macchine a stati: SINTESI
La SINTESI di una macchina a stati finiti si basa esattamente sullo stesso procedimento dell’analisi ma percorso al contrario, quindi: 1) (Opzionale) Si disegna una diagramma degli stati che
descrive il comportamento della macchina
2) Si definisce la tabella degli stati e delle uscite
3) (Opzionale) Si minimizza il numero di stati
4) Si assegna un codice binario a ciascuno stato
5) Sostituendo tale codice si ottiene la tabella delle transizioni e delle uscite
6) Si scelgono i flip-flop da usare
7) Si ricavano le equazioni di eccitazione per i flip-flop (F) minimizzando con le mappe di Karnaugh
8) Si ricavano le equazioni di uscita (G) minimizzando con le mappe di Karnaugh
9) Si disegna il diagramma logico (porte logiche e flip-flop)
A.A. 2013/2014 Elettronica M. Barbaro
Esempio
Progetto di una macchina a stati finiti con un ingresso A,
in grado di identificare quando, sull’ingresso A, si è
presentata una sequenza di 3 o più 1 consecutivi. Se la
condizione è verificata l’uscita è portata a 1, altrimenti a 0.
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: concezione del diagramma
Posso risolvere il problema così: 1) Inizio da uno stato S0 dove si suppone che sia arrivata uno
zero quindi la sequenza cercata non si è verificata
2) Se mi arriva A=1 mi sposto in uno stato S1 che mi dice che è arrivata una sequenza di un solo 1
3) Se arriva ancora A=1 mi sposto ad uno stato S2 che memorizza il fatto che è arrivata una sequenza di 2 uno consecutivi
4) Se arriva ancora A=1 mi sposto in uno stato S3 che indica l’arrivo della sequenza cercata quindi porto alta l’uscita. Se continua ad arrivare A=1 rimango in S3 perché sono interessato a sequenze di 3 o più 1 consecutivi
5) Da qualunque stato, l’arrivo di uno 0 interrompe la sequenza quindi mi riporta allo stato S0
Posso quindi implementare il circuito con una macchina a 4 stati (S0, S1, S2, S3, S4)
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: diagramma
S0/0
S3/1
S1/0
S2/0
0
1
0
1
0
1 0
1
Il diagramma che
descrive il
comportamento
della macchina è
questo.
Come si vede, l’arrivo di
uno 0 mi riporta sempre
allo stato S0 perché
interrompe la sequenza
di 1
L’arrivo di 3 uno
consecutivi mi fa
passare da S0 a S1, da
S1 a S2 e da S2 a S3
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: tabella di stati e uscite
A
S 0 1 Z
S0 S0 S1 0
S1 S0 S2 0
S2 S0 S3 0
S3 S0 S3 1
S*
Dal diagramma è facile
scrivere la tabella degli stati e
delle uscite.
Avrei potuto anche progettare
la macchina partendo
direttamente dalla tabella
anche se in genere è più
semplice concepire il
diagramma
Questa fase (concezione del diagramma o della tabella) è
la più CREATIVA e complessa e non esistono regole fisse
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: tabella delle transizioni
A
Q1Q0 0 1 Z
00 00 01 0
01 00 10 0
10 00 11 0
11 00 11 1
Q1*Q0*
Dalla tabella degli stati si
ottiene quella delle transizioni
semplicemente assegnano un
codice binario a ciascuno
stato e sostituendolo nella
tabella.
Da questo punto in poi la fase di progettazione si può
automatizzare perché richiede semplicemente l’identificazione
di F e G e la loro sintesi con mappe di Karnaugh
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: scelta dei flip-flop
La scelta più semplice, per i flip-flop, consiste
nell’usare il flip-flop D che hanno la più semplice
equazione caratteristica
Con i flip-flop D l’identificazione di F è
immediata a partire dalla tabella delle
transizioni:
Si crea un mappa di Karnaugh per ingresso D di flip-
flop, gli ingressi della mappa sono le variabili di
stato stesse e gli ingressi della macchina
Gli 1 e gli 0 della mappa di ciascun ingresso D si
ottengono dalla tabella delle transizioni perché
Q*=D
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: rete F
0 2 6 4
1 3 7 5
0 2 6 4
1 3 7 5
A
0
00 01 11 10
0
Q1Q0
00 01 11 10 Q1Q0
A
1
0 0 0
0 1
D0 = A(Q1 + Q0’)
D1 = A(Q1 + Q0)
Come si vede, basta identificare i
nuovi valori di ciascuna variabile
per ciascuna combinazione di
ingressi e stato
0
0
0 0 0 0
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: rete G
La sintesi della rete G è
assolutamente analoga.
In questo caso è
particolarmente banale anche
perché la macchina è di
Moore (l’uscita dipende solo
dallo stato) e non c’è neanche
bisogno di usare le mappe
per minimizzare
Z = Q1Q0
A.A. 2013/2014 Elettronica M. Barbaro
Sintesi: diagramma logico
D Q
D Q
clk
Q0
Q1
Z
A
segnale
di clock
input
output
State
variables
F
G
State-memory
A.A. 2013/2014 Elettronica M. Barbaro
Minimizzazione degli stati
In questo esempio, già semplice, abbiamo saltato la fase di minimizzazione degli stati
La minimizzazione consiste nell’eliminare tutti gli stati ridondanti ossia sostituire due stati equivalenti con un unico stato
Due stati sono equivalenti quando: Hanno le stesse uscite (Moore) per qualsiasi
combinazione degli ingressi (Mealy)
Ogni transizione da ciascuno dei due stati conduce o allo stesso stato o a due stati che sono fra loro equivalenti
Due stati equivalenti possono essere sostituiti da uno solo dei due
A.A. 2013/2014 Elettronica M. Barbaro
Minimizzazione
Esistono metodi algoritmici per minimizzare una tabella
degli stati che noi non vedremo
In generale, per pochi stati e pochi ingressi si riesce a
minimizzare per ispezione, trovando prima stati che
hanno le stesse uscite e poi verificando che le loro
transizioni conducano a stati uguali o equivalenti
La minimizzazione non è sempre utile, infatti spesso
ridurre il numero di stati non significa ridurre il numero di
flip-flop (se passo da 7 a 5 stati mi servono sempre 3
flip-flop)
Inoltre, nelle tecnologie moderne, avere un flip-flop in
più può essere un costo accettabile se questo semplifica
e velocizza la fase di progettazione
A.A. 2013/2014 Elettronica M. Barbaro
Minimizzazione: esempio
X
S 0 1
A A,0 B,0
B C,0 D,0
C A,0 D,0
D E,0 F,1
E A,0 F,1
F G,0 F,1
G A,0 F,1
S*
Si vede subito che gli stati E e G
hanno stesse uscite e stesso stato
destinazione. Sono dunque
equivalenti (posso sostituire G con
E in ogni punto della tabella)
Analogamente D e F hanno stesse
uscite e transizioni che portano o
allo stesso stato (F) oppure a due
stati equivalenti (E e G) quindi sono
equivalenti e posso sostituire F con
D.
La tabella non è ulteriormente
minimizzabile
A.A. 2013/2014 Elettronica M. Barbaro
Minimizzazione: esempio
X
S 0 1
A A,0 B,0
B C,0 D,0
C A,0 D,0
D E,0 D,1
E A,0 D,1
S*
Questa è la tabella risultante dalla
minimizzazione.
Si vede che non si può minimizzare
ulteriormente.
Come si vede siamo passati da 7 a
5 stati che richiedono comunque 3
variabili di stato e 3 flip-flop
A.A. 2013/2014 Elettronica M. Barbaro
Assegnazione degli stati
Nel nostro esempio abbiamo scelto
un’assegnazione di codice binario a ciascuno
stato senza alcun ragionamento, abbiamo cioè
scelto la strada più semplice ed assegnato a
ciascuno stato un numero binario progressivo
Questa non è necessariamente la strategia
migliore, possono esserci altri modi di codificare
gli stati che permettono di avere circuiti più
robusti oppure con una logica di aggiornamento
dello stato o generazione delle uscite più
semplice
A.A. 2013/2014 Elettronica M. Barbaro
Assegnazione degli stati
Alcuni criteri ragionevoli sono:
Usare un codice semplice per lo stato iniziale, che sia facile da
forzare al momento del reset (ad esempio lo stato 000…00
ottenibile con dei flip-flop con reset)
Minimizzare il numero di variabili che cambiano ad ogni
transizione
Massimizzare il numero di variabili che NON cambiano in un
gruppo di stati correlati
Se ci sono stati inutilizzati scegliere fra le combinazioni a
disposizione le “migliori” (ad es. che minimizzano la logica)
Decomporre le variabili di stato in modo che i singoli bit o
gruppi di bit abbiamo un significato particolare rispetto al
comportamento della FSM
Non è detto che sia possibile rispettarli tutti, né esiste un
metodo univoco per scegliere la codifica migliore
A.A. 2013/2014 Elettronica M. Barbaro
Assegnamento degli stati
I principali stili di codifica sono: 1) Simplest: gli stati sono codificati col minor
numero di bit usando i numeri binari in ordine crescente
2) Decomposed: si cerca di dare a ciascun bit un significato preciso legato al comportamento della macchina
3) One-hot: si usano tanti flip-flop quanti sono gli stati, in ogni stato uno solo dei flip-flop è pari a 1
4) Almost one-hot: come il one-hot ma si usa un flip-flop in meno e si codifica lo stato iniziale con tutti zeri
5) Gray: si usa il codice si Gray, ossia si fa in modo che nelle transizioni cambi un solo bit (se possibile)
A.A. 2013/2014 Elettronica M. Barbaro
Assegnamento: esempio
Nel caso del nostro esempio:
Assegnamento
S Simplest Gray Decomposed One-hot Almost
One-hot
S0 00 00 000 0001 000
S1 01 01 001 0010 001
S2 10 11 011 0100 010
S3 11 10 111 1000 100
Da un codice al successivo cambia un
solo bit
Uso il bit più significativo per indicare il
raggiungimento della sequenza
Un bit per ogni stato, uno solo a 1
Un bit per gli stati S1, S2, S3 mentre S0
è rappresentato con tutti zeri
A.A. 2013/2014 Elettronica M. Barbaro
Stati inutilizzati
Quando il numero di stati non è una potenza di 2 ci
saranno sempre degli stati inutilizzati, ossia delle
combinazioni delle variabili di stato a cui non
corrisponde uno stato della FSM
In questo caso nelle mappe di Karnaugh usate per la
sintesi compariranno dei don’t-care (per quelle celle
corrispondenti a stati inutilizzati)
Si possono fare due scelte nell’assegnare i don’t-care:
Minimal cost: sfruttarli per minimizzare la mappa, dando per
scontato che quegli stati non siano mai raggiunti
Minimal risk: fare in modo che da ogni stato inutilizzato lo
stato successivo sia sempre lo stato iniziale, in modo che, se
per qualche ragione (rumore o altro), il circuito finisse in quello
stato, ricomincerebbe sempre a funzionare correttamente
A.A. 2013/2014 Elettronica M. Barbaro
Reset
Non abbiamo fino a qui considerato un problema: lo stato iniziale di un flip-flop non appena acceso è indeterminato, ossia non si sa se contiene uno 0 o un 1
Quindi, quando accendo il circuito, non conosco lo stato in cui mi trovo, questa indeterminatezza può compromettere il funzionamento del circuito se la macchina non è stata concepita correttamente
Per evitare questo problema si dotano sempre le FSM di un segnale di reset che forza la macchina in uno stato noto da cui può partire l’elaborazione
Il reset non è, tipicamente, uno degli ingressi della FSM, ma un segnale a parte che va direttamente a pilotare i flip-flop di memorizzazione azzerandoli (se lo stato iniziale, come usuale, coincide con 000…000)
Top Related