學(xué)習(xí) Verilog 做仿真時,可選擇不同仿真環(huán)境。FPGA 開發(fā)環(huán)境有 Xilinx 公司的 ISE(目前已停止更新),VIVADO;因特爾公司的 Quartus II;ASIC 開發(fā)環(huán)境有 Synopsys 公司的 VCS ;很多人也在用 Icarus Verilog 和 GTKwave 的方法,更加的輕便。
雖然 ISE 或者 Quartus II 都會自帶仿真器,但功能還是有欠缺。所以,這里介紹下 Quartus II + Modelsim 聯(lián)合仿真的測試方法,運行環(huán)境為 64bit-win10 系統(tǒng)。
本次介紹使用的 Quartus 版本為 10.1。
目前 Quartus II 官網(wǎng)已經(jīng)沒有 13.1 以下版本的安裝包,大家可以安裝 13.1 以上版本的軟件。功能都是大同小異,下載地址:https://fpgasoftware.intel.com/13.1/?edition=subscription&platform=windows
下載 13.1 以上的 quartus II 時,官網(wǎng)也會推薦相應(yīng)版本的 Modelsim,一起下載即可。
開始安裝,修改安裝路徑,其他按照默認(rèn)設(shè)置一步步操作即可。
下圖是成功安裝的截圖。
如果提示需要 License file,如下圖所示,則需要指定購買該軟件時的 license 文件。
如果 license 文件需要替換 Host-ID,只需要 license 文件中的 HOSTID 替換為 NIC 選項中隨便一個 ID 即可,如下圖紅色框所示:
Quartus II 10.1 安裝完還需要安裝 Device,即安裝支持各種可編程邏輯器件型號的庫文件,否則 Quartus II 不能正常建立工程。
安裝路徑需要選擇 Quartus II 的安裝路徑,此時 Device 安裝可自動識別 Quartus II。
最新 Quartus II(例如 2016 版本)已經(jīng)支持一套化安裝了。
Modelsim 選擇 modelsim-win64-10.1c-se 版本。
也需要修改下安裝路徑,然后按照默認(rèn)設(shè)置進行操作即可。
安裝完畢后可能提示需要重啟電腦,重啟即可。
File->New project Wizard
設(shè)置工作路徑與工程名字、top module名字。
注意,路徑與名字設(shè)置時,不能包含中文。
我們只進行簡單的仿真,不進行下載、燒錄等,所以我們不用關(guān)心具體信號,隨便選一種即可。
然后一直點擊 Next,直到 Finish。
下面就對 4 位寬 10 進制計數(shù)器進行簡單的仿真。
點擊:File->New->Verilog HDL File->OK
點擊:File->Save As
輸入 module 名字為:counter10.v
需要注意的是,top module 名字一定要和 project 名字一致,否則會報錯(如圖中所示)。
把 Verilog 代碼復(fù)制到文件 counter10.v 中,進行一鍵編譯(實際包含了編譯、綜合、布局布線等)。
報錯時,可通過點擊 Error log 來定位錯誤,進行修改,直至沒有 Error。
仿真設(shè)置為 Modelsim-altera
點擊:Tool->Options->EDA Tool Options
將 Modelsim 后面的地址改為 Modelsim 啟動程序的路徑。
點擊:Assignments -> Simulation
Tool name 選擇 ModelSim,并設(shè)置 Format、Time scale 等,如圖
點擊:Processing->start->Start TestBench Template Writer
如果設(shè)置正確,會在工程路徑 simulation/modelsim 下產(chǎn)生 ?.vt
? 文件。
?.vt
? 文件模板已經(jīng)給出了端口部分的代碼、接口變量的聲明和例化語句映射等。我們要做的就是將測試代碼填入到 testbench 合適的位置。
這里簡單的寫一下時鐘、復(fù)位驅(qū)動代碼,如下圖所示。
點擊:Assignments -> Settings -> Simulation
在 Compile test bench 選項中,選擇 new,設(shè)置 Test bench name,并通過 File name 查找的方式,將上一步生成的 .vt 文件添加到工程中。
需要注意的是,testbench 文件名字需要和 testbench 里的 top module 名字保持一致,否則后續(xù)啟動 Modelsim 時會報錯,不能進行正常的仿真。
此時,你會發(fā)現(xiàn),Tasks 欄編譯的狀態(tài)變成了問號,需要重新進行一鍵編譯。
點擊:Tools->Run simulation Tool->RTL Simulation
這時就會自動啟動 Modelsim 軟件。
Modelsim 操作這里不做具體介紹。
由仿真圖可知,我們的設(shè)計完成了 10 進制計數(shù)的基本功能。
記憶中,Quartus II + Modelsim 的聯(lián)合仿真功能既強大,又安裝方便。幾年后重新進行此過程,發(fā)現(xiàn)步驟也有些許繁瑣,花費了我一晚上的時間來搞定。很多細節(jié)也在上面提出,多多注意就好。不過,大家以后有機會進行大型的數(shù)字模塊仿真時,就會發(fā)現(xiàn)此方法的有效性。
在接下來的教程里,有些簡單的仿真可能用其他軟件進行,截圖界面可能與 Modelsim 不一致。大家看到后不用懷疑仿真的準(zhǔn)確性,這里特別說明。
設(shè)計模塊與 testbench 源碼也會全部給出,大家完全可以自己仿真、驗證。
更多建議: