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