仿真VHDL和Verilog HDL并沒有什么區(qū)別,一般的軟件兩種語言也都支持,,仿真的步驟和方法也都是一樣的,。 常用的軟件有Model Sim和Quartus II。 Quartus II功能很強大,!實際的工作經常用它,,它提供了功能仿真和時序仿真兩種方式,但是作為學習HDL 并不方便,,因為它compile編譯的時候很慢,,對于復雜的邏輯更是要很長時間。好的一點是,,Quartus II編譯后可以清楚的看到它使用了芯片的多少資源,,各信號不同的延時等等。另外,,Quartus II編譯后也可以調用第三方的仿真工具,,如Model Sim進行仿真。 而Model Sim只完成邏輯功能的仿真,,并不考慮具體使用什么器件,,學習HDL或者設計邏輯的時候compile一次所用的時間很短,便于調試找出邏輯的錯誤,。所以初學仿真推薦使用Model Sim,。本文也只講下用Model Sim仿真邏輯的方法。 以下部分基本是參照軟件幫助簡寫的,,只是原來是英文的而且說的比較繁瑣一些,,也更詳細內容更多。詳見Model Sim菜單Help--SE PDF Documentation--tutorial,。 仿真有兩種方法,。一種是Basic Simulation,就是直接建立庫,,然后編譯源文件,。另一種是通過建立Project來仿真,建立Project時軟件會為它建立一個庫,,然后的仿真是一樣的,。 Basic Simulation的流程圖如下 Basic Simulation的流程圖如下 下面詳細寫一個例子的步驟 1. 建立庫,。選擇菜單File>New>Library。建立新庫就選a new library and a mapping to it,,library name 和library physical name 都填work(當然其它名也行),。如下圖。 下面詳細寫一個例子的步驟 1. 建立庫,。選擇菜單File>New>Library,。建立新庫就選a new library and a mapping to it,library name 和library physical name 都填work(當然其它名也行),。如下圖,。
確定后,在Work Space區(qū)的Library選項卡里就能看到新建的庫work,。 2. 編譯VHDL或Verilog HDL源文件,。 選擇菜單Compile>Compile,在彈出的窗口中打開Model
Sim安裝文件夾下的 /modeltech/examples/tutorials/vhdl/basicSimulation/ (里面是軟件自帶教程的例子邏輯,,Verilog
HDL對應的例子在/examples/tutorials/verilog/basicSimulation里),。將里面的counter.vhd和tcounter.vhd一起選中,點擊Compile,,然后點擊Done關閉彈出窗口,。 這兩個源文件就編譯好了,在Work
Space區(qū)里的Library卡里可以看到庫work下出現(xiàn)了兩個編譯完成的entity(或module),,如下圖,。 3. 仿真。在Work
Space區(qū)的library選項卡中,,展開庫work前的加號,,雙擊test_counter,載入到仿真,。 選擇菜單View>Debug Windows>Wave調出波形窗口,。 在Work Space面板的Sim選項卡中右擊test_counter,,選擇Add>Add to
Wave。在波形窗口的列表里就能看到被添加到波形仿真的信號,。 開始仿真。點擊工具欄上的Run按鈕 ,,就看到了計數(shù)器各信號的波形,。
默認仿真100ns。 如果點擊Run All按鈕 則會一直仿真下去,,知道點擊Break按鈕 或在代碼中遇到斷點,。
設置斷點的方法是在代碼文件的行號上單擊,,會出現(xiàn)紅點。再單擊變黑則斷點無效,。 要重新仿真,,可以單擊工具欄上的Restart 按鈕,在彈出的窗口中可以設置要保留的內容然后單擊Restart,。
這些仿真涉及的按鈕命令都可以在菜單Simulate中找到,,仿真結束最后不要忘了選擇菜單Simulate>End
Simulate。 Project
Simulation流程圖如下
同樣是計數(shù)器的例子,。 1. 建立project,。選擇菜單File>New>Project,任意填寫Project
Name和存儲路徑,,default library name保持默認的work不變,,確定。 2. 直接在確定后彈出的窗口選擇Add Existing File或在Work
Space面板的Project選項卡里右擊選擇Add to Project>Exitsting File,。添加Model
Sim安裝目錄examples/tutorials/vhdl/projects下的counter.vhd和tcounter.vhd兩個文件到project(Verilog
HDL的例子在examples/tutorials/verilog/projects下),。 這時可以看到Project里新添入的兩個文件的status都是?。
3. 更改編譯順序(僅針對VHDL),。選擇菜單Compile>Compile
Order,,在彈出窗口中上下移動文件改變編譯次序,或者點擊Auto Generate讓Model Sim來自動決定,。 4. 在Work Space面板的Project選項卡里任意處右擊,,選擇Compile>Compile
All,編譯成功則源文件的status變?yōu)榫G色對勾,。雙擊載入simulation,,波形仿真方法與Basic
Simulation相同。 仿真時,,控制激勵信號的方法有兩種,,一種是在源文件里用代碼產生仿真的輸入信號,如上面的例子(詳見程序自帶的例子文件的代碼),,另一種是在波形窗口中編輯輸入信號的波形,,或者載入已編輯好的波形文件來仿真。在下一篇日志里做了一些介紹,。 |
|