Добавить задержку между выборкой и проверкой

Я написал свойство утверждения. Я хочу добавить задержку между выборкой и проверкой действия.

В основном ниже утверждение говорит, что assert_sig должен быть стабильным, когда sig1 или sig2 1.

property check_assert(assert_sig, assert_sig_dis);
    @(assert_sig)
    disable iff(!lane_assertion_enabled || assert_sig_dis)
    ((sig1!==1'b1) && (sig2!==1'b1));
  endproperty

Теперь проблема заключается в том, что assert_sig отменяет утверждение одновременно с утверждением sig1. Вот почему утверждение не работает. Я хочу добавить задержку в 1 пс между проверкой действия и выборкой. Является ли это возможным? Или любой другой подход также будет оценен. Заранее спасибо.


person Jigar Vaidya    schedule 10.04.2019    source источник


Ответы (1)


Тактовые блоки обеспечивают перекос дискретизации

clocking as @(assert_sig)
input #1ps sig1;
endclocking

Затем используйте as.sig1 в своей собственности.

person dave_59    schedule 10.04.2019
comment
Привет, Дэйв, я попытался с вашим предложением, но я хотел бы упомянуть две вещи: 1. # 1ps во входных данных дает ошибку компиляции. Я изменил его на #1step, имеет ли это смысл? 2. Даже после этого я даже не вижу задержки, поскольку .sig1 в @(assert_sig) изменяется.. Спасибо - person Jigar Vaidya; 17.04.2019
comment
#1ps должно было сработать. См. пример в разделе 14.3 LRM. - person dave_59; 17.04.2019