有限狀態(tài)機(jī)的FPGA設(shè)計(jì)
有限狀態(tài)機(jī)是一種常見(jiàn)的電路,由于時(shí)序電路和組合電路組成,設(shè)計(jì)有限狀態(tài)機(jī)的第一步是確定采用Moore狀態(tài)機(jī)還是采用Mealy狀態(tài)機(jī)。Mealy狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)變不僅和當(dāng)前狀態(tài)有關(guān),而且和各輸入信號(hào)有關(guān);Moore狀態(tài)機(jī)的轉(zhuǎn)變只和當(dāng)前狀態(tài)有關(guān)。從電路實(shí)現(xiàn)功能上來(lái)講,任何一種都可以實(shí)現(xiàn)同樣的功能。但他們的輸出時(shí)序不同,所以選擇使用哪種狀態(tài)機(jī)是要根據(jù)具體情況來(lái)定。
Mealy狀態(tài)機(jī):由于輸出受輸入的直接影響,而輸入可以再時(shí)鐘周期的任一時(shí)刻變化,這就使得輸出狀態(tài)比Moore狀態(tài)機(jī)的輸出狀態(tài)提前一個(gè)周期到達(dá)。輸入信號(hào)的噪聲可能會(huì)出現(xiàn)在輸出信號(hào)上。
Moore狀態(tài)機(jī):在時(shí)鐘脈沖的有限個(gè)門延時(shí)之后,輸出達(dá)到穩(wěn)定。輸出會(huì)在一個(gè)完整的時(shí)鐘周期內(nèi)保持穩(wěn)定值,及時(shí)在該時(shí)鐘內(nèi)輸入信號(hào)變化了,輸出信號(hào)也不會(huì)變化。輸入對(duì)輸出的餓影響要到下一個(gè)時(shí)鐘周期才能反映出來(lái)。把輸入和輸出分開(kāi),是Moore狀態(tài)機(jī)的重要特征。
對(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)造專題轉(zhuǎn)換圖?,F(xiàn)在還沒(méi)有一個(gè)成熟的系統(tǒng)化裝踏入構(gòu)造算法,所以對(duì)于實(shí)現(xiàn)同一功能,可以搞糟出不同的狀態(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í)為真時(shí)我們?cè)O(shè)計(jì)不允許的。
評(píng)論