SystemVerilog断言:使用两个时钟

时间:2019-01-08 07:05:24

标签: system-verilog system-verilog-assertions

我需要检查此要求

  

Serial_in_FF2_meta_out信号从短于两个Serial_CLK时钟周期的脉冲中滤除,并在3个Serial_CLK脉冲之后在CLK_int的上升沿传递到Serial_out。

如您所见,我在这里有两个时钟:

property Rx_Filter_V3_5_1;
    @(posedge Serial_CLK )
    disable iff(!RST_in)
    (Enable) and (Serial_in_FF2_meta_out)[*2] |=> ##3 (Serial_out === $past(Serial_in_FF2_meta_out,3));
endproperty 
DS_3_4_31_5_1:
assert property(Rx_Filter_V3_5_1);
cover property(Rx_Filter_V3_5_1);

这里的问题是在3个Serial_CLK脉冲之后,模拟器等待Serial_CLK的另一个上升沿(因为我需要一个非重叠的蕴涵运算符)进行检查。 好吧,我认为这很正常,因为我定义了Serial_Clk的@pos,我需要模拟器在CLK_int而不是Serial_CLK的上升沿上进行检查

NB:由于Serial_CLK频率变化,我无法在两个时钟之间建立方程式

0 个答案:

没有答案