You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Modelsim/Questa报vish-4014找不到/*对象do脚本提前退出如何解决

解决方案

1. 让do脚本遇错不终止

你可以通过以下两种方式实现,都不会中断脚本运行,适配无对象的空设计场景:

  • 方案1:使用Tcl catch 命令单独捕获log命令的错误
    把你的sim.do脚本修改为:
    # 捕获log命令的错误,即使没有匹配对象也继续执行
    catch {log -r /*}
    run -all
    
  • 方案2:全局配置脚本出错自动继续
    在sim.do脚本开头添加全局错误处理规则:
    onerror {resume}
    #Log all objects in the design.
    log -r /*
    run -all
    

2. 排查+acc不生效、无匹配对象的问题

你当前的仿真脚本存在明显配置错误,修正后即可正常识别所有信号:

  • 模块名不匹配:你提供的Verilog源码模块名为test_width,但vsim命令中启动的仿真模块是test_setup,如果test_setup为空模块/无内部信号,自然会报无匹配对象,先核对仿真的目标模块名。
  • 优化参数调整:如果确认模块名正确还是识别不到信号,可以在vsim启动参数中添加-novopt完全关闭优化(2021及以上版本Questa替换为-voptargs=+acc=npr),修改后的vsim命令参考:
    C:/questasim64_2020.4/win64/vsimk.exe -c test_width -wlf simout.setup.wlf -l simout.setup.log  -voptargs=+acc -novopt -t 1fs -debugdb  -do "do simout.setup.sim.do"
    

内容的提问来源于stack exchange,提问作者pico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:54:04