在RTL仿真中评估SystemVerilog分配语句

问题描述

我试图理解为什么当两个语句的条件表达式相同时,两个SystemVerilog Assign语句的语句覆盖范围可能会彼此不同。

请考虑以下内容:

enter image description here

如图所示,这两个语句的条件表达式相同,即 _T_6

但是,语句的命中数(即语句覆盖率)不同(请注意最左边的数字)。

我期望RTL仿真器应该在_T_6的值更改时对两个语句进行相等次数的评估。 RTL仿真器在仿真过程中如何处理这些语句?

解决方法

只要右侧的信号发生变化,连续赋值语句就会得到评估。因此,即使for-loop不变,条件表达式的非活动分支上的更改仍会导致求值。

如果_T_6是一个参数而不是一个信号,那么有些优化可能会减少条件表达式并消除一些求值。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...