最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

UVM with Modelsim WORK FLOW basic

2023-05-30 14:32 作者:谫劣求知  | 我要投稿

目標:對UVM實戰(zhàn)一書中2.5.2用例進行基本的命令行流程操作跑通。

代碼文件自張強書的example_and_uvm_source_code\puvm\puvm\src\ch2\section2.5\2.5.2


在用的時候,記得將dut.sv和其他組件代碼放在同一個文件夾下,modelsim工程最好也建在這個文件夾下”(modelsim建立工程時的work文件夾與上述代碼組件保持一致)


工程創(chuàng)建

注意,張強書中代碼并無dut.sv文件,可根據(jù)書本手動輸入,也可復制以下:


使用命令行形式在工程中完成UVM庫下的仿真:

第一句:將庫文件編譯到work目錄中

vlib work

此指令執(zhí)行時是在Library區(qū)域中創(chuàng)建一個工程目錄,一般默認有work,故輸入vlib work時可能會有:

若設置自定義名稱的工程目錄,例如work_test,則會有:

1

且Library中出現(xiàn)相應:

第二句:設置環(huán)境變量

UVM目錄,這個目錄是modelsim安裝的文件目錄,比如你的modelsim安裝在D:/modeltech64,這個就是:

set UVM_HOME?D:/modeltech64/verilog_src/uvm-1.1d

此處我的安裝包下是:D:\modeltech64_2019.2\verilog_src\uvm-1.1d

故指令:set?UVM_HOME?D:/modeltech64_2019.2/verilog_src/uvm-1.1d

注意反斜線改變了!

輸入及結果示例


第三句:設置工作目錄,指的是工程文件的目錄

就是你的dut.sv和top_tb.sv放在哪里了。

set WORK_HOME E:/KTRTL\/VM_LEARN2

輸入指令

注意,有的modelsim可能有如下截圖問題!

無法讀取指令

此時按上圖所示將反斜線去掉,以“:”作為分割即可!

工程根目錄截圖示意

注意可看到在vlib句中,本工程所在目錄下同樣創(chuàng)建了work_test。


第四句:啟動編譯

vlog +incdir+$UVM_HOME/src?

?-L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF

$UVM_HOME/src/uvm_pkg.sv? $WORK_HOME/dut.sv top_tb.sv

注意以上三行指令是一行,空格隔開

如:

“如果前面兩句都對了,這個肯定也是可以的,如果這里提示file can not ……in read mode

那么一般是文件路徑錯了,再細心檢查一下。”


第四句:啟動仿真

vsim -novopt ?-c -sv_lib

D:/modeltech64_10.4/uvm-1.1d/win64/uvm_dpi

work.top_tb +UVM_TESTNAME=my_case0

注意以上三行指令是一行,空格隔開

如:

其中注意,-novopt是舊版本modelsim選項,在2019.2(筆者)附近及以后新版中會報錯:vlog-12110,刪去即可。

繼續(xù)注意:uvm_dpi處是dpi庫,在一般安裝目錄下

此dll文件即是

將指令的目錄地址改成自己的就可以,直到../uvm_dpi.dll,注意把".dll"刪去。


摘錄注意1:每步指令一行寫完,不可換行輸入;

摘錄注意2:

如果,在你的top_tb.sv中, 寫的是

run_test(“my_case0”);

這樣的句子,那么最后一句使用

vsim -novopt -c -sv_lib

D:/modeltech64_10.4/uvm-1.1d/win64/uvm_dpi? work.top_tb

這樣命令行就可以進入仿真。

但是如果是用

run_test();

這樣的句子,需要修改進入仿真的語句。

原語句:

vsim -novopt -c -sv_lib

D:/modeltech64_10.4/uvm-1.1d/win64/uvm_dpi? work.top_tb

改成:

vsim -novopt ?-c -sv_lib

D:/modeltech64_10.4/uvm-1.1d/win64/uvm_dpi

work.top_tb +UVM_TESTNAME=my_case0

這里是只有一個case0的情況,如果有另外一個case文件,文件名是my_case1,則將最后的名字改為my_case1即可,張強這里的例子應該是后者。

注:有人說這里run_test();可能是不對的,可以改成run_test(“”);試試,我這里run_test();是可以的。



參考連接:



UVM with Modelsim WORK FLOW basic的評論 (共 條)

分享到微博請遵守國家法律
武冈市| 麦盖提县| 沭阳县| 金堂县| 宁城县| 银川市| 襄汾县| 酒泉市| 韶山市| 双柏县| 苏尼特左旗| 乐东| 广德县| 徐闻县| 甘肃省| 神池县| 厦门市| 宝丰县| 柳州市| 南乐县| 五台县| 剑河县| 赣州市| 扬中市| 勃利县| 赤峰市| 郧西县| 贵港市| 京山县| 岐山县| 咸丰县| 墨江| 钟祥市| 宜君县| 黑山县| 通山县| 澄城县| 萝北县| 遵义市| 巍山| 仁化县|