在我正在使DUT通信的设计规范中,要求在active_clk信号为高电平时产生字时钟和位时钟。我在使用SVA方面经验不多,所以希望有更多经验的人可以指出我正确的方向,或者更好,提供解决方案。
答案 0 :(得分:1)
有一个始终开启的时钟,您可以使用它来预测某些固定/计算持续时间内其他2个时钟的上升/下降沿。类似下面的代码:
bit aon_clk;
always #1 aon_clk = ~aon_clk;
property clk_chk;
@(aon_clk)
// Within say 25 Always ON Clks, you should expect a rise/fall of bit_clk
active_clk |=> ##[0:25] $rose(bit_clk) && active_clk ##[0:25] $fell(bit_clk) && active_clk;
endproperty
assert property (clk_chk) else $display($time," Clks not generated");