2015-09-29 1 views
1

Как определить зону покрытия для перехода, которая может иметь много повторений в ней? То, что я пытаюсь сделать, это примерно так:Неограниченные (бесконечные) повторения в переходах для контейнеров для групповых групп

bins st = (2=> 3[* 1:$] => 2); 

Конечно, это не работает. При компиляции этой строки симуляторы выдают сообщения об ошибках.

Редактировать: Симуляторы жалуются на символ $, они не признают его «неограниченным максимумом». Однако при записи последовательностей законно использовать последовательный оператор повторения как [* 1:$]. Я надеюсь, что следующая версия SystemVerilog сделает ее законной для обложки.

В качестве грубого обходного решения я заменил $ на большое количество, поэтому он отлично работает для моего дела.

bins st = (2=> 3[* 1:1000] => 2); 

ответ

1

Передвижные ящики SystemVerilog не были предназначены для обработки каких-либо простых проходов. Все более сложное должно быть смоделировано с использованием директивы cover или некоторой комбинации последовательности. triggered() метод и covergroup.

Смежные вопросы