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