Я хочу проверить, равно ли текущее значение переменной «1», тогда предыдущее значение переменной должно быть «0». Я использую $ past в утверждениях System Verilog. Здесь я проверяю, если cal_frame_mode = 1, то это предыдущее значение cal_frame_mode = 0. Мой код ниже. Однако я вижу ошибку утверждения. Когда я проверяю сигнал, он ведет себя правильно. Утверждение отмечает 2 часа после первой проверки. Как остановить это утверждение после проверки всего одного такта ?.
property p_NOP_2_RX_CAL;
@(posedge clk)
(cal_frame_mode==3'b001) |-> ##2 $past(cal_frame_mode)==3'b000;
endproperty
assert_nop2cal : assert property(p_NOP_2_RX_CAL);