提问人:yildizabdullah 提问时间:4/6/2022 更新时间:8/19/2022 访问量:297
SVA中的门级时序检查
Gate-level timing checks in SVA
问:
我需要在时钟边沿出现一定时间后检查信号值。例如,我想检查信号 b 是否在正边时钟发生后置位至高 1ps。
SVA 是否为此提供了语法?
答:
1赞
dave_59
4/6/2022
#1
system-verilog-assertions 不打算用作门级时序检查。Verilog已经提供了许多内置和优化的时序检查,如$setuphold和$skew。见第31节。 IEEE 1800-2017 SystemVerilog LRM 中的时序检查。
时序检查通常表示为限制,即断言发生在时钟边沿后至少 1ps,或在时钟边沿后最多 1ps 发生。另外,必须在每个时钟边沿之后断言?无论这些问题的答案如何,都可以使用 SVA 对时序检查进行建模,但您必须根据实际要求手动创建方程式。例如b
property p;
realtime timestamp;
@(posedge c) ($rose(a), timestamp = $realtime) |=>
@(posedge b) $realtime - timestamp < 1ps;
endproperty
评论
0赞
yildizabdullah
4/6/2022
如果 a 为高电平,则 b 应该在正时钟发生后置位至高 1ps,这实际上是我想检查的。
1赞
dave_59
4/6/2022
@yildizabdullah,我更新了代码以反映您的其他要求。
0赞
yildizabdullah
4/6/2022
隐含运算符不应该是而不是吗?|=>
=>
上一个:Java Flux 中的延迟增加
下一个:每秒创建一个新的可组合元素
评论