微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > encounter提取的spef寄生参数用PT分析产生violation问题

encounter提取的spef寄生参数用PT分析产生violation问题

时间:10-02 整理:3721RD 点击:
各位大侠,
小弟在PT时序分析时遇到一些困惑,希望大家可以帮忙解答一下啊,谢谢!
1、将encounter提取的寄生参数文件.spef,用Prime Time的read_parasitics读取进行静态时序分析时,采用的分析模式是OCV,使用BEST的库分析hold时,会产生许多hold的violations,violations 的slack的值最大的一般有-0.09ns左右,而encounter中没有相应的violations,为什么会出现两者分析不一样呢?
2、将Prime Time写出的.sdf文件,读进Prime Time进行时序分析,发现这个时候出现的violation更多,而且slack的值负的最大的变到-0.25ns左右了,为什么读取.spef寄生参数和读取PT生成的.sdf进行时序分析会产生这么大的差异呢?
3、将出现violations的数据路径,使用report_timing在encounter中和PT(读取.spef寄生参数文件)中对比发现,在encounter中某一cell的delay,在对应的PT报告中为相应cell和此cell之后net上的二者延时之和,为什么PT分析时会把一个cell的延时分布到这个cell和之后的net上呢?net上不是本身也有延时的吗,为什么PT没有报net的延时呢?

4、通过查看生成的.sdf,将PT读取寄生参数.spef的时序分析报告进行检查,发现貌似在这种情况下没有线延时,只有cell的延时。所以在读取.sdf进行时序分析时,会出现更大的slack和更多的violations,为什么工具会出现这种情况呢?那么用PT进行时序分析时,是读取encounter提取的寄生参数文件.spef去分析呢,还是用PT生成的.sdf文件进行时序分析呢,一那个为准啊?
疑问有点多,希望大家能帮小弟解答一下疑惑啊,谢谢

说说我的看法:1、在OCV下,计算hold,是利用best.去计算launch path 延时,利用worst去计算Capture path延时。PT和Encounter两者计算的结果不一样,应该是两个工具计算延时的算法不一样造成的。可以再在PT进行ECO,产生一个ECO文件回到Encounter进行ECO。2、没见过你那种让PT吐出sdf,又让它吃下去做时序分析,一般是读寄生参数文件spef,因为不同工具计算延时的算法可能不一样,产生的sdf文件会有差别,最好读寄生参数,让进行时序分析的工具自己计算,然后生成sdf用去做后仿真。
3、要提取更准确的spef文件,用synopsis的Star-RX提取,然后读进PT进行时序分析。

PT下默认的时序报告是以级(stage)延时显示,stage delay=cell delay + 与之相连的net_delay.要查看netdelay.report_timing -input_pins

恩,好的,谢谢

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

网站地图

Top