2017-03-01 160 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

就我個人而言,我只是將這段代碼移動到接口文件中。

相關問題