System verilog 如何在序列块中使用$display语句来显示系统Verilog断言(SVA)中的一些信息?

System verilog 如何在序列块中使用$display语句来显示系统Verilog断言(SVA)中的一些信息?,system-verilog,vlsi,asic,system-verilog-assertions,System Verilog,Vlsi,Asic,System Verilog Assertions,我希望序列块在执行时显示一些信息 e、 g: 我尝试了此代码,但遇到以下错误: 任务$display在需要函数的地方被调用。 请更正任务调用并重新编译 如何克服这个问题?您可以使用语法(sequence\u expr,sequence\u match\u item)在序列表达式中调用$display,其中sequence\u match\u item可以是运算符赋值、inc\u或dec\u表达式或子例程调用 sequence A; (a, $display("Signal A asserted

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

e、 g:

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

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


如何克服这个问题?

您可以使用语法
(sequence\u expr,sequence\u match\u item)
在序列表达式中调用
$display
,其中sequence\u match\u item可以是运算符赋值、inc\u或dec\u表达式或子例程调用

sequence A;
 (a, $display("Signal A asserted here"));
endsequence
请参阅§16.11在序列匹配时调用子例程,其中有一个直接示例,即在序列中调用
$display

您可以对$display语句使用“始终”块

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