2017-02-02 15 views
1

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

.: например

sequence A; 
a; 
$display ("Signal A asserted here"); 
endsequence 

Я попробовал этот код, но столкнулся со следующей ошибки:

Задача $ дисплей вызывается, когда функция, как ожидается. Исправьте вызов задачи и перекомпилируйте.

Как мне преодолеть это?

ответ

2

Вы можете вызвать $display в выражении последовательности с синтаксисом (sequence_expr, sequence_match_item), где sequence_match_item может быть параметром operator_assignment, inc_or_dec_expression или подпробой_call.

sequence A; 
(a, $display("Signal A asserted here")); 
endsequence 

Обратитесь к IEEE Std 1800-2012 § 16.11 Вызов подпрограмм на матч последовательности, которая имеет прямой пример $display быть вызван в пределах последовательности.

0

Вы можете использовать блок «всегда» для операторов отображения $.