Определите корзину покрытия в системном Verilog, используя инкрементные значения
Я пытаюсь определить покрытие с помощью systemverilog для большой зоны покрытия. Например, я хотел бы определить корзину, которая начинается в 24'h000000
заканчивается на 24'h001ff0
и увеличивается на 24'h000008
, Я пробовал это до сих пор; однако, он не компилируется.
bins scratchpad = {24'h000000:24'h000008:24'h001ff0};
Это дает синтаксическую ошибку: syntax error: token is ':'
,
Есть ли способ избежать явной записи всех точек покрытия? Я знаю, что могу определить корзину с {24'h000000:24'h001ff0}
, но это содержит пункты, которые я не хочу включать.
1 ответ
Решение
Вы можете добавить with
пункт
bins scratchpad[] = {[24'h000000:24'h001ff0]} with (item % 8 == 0);
См. http://go.mentor.com/ready-for-systemverilog-2012 для других вариантов и раздел IEEE 1800-2012 LRM 19.5.1.1