Finite State Machine: Mealy State Machine e Moore State Machine

Prova Il Nostro Strumento Per Eliminare I Problemi





Il macchine a stati finiti (FSM) sono significative per comprendere la logica del processo decisionale e per controllare i sistemi digitali. Nella FSM, le uscite, così come lo stato successivo, sono uno stato presente e la funzione di ingresso. Ciò significa che la selezione dello stato successivo dipende principalmente dal valore di input e la forza porta a prestazioni del sistema più composte. Come nella logica sequenziale, richiediamo la cronologia degli input passati per decidere l'output. Pertanto FSM si dimostra molto cooperativo nella comprensione dei ruoli logici sequenziali. Fondamentalmente, ci sono due metodi per organizzare un file progettazione logica sequenziale vale a dire macchina farinosa così come più macchina. Questo articolo discute la teoria e l'implementazione di una macchina a stati finiti o FSM, tipi, esempi di macchine a stati finiti , vantaggi e svantaggi.

Cos'è una FSM (Finite State Machine)?

Il definizione di macchina a stati finiti è , il termine macchina a stati finiti (FSM) è anche noto come stato finito automazione . FSM è un modello di calcolo che può essere eseguito con l'ausilio di hardware altrimenti software. Viene utilizzato per creare logica sequenziale e alcuni programmi per computer. Gli FSM vengono utilizzati per risolvere i problemi in campi come matematica, giochi, linguistica e intelligenza artificiale. In un sistema in cui input specifici possono causare cambiamenti di stato specifici che possono essere segnalati con l'aiuto di FSM.




Macchina a stati finiti

Macchina a stati finiti

Questo diagramma della macchina a stati finiti spiega le varie condizioni di un tornello. Ogni volta che si inserisce una moneta in un tornello, la si sblocca e, dopo che il tornello è stato premuto, scatta guadagno. Posizionare una moneta in un tornello non serrato, altrimenti premere contro un tornello imbullonato non ne altererà lo stato.



Tipi di macchine a stati finiti

Le macchine a stati finiti sono classificate in due tipi come Macchina a stati farinosi e Moore State Machine .

Mealy State Machine

Quando le uscite dipendono dagli ingressi correnti e dagli stati, allora la FSM può essere chiamata una macchina a stati farinosa. Il diagramma seguente è il file diagramma a blocchi della macchina a stati farinosi . Il diagramma a blocchi della macchina a stati farinosa consiste di due parti, vale a dire logica combinatoria così come la memoria. La memoria nella macchina può essere utilizzata per fornire alcune delle uscite precedenti come ingressi logici combinatori.

Diagramma a blocchi della macchina a stati farinosi

Diagramma a blocchi della macchina a stati farinosi

Sulla base degli input correnti e degli stati, questa macchina può produrre output. Pertanto, le uscite possono essere adatte solo a positivo altrimenti negativo del segnale CLK. Di seguito è mostrato il diagramma di stato della macchina a stati farinosa.


Diagramma di stato della macchina a stati farinosi

Diagramma di stato della macchina a stati farinosi

Il diagramma di stato della macchina a stati farinosa include principalmente tre stati, cioè A, B e C. Questi tre stati sono contrassegnati all'interno dei cerchi così come ogni cerchio comunica con uno stato. Le conversioni tra questi tre stati sono indicate da linee dirette. Nel diagramma sopra, gli ingressi e le uscite sono indicati con 0/0, 1/0 e 1/1. In base al valore di input, ci sono due conversioni da ogni stato.

Generalmente, la quantità di stati richiesti nella macchina farinosa è inferiore o equivalente al numero di stati richiesti nella macchina a stati di Moore. Esiste una macchina a stati Moore uguale per ogni macchina a stati Mealy. Di conseguenza, in base alla necessità possiamo impiegarne uno.

Moore State Machine

