如何阅读SDF文件

来源:互联网 发布:dedecms改cms不变 编辑:程序博客网 时间:2024/05/18 15:25


sdf- standrad dealy format,标准延时格式文件。


作为一个ASIC工程师,需要时常和这个东西打交道,比如synthesis,STA,post-simulation,eco。也算是一个非常基本的概念,但也时常发现很多工程师对此认识模糊不清,所以写写。


First, delay分为cell delay 和wire delay.顾名思义,cell delay是指元器件内部的delay,wire delay是器件互连Pin-to-pin的delay。


真正的delay,就是这两者的累加。


举个例子:


  (CELL
    (CELLTYPE  "NR2D1")    // cell name
    (INSTANCE  u434)    // cell instantiate name
      (DELAY
 (ABSOLUTE
 (IOPATH A1 ZN  (0.0812::0.0841) (0.0379::0.0395))   //cell delay,A1-->ZN
 (IOPATH A2 ZN  (0.1350::0.1350) (0.0994::0.0994)) //cell delay A2-->ZN
 )
      )
  )


以上是Back end return的 sdf 文件,描述了一个2输入或非门的器件,例化名u434,给出了该器件从输入到输出的每条路径的delay值。


再看,


 (INTERCONNECT  u434/Z  u444/A2  (0.028:0.029:0.029) (0.030:0.031:0.031))


//                                                           上升沿传输delay                       下降沿传输delay


以上是一个wire delay得描述,从u434的Z Ouput pin到U444的A2 input pin,给出了上升delay(rising edge transmit delay)和下降delay(falling edge transmit delay). 括号内的时间分别是最小(Tmin)/典型(Ttyp)/最大(Tmax)delay。


由上即可计算出,由u434的任一输入端到u444的A2端的总延时。


当然,在一个大型的高速ASIC器件中,这只是一个基本的sdf文件(basic sdf file),实际上,我们还会考虑outbound,couple等问题,会有附加的其它sdf文件来描述相应导致的增加delay,最后总的delay还是累加算出。


关于基本元器件的时序定义,就不再进行解释,在任意一本verilog书籍里都可以看到。


P.S 有时在做post-simulation时,会出现不能标上(annotate)sdf的情况,这时就需要仔细检查simulation报出的信息与sdf对应的cell是否一致,是否path相同,例化名正确等。




0 0
原创粉丝点击