在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12286|回复: 24

[求助] 用SiliconSmart做Re-characterization结果setup误差偏大

[复制链接]
发表于 2013-11-14 11:01:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
问题描述:

      用 SiliconSmart 做 Re-characterization,按照 user guide 里面的flow来run的,结果是delay相差+-3%左右,但是setup 相差-60%左右,hold相差-100%左右。上面的问题是用 Re-ch 得到的 liberty 与原库的 liberty 比较的结果。
1、原库有 liberty 文件,从原库导出instance file;
2、使用原库提供的 GDS 和CDL 生成带RC 参数的NETLIST;
3、使用与原库相同的 Spice Model(含shrink设置),NETLIST 不再做shrink操作;
4、调整与 setup 和hold 有关的参数 smc_degrade 和 smc_degrade_absolute 后,setup的 rise 部分误差有所减小,但是 setup 的 fall 部分和 hold 都基本没有变化;

这个问题搞了一个月了还是没有进展,请大侠帮忙分析下,还有什么可行的办法,新手求助,谢谢了!

邮箱:cn_dabby@hotmail.com
发表于 2013-11-14 13:09:07 | 显示全部楼层
configure里面的参数,有一一确认过吗?比如Input transition time.Constraints, m*n tables? output capacitive loading?等等 。 你先单用跑一个单元这样好查问题。然后调整输入参数。与原库一致,还有一些参数并不一定会写在seed lib里面。
 楼主| 发表于 2013-11-18 14:53:18 | 显示全部楼层
回复 2# cxl666

    版主好,您说的configure参数是指“configure.tcl”文件里面的参数吗?这里面的参数都确认过了,与原库一致,包括Input transition time, constraint m*n table, output capacitance, 各种 threshold 值等等。我是单独 run 一个 DFF cell。下面是我的两张截图,图1是原库中关于该DFF cell的setup & hold信息,图2 是我做re-ch后抽出的关于该DFF cell的setup & hold信息,两者的rise_capacitance 和 fall_capacitance 值不同是我现在能检查到的不一致的地方了……求指点,谢谢!

原库的setup&hold信息图

原库的setup&hold信息图

re-ch后的setup&hold信息图

re-ch后的setup&hold信息图
发表于 2013-11-18 18:46:02 | 显示全部楼层
差好多!你在cadence中用电路搭建DFF,然后用spectre仿真或者hspice仿DFF寄生网表(layout中提取rc后的网表),选取和siliconsmart中相同的一组index_1,index_2,然后对比timing信息,与你上面的结果是否一致或者跟哪个接近。现在光从结果中也难以直接找出原因,除非我用你的网表和model,以及设置文件重新跑一次来debug.
发表于 2013-11-19 09:25:22 | 显示全部楼层
你的输入信号是怎么设置的?我之前仿真setup和hold,输入信号对它们的影响不能不忽略。
 楼主| 发表于 2013-11-19 17:23:55 | 显示全部楼层
回复 4# cxl666


    版主好,单独仿DFF电路的时候需要写“激励文件”,而激励文件中需要设置 CLOCK 对 DATA 的延时,这个延时就是 setup ,既然已经设定了 setup 值,那这个仿真的作用是什么呢?其中,您提到的选取与 SiliconSmart 相同的一组 index_1 和 index_2,是在激励文件中对 CLOCK 和 DATA 的 slew 的设定吗?请斑竹指点,谢谢!
 楼主| 发表于 2013-11-19 17:32:17 | 显示全部楼层
回复 4# cxl666


    或者,版主的意思是:我在仿真的时候,选取和SiliconSmart 相同的一组index_1 和 index_2,然后通过仿真找出该组条件下的最小setup & hold 信息?但是如果这样的话,找到的最小setup & hold 的值不一定是SiliconSmart 抽取的 timing 所选择的值,它还要考虑这个时候的CK->Q的值是不是在某个范围内(这个是SiliconSmart 中的 user guide 中提到的)。还是我理解有误?
 楼主| 发表于 2013-11-19 17:38:14 | 显示全部楼层
回复 4# cxl666


    版主好,我用 HSPICE 对 DFF 仿真需要写激励文件,文件中需要设置 CLOCK 对 DATA 的延时,而这个延时就是setup,既然这个值已经被设定了,那单独仿真电路的作用是什么呢?您提到的选取与SiliconSmart 相同的一组index_1 和 index_2 也是在激励文件中分别对CLOCK 和 DATA 的slew 的设置,是吗?求指点,谢谢!
发表于 2013-11-19 17:50:47 | 显示全部楼层
回复 7# cn_dabby


   输入transition的波形有好几种选择
发表于 2013-11-19 18:02:15 | 显示全部楼层
回复 1# cn_dabby


    难道说的是TSMC的NLDM?你确定他是用hspice跑出来的吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-25 13:14 , Processed in 0.030901 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表