书中原文
当my_case0运行的时候需要修改代码, 重新编译后才能运行; 当my_case1运行时也需如此, 这相当不方便。 事实上, UVM提
供对不加参数的run_test的支持:
文件: src/ch2/section2.5/2.5.2/top_tb.sv
50 initial begin
51 run_test();
52 end
在这种情况下, UVM会利用UVM_TEST_NAME从命令行中寻找测试用例的名字, 创建它的实例并运行。 如下所示的代码可
以启动my_case0:
<sim command>
… +UVM_TEST_NAME=my_case0
我的sim.do文件
file delete -force work
set UVM_DPI_HOME D:/modeltech64_10.5/uvm-1.1d/win64
vlib work
vlog -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF *.sv
vlog -L mtiAvm -L mtiOvm -L mtiUvm -L mtiUPF ../../dut/dut.sv
vsim -c -sv_lib $UVM_DPI_HOME/uvm_dpi work.top_tb +UVM_TESTNAME=my_case0
这样写以后 实际并没有执行my_case0。胡搞很久,试过很多方法,搜索很多论坛,都没有成功。
最后才回到mentor官网搜索UVM_TESTNAME(自己英语不好,所以遇到问题基本都是最后才不得不去官网)
还好,官网里就这么一个搜索结果
Next, call the run_test method of uvm_test to create the UVM environment based on the UVM_TESTNAME as follows:
run_test(“”)
run -all
发现跟书中代码run_test();有点不同。于是改代码为run_test("");再运行。成功。欧耶