微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > ncverilog后仿反标sdf?

ncverilog后仿反标sdf?

时间:10-02 整理:3721RD 点击:
已经用DC生成了网表和sdf文件,想在后仿的时候把sdf文件加进来观察延时,求问板上各位大牛,用什么命令可以在ncverilog后仿时反标sdf文件?我在网上查到有人在testbench里加入$sdf_annotate,小弟不知道这个命令怎么用。求助。

IUS的doc目录,\doc\ncvlog\ncvlog.pdf, 看 SDF Timing Annotation,好运
简单点就是在 test bench中加入下面的语句

  1. initial
  2.         begin
  3.              $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
    应该是上升沿的建立/保持时间达不到要求

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top