初學(xué)者對有限狀態(tài)機(FSM)的設計的認識
有限狀態(tài)機(FSM)是一種常見(jiàn)的電路,由時(shí)序電路和組合電路組成。設計有限狀態(tài)機的第一步是確定采用Moore狀態(tài)機還是采用Mealy狀態(tài)機。(Mealy型:狀態(tài)的轉變不僅和當前狀態(tài)有關(guān),而且跟各輸入信號有關(guān);Moore型:狀態(tài)的轉變只和當前狀態(tài)有關(guān))。從實(shí)現電路功能來(lái)講,任何一種都可以實(shí)現同樣的功能。但他們的輸出時(shí)序不同,所以,在選擇使用那種狀態(tài)機時(shí)要根據具體情況而定,在此,把他們的主要區別介紹一下:
本文引用地址:http://dyxdggzs.com/article/201710/365639.htm1. Moore狀態(tài)機:在時(shí)鐘脈沖的有限個(gè)門(mén)延時(shí)之后,輸出達到穩定。輸出會(huì )在一個(gè)完整的時(shí)鐘周期內保持穩定值,即使在該時(shí)鐘內輸入信號變化了,輸出信號也不會(huì )變化。輸入對輸出的影響要到下一個(gè)時(shí)鐘周期才能反映出來(lái)。把輸入和輸出分開(kāi),是Moore狀態(tài)機的重要特征。
2. Mealy狀態(tài)機:由于輸出直接受輸入影響,而輸入可以在時(shí)鐘周期的任一時(shí)刻變化,這就使得輸出狀態(tài)比Moore狀態(tài)機的輸出狀態(tài)提前一個(gè)周期到達。輸入信號的噪聲可能會(huì )出現在輸出信號上。
3. 對同一電路,使用Moore狀態(tài)機設計可能會(huì )比使用Mealy狀態(tài)機多出一些狀態(tài)。
根據他們的特征和要設計的電路的具體情況,就可以確定使用那種狀態(tài)機來(lái)實(shí)現功能。一旦確定狀態(tài)機,接下來(lái)就要構造狀態(tài)轉換圖?,F在還沒(méi)有一個(gè)成熟的系統化狀態(tài)圖構造算法,所以,對于實(shí)現同一功能,可以構造出不同的狀態(tài)轉換圖。但一定要遵循結構化設計。在構造電路的狀態(tài)轉換圖時(shí),使用互補原則可以幫助我們檢查設計過(guò)程中是否出現了錯誤?;パa原則是指離開(kāi)狀態(tài)圖節點(diǎn)的所有支路的條件必須是互補的。同一節點(diǎn)的任何2個(gè)或多個(gè)支路的條件不能同時(shí)為真。同時(shí)為真是我們設計不允許的。
在檢查無(wú)冗余狀態(tài)和錯誤條件后,就可以開(kāi)始用verilog HDL來(lái)設計電路了。
評論