Как использовать $ assertoff, чтобы отключить утверждения ниже определенного уровня в иерархии - PullRequest
1 голос
/ 02 апреля 2019

Я хочу отключить определенные утверждения в различных блоках. Эти блоки генерируются с использованием параметров, поэтому их путь не всегда одинаков, и может быть несколько экземпляров блока (и утверждение). Есть ли способ «подстановки» пути и всех утверждений с определенным именем?

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

Например, замена:

$assertoff(0, genblk1.a_block.b_block.c_block[0].A_ASSERTION);
$assertoff(0, genblk1.a_block.b_block.c_block[1].A_ASSERTION);
$assertoff(0, genblk3.a_block.b_block.c_block[0].A_ASSERTION);

С чем-то вроде:

$assertoff(0, *A_ASSERTION);

1 Ответ

0 голосов
/ 02 апреля 2019

Нельзя использовать строки или символы подстановки для доступа к иерархическим путям из языка SystemVerilog. Большинство инструментов предоставляют доступ к строке через командную строку при отключении определенных оптимизаций. Проверьте ваши инструменты Руководство пользователя для эквивалентных команд.

...