国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
得荣县| 奉新县| 丰县| 六枝特区| 防城港市| 汉寿县| 会泽县| 云安县| 会东县| 奉贤区| 罗山县| 芜湖市| 鄂伦春自治旗| 宜宾市| 齐河县| 上虞市| 土默特左旗| 四平市| 门源| 年辖:市辖区| 老河口市| 兴仁县| 新蔡县| 友谊县| 鄯善县| 枣阳市| 冀州市| 兴义市| 永靖县| 龙南县| 墨玉县| 深泽县| 阳西县| 凉城县| 桐梓县| 贵定县| 大关县| 改则县| 德惠市| 三门峡市| 天峻县|