Specman e: ошибка одновременных событий - PullRequest
0 голосов
/ 27 мая 2018

в моем окружении у меня есть сигнал, который не должен меняться между двумя временными точками.Чтобы проверить это, я использую правило expect:

my_signal : uint; 
event first_e; -- First time point
event second_e; -- Second time point
expect @first_e => {[0..]*(not {change(my_signal)}); @second_e} @clock;

Проблема в том, что @second_e и change(my_signal) происходят в одном и том же цикле (и это нормально), но правило expect не выполняется.

У вас есть идея, как можно решить?Может быть, есть какой-то способ указать порядок событий или сказать, что в одном и том же цикле возникновение в порядке?

Спасибо за помощь

1 Ответ

0 голосов
/ 29 мая 2018

ваша последовательность не указывает, что тот же цикл в порядке.

попробуйте это:

event my_sig_change is change(my_signal)@clock;
expect @first_e => {[0..]* not @my_sig_change; @second_e or (@second_e and @my_sig_change) } @clock;
...