我必须在我的监视器中编写以下并发断言:
assert property (vif.cos == 1 |-> vif_out.y == vif.xi/sqrt(2));
我试图将它放在 run_phase 中,但出现以下错误:任务/类方法中不允许并发断言。
我应该把它放在哪里?
我必须在我的监视器中编写以下并发断言:
assert property (vif.cos == 1 |-> vif_out.y == vif.xi/sqrt(2));
我试图将它放在 run_phase 中,但出现以下错误:任务/类方法中不允许并发断言。
我应该把它放在哪里?
请参阅IEEE Std 1800-2012第 14.16 节(并发断言)。
可以在以下任何一种中指定并发断言语句:
- 作为语句的始终过程或初始过程,无论这些过程可能出现在何处
- 一个模块
- 一个界面
- 一个程序
- 生成块
- 一个检查器
就个人而言,我只是将那段代码移动到接口文件中。
任务/类方法中不允许并发断言。你必须把它们放在一个模块或类似的(接口/程序/检查器)中。