|
Xilinx FPGA入門連載10:Modelsim仿真驗證 特權同學,版權所有 配套例程和更多資料下載鏈接: http://pan.baidu.com/s/1jGjAhEm
好,既然我們的語法檢查通過了,那么接下來我們不妨小試牛刀,讓仿真工具Modelsim來輸出波形驗證設計結果和我們的預想是否一致。 在用Modelsim仿真前,在ISE中需要確認幾個設置。 1. 如圖所示,點擊菜單的“Projectà Design Properties…”。
如圖所示,確認這里“Simulator”的選擇為“Modelsim-SEMixed”,這在新建工程時我們已經設定好了,為保萬無一失,我們還是確認一下。
2. 如下圖所示,從上到下依次執行3步操作。
彈出“Process Properties”設置窗口,在右邊的“Compiled Library Directory”后面填入之前編譯庫時設置的已編譯庫的路徑,點旁邊的“…”按鈕來選定也行。我們前面lesson中將庫路徑設置為“C:\Xilinx\Xilinx_lib”,因此這里也這么設置。其他選項默認設置即可,點擊“OK” 完成設置。
回到“Simulation à Hierarchy”窗口中,在任意空白處單擊右鍵,彈出菜單中選擇“New Source”,如圖所示。
如圖所示,選擇新建源文件類型是“Verilog Test Fixture”,在工程路徑下新建一個名為“testbench”的文件夾,同時將新建文件的路徑定位到這個文件夾下面。和前面的lesson新建source_code文件夾的初衷一樣,新建testbench文件夾的目的也只是為了便于文件的分類和管理。還有“Add to project”通常必須勾選上,默認即勾選。點擊“Next”到下一步。
這里“Associate Source”是選擇測試腳本對應的設計源文件,我們只有一個設計源文件,那就別無選擇了,選中sp6.v,然后點擊“Next”。
如圖所示,羅列出前面設置的報告,沒問題就點擊“Finish”完成文件創建。
如圖所示,測試腳本文件在Notepad++中打開了。這里的測試腳本只是一個基本的模板,它把設計文件sp6的接口在這個模塊里面例化申明了,我們還需要自動動手添加復位和時鐘的激勵。
有朋友可能是第一次接觸測試仿真,關于仿真的基本概念請查看《FPGA設計實戰演練(邏輯篇)- ch9 - 設計仿真.pdf》。 Vtf_sp6.v文件需要做一些編輯,增加復位和時鐘信號,修改后代碼如下。 module vtf_sp6; // Inputs reg ext_clk_25m; reg ext_rst_n; // Outputs wire clk_12m5; // Instantiate the Unit Under Test(UUT) sp6 uut ( .ext_clk_25m(ext_clk_25m), .ext_rst_n(ext_rst_n), .clk_12m5(clk_12m5) ); initial begin // Initialize Inputs ext_clk_25m = 0; ext_rst_n = 0; // Wait 100 ns for globalreset to finish #100; ext_rst_n = 1; // Add stimulus here #2000; $stop; end always #20 ext_clk_25m = ~ ext_clk_25m; //產生25MHz時鐘源 endmodule 保存修改后的代碼。我們回到ISE中。 此時,如下圖所示,vtf_sp6.v已經成了這個仿真Hierarchy的頂層了,它下面是設計文件sp6.v。我們選中vtf_sp6.v文件,然后雙擊“Simulation Behavioral Model”,隨后Modelsim將被調用,啟動仿真。
彈出Modelsim后,我們可以打開Wave查看,同時點擊“Zoom Full”按鈕,Modelsim的使用并不難,大家要多動手,所有的菜單按鈕都簡單易懂,有些地方右鍵菜單也有很多功能,如果這里一一介紹恐怕需要一本書,所以大家自動動手,貴在嘗試,很快就會上手。
如圖所示,這便是我們設計的二分頻效果。
怎么樣,通過這個簡單的工程,大家是不是掌握了使用ISE進行工程創建、設計文本創建和編輯、測試腳本創建和編輯、使用Modelsim進行仿真等基本的技能。當然了,這只是剛剛把您領進門,讓您熟悉一下工具的一些基本操作。這個例程就到這里,我們不往下進行板級的實驗,大家繼續跟著教程往下,該掌握的都會掌握滴。 |