0
我正在学习SystemVerilog声明。我申请了SVA来检查有效的规范。规格如下:SystemVerilog声明有效(请求) - ack检查?
当有效驱动(0到1)时,有效应该等于1 ,直到ack被驱动(1)。当确认无效(1到0)时,有效的 也被取消断言(1到0)。
为了检查这个规范,我写了两个属性(pr1和pr2)。您可以从下面的链接看到SVA代码。 https://www.edaplayground.com/x/5gHd
我预计两个属性完全相同。然而,pr2并不像我预期的那样工作(我预计断言可能在50ns失效,因为有效等于1,但在50ns时ack等于0)。
波形:https://www.edaplayground.com/w/x/u5
什么是错在PR2(在50ns的)?
此致
'pr1'乍一看显得正确。无论'ack'在做什么,只要'valid'被声明,'pr2'中的第一个后置条件就会匹配。这可能不是你想要的。 – Teajay