让我们举一个带有异步复位的广告触发器的简单示例。
q 应该在时钟的下一个边沿用 d 更新,这可以用简单的蕴涵运算符断言来编写。
但是如何在断言中捕获重置行为。我试过以下几个
assert @(posedge rst) (1'b1 |-> !Q);
assert @(posedge rst) (1'b1 ##0 !Q);
这两个断言都失败了,我认为是因为没有 rst 的下一个姿势?
assert @(posedge clk) ($rose(rst) |-> !Q);
通过但需要自由运行的时钟并在时钟的 2 个边沿之间断言(不是 rst 的内置行为)
assert #0 (not (rst & Q));
根据我的理解,这是一个正确的直接断言,但是我在波形查看器中看不到这个通过/失败。此外,我认为我将无法为最后一种断言写封面。