有限狀態機是一種常見的電路,由於時序電路和組合電路組成,設計有限狀態機的第一步是確定採用Moore狀態機還是採用Mealy狀態機。Mealy狀態機的狀態轉變不僅和當前狀態有關,而且和各輸入信號有關;Moore狀態機的轉變只和當前狀態有關。從電路實現功能上來講,任何一種都可以實現同樣的功能。但他們的輸出時序不同,所以選擇使用哪種狀態機是要根據具體情況來定。
Mealy狀態機:由於輸出受輸入的直接影響,而輸入可以再時鐘周期的任一時刻變化,這就使得輸出狀態比Moore狀態機的輸出狀態提前一個周期到達。輸入信號的噪聲可能會出現在輸出信號上。
Moore狀態機:在時鐘脈衝的有限個門延時之後,輸出達到穩定。輸出會在一個完整的時鐘周期內保持穩定值,及時在該時鐘內輸入信號變化了,輸出信號也不會變化。輸入對輸出的餓影響要到下一個時鐘周期才能反映出來。把輸入和輸出分開,是Moore狀態機的重要特徵。
對於同一電路,使用Moore狀態機設計可能會比使用Mealy狀態機多出一些狀態。
根據特徵和藥設計的電路的具體情況,就可以而確定使用哪種狀態機來實現功能。一旦確定狀態機,接下來就要構造專題轉換圖。現在還沒有一個成熟的系統化裝踏入構造算法,所以對於實現同一功能,可以搞糟出不同的狀態轉換圖。但一定要遵循結構化設計。在構造電路的狀態轉換圖時。使用互補原則可以幫助我們檢查設計過程中是否出現錯誤。互補原則是指離開狀態圖節點的所有之路的條件必須是互補的,同一節點的任何2個或多個之路的條件不能同時為真。同時為真時我們設計不允許的。