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