本文簡(jiǎn)要描述了 MDY 千兆網(wǎng)工程仿真的過(guò)程。
千兆網(wǎng)模塊使用了一個(gè)比較大的 IP 核,即三速以太網(wǎng) IP 核,該 IP 核較大,涉及的功能較多,不能像之前那樣添加 altera_mf.v 文件就行。那了方便起見(jiàn),還是使用了傳統(tǒng)的,通過(guò) QUARTUS 調(diào)用 MODELSIM 的方式進(jìn)行仿真。
希望學(xué)員能根據(jù)本案例,舉一反三,掌握 QUARTUS 調(diào)用 MODELSIM 的方法。
1. 設(shè)置 MODELSIM 工具路徑
在 QUARTUS 中的 tools 欄中,點(diǎn)擊 options 選項(xiàng)。
在彈出的窗口中,選擇 EDA tool options,然后在 Modelsim 中選擇 modelsim 的所在的路徑。注意一般是在 win32 或者 win64pe 的目錄。
2. 設(shè)置仿真文件
在工程的頂層文件中,右鍵選擇 Settings。
在彈出的窗口中,先選擇 Simulation。
在 Tool name 中,選擇 Modelsim。(如果您的工具不同,就根據(jù)實(shí)質(zhì)情況來(lái)選)
在 Format for output netlist 中,選擇 verilog HDL。
在 Time Scale 中,選擇時(shí)間單位,我這里選擇的是 100ps。
其他默認(rèn)即可。
點(diǎn)擊 Test Benches 按鍵,開(kāi)始進(jìn)行測(cè)試文件設(shè)置。
在彈出的窗口中,點(diǎn)擊 New,開(kāi)始新增一個(gè)測(cè)試文件。
在 Test bench name 中,填寫(xiě)測(cè)試文件名。本次演示工程中,測(cè)試文件名是test_mdyUdpIp。
在 Top level module in test bench 中,填寫(xiě)測(cè)試文件中的模塊名,即 module name。一般
規(guī)范的是模塊名與測(cè)試文件名一致,所以填 test_mdyUdpIp。
注意以上兩個(gè)選項(xiàng)概念是不同的。有些人的模塊名與文件名不一致,這個(gè)要注意下。
在上圖 3 處,點(diǎn)擊后選擇測(cè)試文件,然后在 Add 中點(diǎn)擊,即可添加測(cè)試文件。
當(dāng)設(shè)置完成后,一路按 OK\APPLY 選項(xiàng),關(guān)閉設(shè)置窗口。
3. 運(yùn)行 RTL 仿真
在 QUARTUS 界面中,在 tools 中,選擇 Run Simulaton Tool,再選擇 RTL Simulaton。
此時(shí)開(kāi)始調(diào)用 MODELSIM 進(jìn)行綜合編譯和仿真。
MODELSIM 有可能會(huì)出現(xiàn)上面的錯(cuò)誤。
仔細(xì)閱讀錯(cuò)誤提示,該提示說(shuō)找不到 myUdpIp_18.vo 文件。并且是在運(yùn)行“udp_ip_example_run_msim_rtl_verilog.do”第 276 行時(shí)出現(xiàn)的錯(cuò)誤。
筆者在目錄下確實(shí)找不到 myUdpIp_18.vo 文件,百思不得其解,這個(gè)文件是哪里來(lái)的?!
不得已,去找 udp_ip_example_run_msim_rtl_verilog.do 看看。
如上圖,找到 udp_ip_example_run_msim_rtl_verilog.do 文件。
找到 276 行,確實(shí)是有一條語(yǔ)句要編譯 myUdpIp_18.vo 文件。仍然不明白為什么要編
譯:是生成的 IP 核少了這個(gè)文件,還是說(shuō)測(cè)試時(shí)多要求了這個(gè)文件。
沒(méi)有辦法的情況下,將 276 行屏蔽,嘗試不用此語(yǔ)句是否能成功。如上圖所示,加一個(gè)#,保存。
修改后,注意注意!是在 MODELSIM 的窗口中,按“向上箭頭”鍵,找到上面的語(yǔ)句do udp_ip_example_run_msim_rtl_verilog.do,按回車執(zhí)行。
千萬(wàn)不要在 QUARTUS 里調(diào)用仿真,那樣又會(huì)修改回 do 文件的。
執(zhí)行后果然沒(méi)有問(wèn)題,一切順利,如上圖所示。大家可以自由使用了。
4. 修改代碼調(diào)試
當(dāng)仿真發(fā)現(xiàn)問(wèn)題,修改完代碼后。沒(méi)有必要從第 3 步開(kāi)始(即不用 QUARTUS 調(diào)用MODELSIM)。而是直接在 MODELSIM 窗口中,選擇 compile,選擇修改的文件,compile。
然后在 MODELSIM 中 Restart,重新跑即可。