ModelSim 通用 do 脚本直通 (vsim -c)
fpga_msim_doRun arbitrary ModelSim do/Tcl scripts in headless vsim -c mode, enabling coverage, UVM, waveform capture, and custom run control with automatic quit to prevent hangs.
Instructions
对 vsim -c 跑任意 do/Tcl,覆盖长尾:coverage(coverage save/report)、force/examine、add wave、UVM(+UVM_TESTNAME)、WLF 分析、自定义 run 控制等。强制 headless(-c)+末尾自动 quit -f(防挂)。纯仿真脚本自由跑;含可触达宿主的命令(Tcl exec / file delete|rename|copy|mkdir / open 写)需 confirm:true(仿 fpga_cdt 写器件护栏)。可给 top 让工具 vsim .,或在脚本内自行 vsim/vlog/vcom。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| lib | No | 库名,默认 work(仅 top 给定时用) | |
| top | No | 可选:给定则 vsim <lib>.<top>;省略则脚本需自行 vsim | |
| host | No | 远程执行设备 id(hosts.<id>.modelsim.home;省略=本机)。远程时把 workdir 顶层源文件浅推到该设备临时目录后跑 vsim -do(do 宜自包含/引用已 stage 的文件)。 | |
| detail | No | 返回粒度,默认 summary | |
| confirm | No | 脚本含可触达宿主的命令(exec/文件写)时必须 true;纯仿真脚本无需 | |
| workdir | Yes | 工作目录绝对路径(cwd;通常含已编译的库或先用 fpga_msim_compile) | |
| commands | No | do 命令(每行一条);与 doScript 二选一 | |
| doScript | No | 完整 do/Tcl 脚本(与 commands 二选一) | |
| vsimArgs | No | 追加给 vsim 的参数,如 -coverage、-gG=1、+UVM_TESTNAME=test | |
| timeoutSec | No | 超时秒数,默认 300 |