【VCS】常见VCS编译Warning总结

1.Warning-[UII-L] Interfaec not instantiated

Interface ‘xxx_interfeace’ defined in logic library ‘work’ is never instantiated design.It will be ingored

工程中某些定义的interface没有被实例化,验证平台搭建中比较常见,可忽略。

2.Warning-[PCWM-W] Port connection width mismatch

……
The following 32-bit expression is connection to 1-bit port

有时候此类warning出现在对module例化过程中,比如直接对某一个1-bit的端口直接tie 0便会报此warning,改写为1’b0便可以消除此warning

3.UVM_WARNING @1.00ns reporter [CMPNFD] Component matching

‘xx.xx.amba_env_die0’ was not found in the list of uvm_components
Error-[NOA] Null object access

特别常见的一种空对象错误,报错的本质体现在WARNING中,引用路径中为发现amba_env_die0没有例化,但是自己确实在sub_env中例化了amba_env啊,为什么有问题?仔细一下&#x

### VCS 编译时 Coverage 警告问题分析 当在 VCS 中启用 `coverage` 并设置 `-cm` 或其他相关选项时,可能会遇到某些警告或错误提示。以下是针对您提到的 `warning coverage option ignored cm_glitch fsm path` 的具体原因和解决方案。 #### 1. 关于 `cm_glitch` 和 `fsm` 路径覆盖 VCS 支持多种类型的覆盖率收集方式,其中包括 FSM(有限状态机)路径覆盖和其他特定功能的覆盖模式。然而,在实际操作中,可能存在以下情况: - **Glitch Sensitivity**: 当使用 `-cm (line+cond+tgl)` 等选项时,可能触发一些与信号变化敏感度相关的警告。这是因为默认情况下,VCS 可能会检测到极短时间内的毛刺(glitches)[^3]。 - **FSM Path Ignored Warning**: 如果未正确配置 FSM 路径覆盖,则可能出现类似 `coverage option ignored` 的警告。这通常是因为编译阶段未能识别有效的 FSM 定义[^4]。 为了规避这些警告,建议采取以下措施: ```bash vcs -cm line+tgl+cond+fsm+assert+branch \ -cm_flex_fsm all \ -cm_line contassign \ -cm_cond full+tf_foranywidth \ your_design_files.sv ``` 上述命令通过增加 `-cm_flex_fsm all` 参数来增强对 FSM 路径的支持,并减少潜在的忽略警告。 --- #### 2. 配置 `-flex_merge` 解决方案 如果您正在尝试合并多个仿真运行中的覆盖率数据,而遇到了类似的警告消息,可以通过调整 `-flex_merge` 参数实现更灵活的数据处理。例如: - 使用 `-flex_merge drop`: 这种方法允许丢弃部分不一致的覆盖率条目,从而避免冲突引起的警告。 - 使用 `-flex_merge reference`: 将某个指定的覆盖率模型作为参考标准,其余数据基于此进行匹配。 - 使用 `-flex_merge union`: 合并所有可用的覆盖率记录,即使存在轻微差异也不会报错。 示例命令如下所示: ```bash vdb merge -o merged_simv.vdb \ simv_run1.vdb \ simv_run2.vdb \ -flex_merge union ``` 这种做法能够有效缓解因不同仿真环境间细微差别而导致的覆盖率丢失或重复计算问题。 --- #### 3. 检查 Simulaton Database 文件结构 确保生成的 `.vdb` 数据库文件夹内包含完整的覆盖率信息。按照引用描述,正常流程应为: - 编译阶段:执行带 `-cm` 参数的编译指令后,确认目标目录下已创建 `simv.vdb` 文件夹[^2]。 - 仿真阶段:继续传递相同的 `-cm` 参数至仿真脚本,最终形成详细的 XML 报表存储位置如 `testdata/your_cm_name` 下。 如果发现任何中间环节缺失,需重新验证整个工作流的一致性和参数完整性。 --- #### 4. 打开 HTML 版报告查看工具 最后一步是利用 URG 工具生成可视化网页形式的结果页面。假设您的项目根目录位于 `${sim}` ,则可通过浏览器加载对应链接访问交互界面: ```bash firefox ${sim}/urgReport/dashboard.html & ``` 该步骤有助于快速定位哪些模块或测试用例贡献较低甚至完全没有被统计入总覆盖率之中。 --- ### 总结 通过对以上几个方面的优化调整,可以显著降低乃至完全消除由不当配置引发的各种覆盖率相关警告现象。务必仔细核验每一轮迭代后的输出日志以及汇总报表内容准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值