如何在序列块中使用$ display语句,在System Verilog Assertions(SVAs)中显示一些信息?

时间:2017-02-02 17:51:52

标签: system-verilog vlsi asic system-verilog-assertions

我希望序列块在执行时显示一些信息。

e.g:

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

我尝试了这段代码,但遇到了以下错误:

在需要函数的地方调用Task $ display。   请更正任务调用并重新编译。

我如何克服这个问题?

2 个答案:

答案 0 :(得分:2)

您可以使用语法$display在序列表达式中调用(sequence_expr, sequence_match_item),其中sequence_match_item可以是operator_assignment,inc_or_dec_expression或subroutine_call。

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

参考IEEE Std 1800-2012§16.11调用序列匹配的子程序,该序列具有在序列中调用$display的直接示例。

答案 1 :(得分:0)

您可以对$ display语句使用“always”块。