0

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

考虑以下:

在此处输入图像描述

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

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

我期望 RTL​​ 模拟器在 _T_6 的值发生变化时评估这两个语句的次数相等。RTL 模拟器在模拟过程中如何处理这些语句?

4

1 回答 1

1

每当右侧的信号发生变化时,都会评估连续赋值语句。因此,即使_T_6没有改变,条件表达式的非活动分支上的更改仍然会导致评估。

如果_T_6是参数而不是信号,则有一些优化可能会减少条件表达式并消除一些评估。

于 2020-09-09T18:09:04.740 回答