【发布时间】:2025-10-27 04:05:01
【问题描述】:
我在一个 python 程序的 cmd 中运行 Modelsim。 我使用以下代码调用运行 modelsim 的 tcl 脚本:
os.system("vsim -c -do top_tb_simulate_reg.tcl " )
tcl 脚本包含以下内容:
vsim -voptargs="+acc" +UVM_TESTNAME=test_name +UVM_MAX_QUIT_COUNT=1 +UVM_VERBOSITY=UVM_LOW \
-t 1ps -L unisims_verm -L generic_baseblocks_v2_1_0 -L axi_infrastructure_v1_1_0 \
-L dds_compiler_v6_0_12 -lib xil_defaultlib xil_defaultlib.girobo2_tb_top \
xil_defaultlib.glbl
我希望 +UVM_TESTNAME 的值是我在执行时从 cmd 传递的参数:
os.system("vsim -c -do top_tb_simulate_reg.tcl " )
我该怎么做?
我尝试了以下但没有成功:
Python 脚本:
os.system("vsim -c -do top_tb_simulate_reg.tcl axi_rd_only_test" )
模拟文件(tcl脚本)
vsim -voptargs="+acc" +UVM_TESTNAME=$argv +UVM_MAX_QUIT_COUNT=1 +UVM_VERBOSITY=UVM_LOW \
-t 1ps -L unisims_verm -L generic_baseblocks_v2_1_0 -L axi_infrastructure_v1_1_0 \
-L dds_compiler_v6_0_12 -lib xil_defaultlib xil_defaultlib.girobo2_tb_top \
xil_defaultlib.glbl
我收到以下错误:
# ** 错误:(vsim-3170) 找不到“C:/raft/raftortwo/girobo2/ver/sim/work.axi_rd_only_test”。【问题讨论】:
-
你应该说出错误信息是什么。或者我们可以玩“戴上眼罩猜猜问题”……
-
您可以将所有内容(vsim 命令、tcl 脚本及其参数转储到临时 shell 脚本 - 动态创建)并执行 os.system('foo.sh')。