如何创建一个断言,该断言是否连续3个循环超过3个信号是否不高?
我正在尝试为我的Systemverilog设计编写一个断言,该断言检查信号是否从未超过3个周期(隐含地必须被删除)。我的信号称为“ req”,我想到这样做这样的事情:
sequence req_three_seq;
req ##[1:2] (~req);
endsequence
property reg_three_prop;
@(posedge clk)
disable iff (reset)
(req) |-> req_three_seq;
endproperty
我该怎么做才能创建我需要的断言?
I am trying to write an assertion for my SystemVerilog design which checks if a signal is never high for more than 3 cycles (implicitly it must be de-asserted eventually). My signal is called "req" and I thought about doing something like this:
sequence req_three_seq;
req ##[1:2] (~req);
endsequence
property reg_three_prop;
@(posedge clk)
disable iff (reset)
(req) |-> req_three_seq;
endproperty
What can I do instead to create the assertion I need?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您始终可以添加一个辅助行的辅助块:
另外,您可以将块和属性包裹在
ifdef
中,以免将附加的块和信号提出综合。You could always add a helper block, something along the lines of:
Also, you could wrap the block and property in an
ifdef
, so that you do not pull the additional block and signal into synthesis.