Как записать утверждение ширины импульса, когда система настраивается
Сценарий: Сигнал active
может быть либо 1 цикл, 2 цикла, 3 цикла или 4 цикла в зависимости от config[1:0]
вход в модуль
Самый простой способ написать свойство для этого:
property p_PropA;
@(posedge clk) $rose active ##config ~active;
endproperty
Но это синтаксически неправильно. Как правильно написать это утверждение?
1 ответ
Решение
Вам нужно использовать локальную переменную, см. IEEE Std 1800-2012 § 16.10 Локальные переменные
Вот простой пример:
property p_PropA;
int count;
@(posedge clk)
($rose(active),count=config) |->
(active,count--)[*] ##1 (~active && count==0);
endproperty