Quando le uscite dipendono dagli stati correnti, è possibile denominare l'FSM come Moore State Machine . Il Schema a blocchi della macchina a stati di Moore è mostrato sotto. Il diagramma a blocchi della macchina a stati di Moore è composto da due parti, ovvero logica combinatoria e memoria.

Schema a blocchi della Moore State Machine

Schema a blocchi della Moore State Machine

In questo caso, gli ingressi correnti, così come gli stati correnti, decideranno gli stati successivi. Pertanto, a seconda di ulteriori stati, questa macchina genererà le uscite. Quindi, gli output di questo saranno applicabili semplicemente dopo la conversione dello stato.

Il Diagramma di stato della macchina a stati di Moore è mostrato sotto. Nello stato precedente, il diagramma include quattro stati come una macchina a stati farinosa, vale a dire A, B, C e D., i quattro stati e le singole uscite sono posti nei cerchi.

Diagramma di stato della macchina a stati di Moore

Diagramma di stato della macchina a stati di Moore

Nella figura sopra, ci sono quattro stati, vale a dire A, B, C e D. Questi stati e le rispettive uscite sono etichettati all'interno dei cerchi. Qui, semplicemente il valore dell'input è segnato su ogni conversione. Nella figura sopra sono incluse due conversioni da ogni stato a seconda del valore di ingresso.

In generale, la quantità di stati richiesti in questa macchina è maggiore di quanto altrimenti equivalente al numero richiesto di stati nella macchina a stati farinosi

In genere, il numero di stati richiesti in questa macchina è più che altrimenti equivalente agli stati richiesti in MSM (Mealy state machine) . Per ogni macchina a stati Moore, esiste una corrispondente macchina a stati Mealy. Di conseguenza, a seconda delle necessità, possiamo utilizzarne uno.

C'è una macchina a stati farinosa uguale per ogni macchina a stati di Moore. Di conseguenza, in base alla necessità possiamo impiegarne uno.

Applicazioni per macchine a stati finiti

Il applicazioni della macchina a stati finiti includono principalmente quanto segue.

Gli FSM sono utilizzati nei giochi in cui sono più riconosciuti per essere utilizzati intelligenza artificiale , e tuttavia, sono frequenti anche nelle esecuzioni di esplorazione del testo di analisi, nella gestione dell'input del cliente e nei protocolli di rete.

Questi sono limitati nella potenza di calcolo e hanno la buona qualità di essere relativamente semplici da riconoscere. Pertanto, vengono spesso utilizzati dagli sviluppatori di software e dai progettisti di sistemi per riassumere le prestazioni di un sistema difficile.

Le macchine a stati finiti sono applicabili in distributori automatici, videogiochi, semafori, controllori nella CPU, analisi del testo, analisi del protocollo, riconoscimento della parola , elaborazione del linguaggio, ecc.

Vantaggi della macchina a stati finiti

Il vantaggi della macchina a stati finiti include il seguente.

  • Le macchine a stati finiti sono flessibili
  • Facile passare da un abstract significativo a un'esecuzione di codice
  • Basso sovraccarico del processore
  • Facile determinazione della raggiungibilità di uno stato

Svantaggi della macchina a stati finiti

Il svantaggi della macchina a stati finiti include il seguente

  • Il carattere atteso delle macchine a stati finiti deterministiche può non essere necessario in alcune aree come i giochi per computer
  • L'implementazione di enormi sistemi che utilizzano FSM è difficile da gestire senza alcuna idea di design.
  • Non applicabile a tutti i domini
  • Gli ordini di conversione dello stato sono inflessibili.

Quindi, questo è tutto macchine a stati finiti . Dalle informazioni di cui sopra, infine, possiamo concludere che i circuiti sequenziali sincroni influenzano i loro stati per ogni conversione positiva altrimenti negativa del segnale CLK a seconda dell'ingresso. Quindi, questo comportamento può essere rappresentato sotto forma di grafico noto come diagramma di stato. Un altro nome di un circuito sequenziale sincrono è FSM (macchina a stati finiti). Ecco una domanda per te, quali sono i file proprietà di FSM ?