ncverilog后仿反标sdf?
IUS的doc目录,\doc\ncvlog\ncvlog.pdf, 看 SDF Timing Annotation,好运
简单点就是在 test bench中加入下面的语句
- initial
- begin
- $sdf_annotate("file.sdf",,,"file.log","MAXIMUM"); end
我按照您所说的,在testbench里加上了$sdf_annotate("Multiply.sdf",tb_mult_compare.lm,,,"MAXIMUM");
但是运行ncverilog时遇到了这个warning:
ncelab: *W,SDFNEP: Failed Attempt to annotate to non-existent path (IOPATH (posedge A) Y) of instance tb_mult_compare.lm.mult_8.U111 of module XOR2X4 <./Multiply.sdf, line 1190>.
但是sdf文件1190行之前的可以反标啊。
这是怎么回事?
注:sdf1190行是这句:(IOPATH (posedge A) Y (0.112:0.114:0.114) (0.114:0.115:0.115)) 我怀疑是不是跟posedge有关。我看了一下log文件,所有的warning 都含有negedge 或者posedge。
你反标后,编译成功没有,还有运行成功没?如果都成功了,就是不是语法的问题,而是你的时序存在问题
成功运行了,能看到波形。这说明是时序问题?
那应该就是了
既然有波形,说明运行成功了
你可以根据各级时钟是否有小的延时差别判断是否反标成功
然后,修改一下激励的延迟大小,看是否能满足时序,消除掉你的error
应该是上升沿的建立/保持时间达不到要求
