我有这个断言是为了检查 clk 频率:
assert property clk_freq;
int cnt;
@(posedge fast_clk, clk_1MHz) disable_iff(!enable_check)
($rose(clk_1MHz), cnt=0) |=> (!$rose(clk_1MHz),cnt++) [*0:$] ##1 $rose(clk_1MHz), cnt==fast_clk_freq;
endproperty
在 disable_check 被置位后,fast_clk 在仿真期间(而不是从开始)开始切换。问题是断言似乎忽略了disable_iff
问题:即使断言被禁用(或者我是否遗漏了其他东西?),是否“注册”了一个 $rose(clk_1Mhz) 事件