SVA 断言编译语法错误

问题描述 投票:0回答:1
assert property @(posedge(clk)) !rstN |-> n==0 && full==0 && empty==1;
assert property @(posedge clk) disable iff(!rstN) ( full |=>(wr_en  && $stable (n) ) );
assert property @(posedge clk) disable iff(!rstN) (empty |=>(rd_en && $stable (n)) );

错误显示在

@
full
empty
附近。

显示“(”附近的语法错误,接近满和空,语法错误几乎全部

@

我哪里出错了?

verilog system-verilog assertion formal-verification system-verilog-assertions
1个回答
0
投票

您需要为

property
代码添加括号。请参阅 IEEE Std 1800-2017,第 16.12 节声明属性以获取代码示例。

这是一个完整的代码示例,编译时没有语法错误:

module tb;
   bit clk, rstN, n, full, empty;
   assert property (@(posedge(clk)) !rstN |-> n==0 && full==0 && empty==1);
endmodule
© www.soinside.com 2019 - 2024. All rights reserved.