我有一个调用vsim -c -do test.tcl的批处理文件,完成后我想再执行一些代码。问题是在命令行中它保留在vsim命令中,并且不返回执行批处理文件中的下一条指令。
像这样:
vsim -c -do test.tcl< ----卡在这里
如果存在test1 del test1< ---不能执行此
答案 0 :(得分:2)
您必须通过将vsim
命令放在test.tcl的末尾来告诉quit
退出(假设它是一个简单的直线脚本)。否则它将保持交互模式,等待更多命令。
-do
选项有两个变体。一个脚本文件名作为参数。另一个需要一串Tcl命令。如果您想在命令行模式下手动运行模拟,可以使用选项-do "run -all; quit"
在没有脚本的情况下获得相同的效果。
答案 1 :(得分:1)
vsim -c -do "do test.tcl; quit -f"
或
vsim -batch -do "do test.tcl; quit -f"
答案 2 :(得分:0)
您似乎认为每个人都熟悉vsim
。请让我向你保证,你的工作严重错误。
你是什么意思"留在vsim命令"?批次是否终止?
如果vsim是批处理文件,那么解决方案可能就是您发布的内容。
vsim -c -do test.tcl
应该是
call vsim -c -do test.tcl
将执行vsim
并在vsim
完成后继续。