2

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

例如:

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

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

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

我该如何克服呢?

4

2 回答 2

2

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

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

请参阅IEEE Std 1800-2012 § 16.11 Calling subroutines on match of a sequence$display ,其中有一个在序列内调用的直接示例。

于 2017-02-02T18:58:21.047 回答
0

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

于 2017-02-08T07:23:14.950 回答