Квалификация SVA ## [0: $] в симуляции - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть следующее свойство SVA:

$rose(hresetn) |-> (
        ##[0:$] $rose(signal_a)
        ##[0:2] ($rose(signal_b));

Если во время моделирования signal_a никогда не поднимался (что является функционально приемлемым), мой тест закончится с ошибкой?Симуляторы квалифицируют ##[0:$] как ошибку / нарушение, если это никогда не происходило во время выполнения, или оно будет рассматриваться как свойство, которое никогда не будет удовлетворено?

Спасибо.

1 Ответ

0 голосов
/ 25 ноября 2018

SystemVerilog имеет свойства weak и strong.По умолчанию все является слабым, то есть ни одно совпадение не является просто неполным утверждением, которое не проходит или не проходит.Некоторые инструменты могут сообщать о любой попытке подтверждения, которая никогда не завершалась.Но есть также квалификатор свойства strong, который сообщит об ошибке, если к концу симуляции не будет найдено соответствия последовательности.(Обратите внимание, что не все инструменты реализовали эту функцию)

...