2
让我们举一个简单的例子,说明异步复位的d触发器。如何为异步复位行为编写断言
q应该在时钟的下一个边沿上用d更新,这可以用简单的蕴涵算子断言来写。
但是如何在断言中捕获重置行为。 我试过以下几条
assert @(posedge rst) (1'b1 |-> !Q);
assert @(posedge rst) (1'b1 ##0 !Q);
这两个断言失败了,我想这是因为第一个没有未来posedge?
assert @(posedge clk) ($rose(rst) |-> !Q);
通行证,但需要自由运行的时钟,并且时钟的2个边之间有效(未安inteded的第一个行为)
assert #0 (not (rst & Q));
按我的理解,这是一个正确的立即断言,不过,我可以看不到这个波形查看器通过/失败。更进一步,我认为我不能在最后一种断言中写封面。
谢谢,更新了我的断言。初步测试正在通过。我会跑西装看看结果。现在我不需要运行它与r2q延迟,但很好知道:) – wisemonkey