在cadence 的 ncsim 上如何跑 systemverilog assertion
时间:10-02
整理:3721RD
点击:
我希望用sva验证设计中的一个模块,在design文件中的相应module中编写了assertion,但是跑case的时候跑步起来,我想问一下是不是需要其他的一些操作或者指令来打开assertion这个功能呢?property p1;
@(posedgeclk)$fell(LMWLAST) |-> $stable(OBFS_wadr_int[31:7])throughout (LMVALID && LMWLAST);
endproperty
a1: assert property (p1);
c1: cover property (p1);
$dispaly(“property p1 passed”)
else
$display(“propertyp1 fell at %t ns ”, $time)
我把上面这段assertion加入到想要验证的module里面,然后跑case的时候总是提示error,说要在第一行p1用括号括起来,还要在第二行加入endmodule关键字,我觉得我的代码没问题,都是按照教材上的语法来写的,是不是nc的assertion功能还没有打开的原因呢?
求各路大神提点,拯救我这只小白
@(posedgeclk)$fell(LMWLAST) |-> $stable(OBFS_wadr_int[31:7])throughout (LMVALID && LMWLAST);
endproperty
a1: assert property (p1);
c1: cover property (p1);
$dispaly(“property p1 passed”)
else
$display(“propertyp1 fell at %t ns ”, $time)
我把上面这段assertion加入到想要验证的module里面,然后跑case的时候总是提示error,说要在第一行p1用括号括起来,还要在第二行加入endmodule关键字,我觉得我的代码没问题,都是按照教材上的语法来写的,是不是nc的assertion功能还没有打开的原因呢?
求各路大神提点,拯救我这只小白
up up up! 自己顶一个!
没有大神知道吗
编译时可加上 -sv 选项
我还是不太理解这个-sv的意思,这是一个command吗?我输入这个显示command not found,应该怎么加呢?
我是直接用./sim_nc.pl 1 nc 这样的指令跑仿真,现在编译和仿真应该是一步操作吧?
Assertion是SystemVerilog语言,仿真时需要加上-SV命令,才能让编译器识别Assertion,不然默认Verilog是不识别的。