为什么以下断言在开始时仅命中一次,而未进入非活动状态并保持在完成状态?

问题描述 投票:0回答:1

enter image description here以下是一个断言属性。当o_dc_mode = 1时,则o_mod_c_c == rego_dc_c_c。从波形中可以看到,一旦ASK_MOD_DC_MODE_PROPERTY击中了场景,即使o_dc_mode = 0,它也保持在“完成”状态,永远不会进入非活动状态。

property ASK_MOD_DC_MODE; 
@(posedge OSC64MHZ) 
o_dc_mode |->  (o_mod_c_c == rego_dc_c_c);
endproperty

ASK_MOD_DC_MODE_PROPERTY: assert property (ASK_MOD_DC_MODE)
$info("Assertion ASK_MOD_DC_MODE passed");
else
$error("Assertion ASK_MOD_DC_MODE failed");

以下是一个断言属性。当o_dc_mode = 1时,则o_mod_c_c == rego_dc_c_c。从波形中可以看到,一旦ASK_MOD_DC_MODE_PROPERTY击中了场景,它就保持在“完成”状态...

system-verilog-assertions
1个回答
0
投票

您知道在并发断言中,模拟器具有性能优化功能,该性能优化禁止在断言状态与上一个周期相同的周期上评估单个周期断言。

© www.soinside.com 2019 - 2024. All rights reserved.