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
附近。
显示“(”附近的语法错误,接近满和空,语法错误几乎全部
@
。
我哪里出错了?
您需要为
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