資源描述:
《Modelsim簡明使用指南》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、Modelsim簡明使用指南1前言???作為一種簡單易用,功能強大的邏輯仿真工具,Modelsim具有廣泛的應用。這里對ModelSim作一個入門性的簡單介紹。首先介紹ModelSim的代碼仿真,然后介紹門級仿真和時序驗證。2代碼仿真???在完成一個設計的代碼編寫工作之后,可以直接對代碼進行仿真,檢測源代碼是否符合功能要求。這時,仿真的對象為HDL代碼,比較直觀,速度比較快,可以進行與軟件相類似的多種手段的調試(如單步執(zhí)行等)。在設計的最初階段發(fā)現(xiàn)問題,可以節(jié)省大量的精力。2.1代碼仿真需要的文件1.設計HDL源代碼:可以使VHDL語言或Verilog語言。2.測試激勵代碼:根據設計要求輸入
2、/輸出的激勵程序,由于不需要進行綜合,書寫具有很大的靈活性。3.仿真模型/庫:根據設計內調用的器件供應商提供的模塊而定,如:FIFO(Altera常用的FIFO有:lpm_fifo/lpm_fifo_dc等)、DPRAM等。2.2代碼仿真步驟1.建立工程:在ModelSim中建立Project。如圖2.1所示,點擊File→New→Project,得到CreataProject的彈出窗口,如圖2.2所示。在ProjectName欄中填寫你的項目名字,建議和你的頂層文件名字一致。ProjectLocation是你的工作目錄,你可通過Brose按鈕來選擇或改變。DdfaultLibraryNam
3、e可以采用工具默認的work。?圖2.1?圖2.22.給工程加入文件:ModelSim會自動彈出AddItemstotheproject窗口,如圖2.3所示。選擇AddExsitingFile后,根據相應提示將文件加到該Project中。?圖2.33.編譯:編譯(包括源代碼和庫文件的編譯)。編譯可點擊Comlile→ComlileAll來完成。4.裝載文件:如圖2.4,點擊Simulate→Simulate…后,如圖2.5所示,選定頂層文件(激勵文件),ADD加入,然后點擊LOAD,裝載。?圖2.4?圖2.55.開始仿真:通過菜單:View→Structure,View→Signals,Vi
4、ew→Wave打開Structure,Signals,Wave三個窗口。在Structure窗口內選定你所要觀察的信號所在的模塊,然后在Signals窗口選定信號,通過鼠標左鍵拖放到Wave窗口,如圖2.6。然后在Wave窗口,點擊runall,運行,在波形窗口就可以看到信號的仿真波形。如圖2.7.?圖2.6?圖2.76.波形信號的保存:有時,在波形窗口內拖放了較多的信號,可以保存起來以后調入。在wave窗口,F(xiàn)ile→Saveformat,保存成*.do文件。以后需要調入時,在modelsim主窗口命令行內執(zhí)行:do*.do即可。3門級仿真和時序仿真???使用綜合軟件綜合后生成的門級網表或
5、者是實現(xiàn)后生成的門級模型進行仿真,不加入時延文件的仿真就是門級仿真??梢詸z驗綜合后或實現(xiàn)后的功能是否滿足功能要求,其速度比代碼功能仿真要慢,但是比時序仿真要快。???在門級仿真的基礎上加入時延文件“.sdf”文件的仿真就是時延仿真。優(yōu)點是:比較真實的反映邏輯的時延與功能,缺點是速度比較慢,如果邏輯比較大,那么需要很長的時間。???在這里仿真以Altera的器件為例。利用經過綜合布局布線的網表和具有時延信息的反標文件進行仿真,可以比較精確的仿真邏輯的時序是否滿足要求。3.1仿真需要的文件1.綜合布局布線生成的網表文件2.測試激勵3.元件庫4.時序仿真的話,還需要綜合布局布線生成的具有時延時延信
6、息的反標文件(sdf)3.2仿真步驟1.在Quartus2中正確設置仿真工具:如圖3.1所示,點擊Quartus2的Assignment菜單下的EDAToolsSettings,進入圖3.2。在圖3.2中,點擊EDAtooltype,再在ToolsSettings的下拉菜單中,根據你所使用的語言與Modelsim的版本,作相應的選擇。?圖3.1?圖3.22.用Qusrtus2產生仿真所需要的網表與SDF文件:在作了第一步的正確設置后,每當你完成一次編譯,Quartus2會自動在你的當前Project目錄下生成一個simulation目錄,在該目錄下有一個modelsim的目錄。在該目前下,就
7、有我們所要的文件。如果使用VHDL語言,網表文件是.VHO,SDF文件是SDO;如果是使用Verilog語言,網表文件是.VO,SDF文件也是SDO。你也可以通過Quartus2的Processing→EDAToolPost-CompilationCommands→WriteOutputNetlists來產生以上的文件,該方法如圖3.3所示。?圖3.33.在ModelSim中建立Project:與代碼仿真相似