2017-03-01 45 views
0

我要写以下并发断言在我的显示器:我在哪里可以在监视器中写入并发断言?

assert property (vif.cos == 1 |-> vif_out.y == vif.xi/sqrt(2)); 

我试图把它的run_phase,但我得到了以下错误: 并发断言不会在任务/类方法允许的。

我应该把它放在哪里?

+0

您可以在模块,接口,程序,时钟块或程序包内声明并发断言。请纠正我,如果有任何其他范围,你可以声明并发断言。 –

回答

0

并发断言在任务/类方法中是不允许的。你必须把它们放在一个模块或类似的(接口/程序/检查器)中。

1

请参阅IEEE Std 1800-2012,第14.16节(并发断言)。

A concurrent assertion statement may be specified in any of the following:

  • An always procedure or initial procedure as a statement, wherever these procedures may appear
  • A module
  • An interface
  • A program
  • A generate block
  • A checker

就我个人而言,我只是将这段代码移动到接口文件中。

相关问题