后仿真中sdf标注的延时与verdi看波形的延时
时间:10-02
整理:3721RD
点击:
PT生成的sdf文件中,标注的延时信息是这样的:
(DELAY
(ABSOLUTE
(IOPATH I ZN (0.017::0.016)(0.015::0.014))
)
)
明显的从I->ZN 上升沿delay max为17ps, min为16ps。下降沿delay max为15ps,min为14ps。
但后仿真时用verdi查看这个器件的delay,发现不管上升沿还是下降沿都为10ps。起初我以为是verdi的精度没调好,但结果不是这样的问题,verdi为1ps了。有谁注意过这个问题?难道是vcs反标sdf的时候有精度限制?vcs反标的时候有精度这一选项吗?
没人知道吗?先顶起来。
是整数说明你没有反标成功吧!
先看一下该器件所在后仿仿真module(.v文件)的精度是多少,另外看一下仿真文件中这条路径的延时是多少。
或者在仿真波形中再看几个其它cell的的delay是否也都是 整十 ps的延时。
看看是仿真精度的原因导致个位数上的延时被处理掉了(但是一般来说应该四舍五人,NC是这样,VCS不太了解,可以查查手册),还是根本就没反标上所以工具就直接用仿真库里面的延时。
`timescale所定义的最小精度问题
标注是成功的,问题只是说个位数被抹掉了,看过去都是10的倍数。
我查看了其他的cell,发现有同样的问题,不单单是这个cell。
仿真的精度设置为1ns/1ps了,应该是没问题的,而且在rtl仿真中,我能看到1ps的延时。
证明仿真的精度设置是没问题的。这样看来有可能出问题的地方
(1)可能是vcs标的时候出问题。
(2)后仿仿真module(.v文件)的精度不够,没到ps级。
是哪里的timescale?仿真时定义的timescale没问题。
那应该就是仿真module里定义的精度问题了,估计其精度为10ps,你改成1ps试试呢。
你说的对,最后发现是库的module里的精度定义为10ps了。一个cell不要紧,差个几ps,20个,30个连起来那就大了,非常感谢。
学习以下
很好很强大
学习了,以后要注意
学习了,以后要注意