基于VHDL的MTM總線主模塊有限狀態(tài)機(jī)設(shè)計(jì)
3 仿真驗(yàn)證
QuartusⅡ是Altera公司推出的集成開發(fā)軟件,使用QuartusⅡ可以完成從設(shè)計(jì)輸入、綜合適配、仿真到編程下載整個(gè)設(shè)計(jì)過程,Quart usⅡ也可以直接調(diào)用Synplify Pro、以及ModelSim等第3方EDA工具來完成設(shè)計(jì)任務(wù)的綜合和仿真。
文中利用QuartusⅡ9.0版本軟件和Cyclone系列EP1C6Q240C6芯片對所設(shè)計(jì)的MTM總線主模塊狀態(tài)機(jī)的VHDL代碼進(jìn)行了時(shí)序仿真和功能仿真,分別如圖4、圖5所示。本文引用地址:http://2s4d.com/article/160361.htm
通過波形圖可以觀察到,該狀態(tài)機(jī)可以很好的實(shí)現(xiàn)主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換。當(dāng)M1輸入為“0”時(shí)(此時(shí)M2、M3為無關(guān)狀態(tài)),MTM總線主模塊按照從高到低進(jìn)行消息傳送,直到進(jìn)入“PAUSE”(暫停狀態(tài))然后狀態(tài)回到“xfer16”(S16)繼續(xù)進(jìn)行消息傳送;當(dāng)M1輸入為“1”時(shí),主模塊無條件進(jìn)入“waiting”(等待狀態(tài));在主模塊處于“waiting”狀態(tài)時(shí)若M3輸入為“1”狀態(tài)轉(zhuǎn)入“idle”(空閑狀態(tài))再次由高到低位的消息傳送。
使用VHDL語言描述,語法更為嚴(yán)謹(jǐn),描述更為清晰簡潔;采用“單進(jìn)程”式狀態(tài)機(jī)描述可以有效地節(jié)省FPGA芯片的資源(表1),從而進(jìn)一步減少功耗,提高系統(tǒng)的穩(wěn)定性。
4 結(jié)束語
文中通過研究MTM總線的基本結(jié)構(gòu)和主從模塊間的通訊協(xié)議,分析了主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,并使用VHDL語言設(shè)計(jì)了該有限狀態(tài)機(jī),并使用QuartusⅡ開發(fā)軟件對該狀態(tài)機(jī)進(jìn)行了仿真和驗(yàn)證,仿真結(jié)果表明該程序可以正確描述主狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,該有限狀態(tài)機(jī)使用“單進(jìn)程”式描述,與“三進(jìn)程”和“雙進(jìn)程”式相比程序簡潔明了并且能夠有效地節(jié)省資源,減少功耗,提高系統(tǒng)的穩(wěn)定性。
評論