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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
楼主: cn_dabby

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

[复制链接]
 楼主| 发表于 2013-11-19 18:08:15 | 显示全部楼层
回复 10# legend03u8z


    不是tsmc,后半句是什么意思?抽timing model不是用siliconsmart一类的工具吗?
发表于 2013-11-19 18:14:33 | 显示全部楼层
回复 11# cn_dabby

    更专业的,也许他根据实际单元的流片校准逻辑库的时序信息;
    或者不专业的,特征化工具的精度和测量方法都配置的不准确。比如说constraint,不知前边有没有人说道,可以使用pass/fail方法,可以使用relative slew或relative delay方法,而判断的threshold也是人为设置的。如果你做re-char,则这些测量方法应该是default而不是我们实际使用的。
 楼主| 发表于 2013-11-19 18:23:47 | 显示全部楼层
回复 5# 智乐


    我抽取timing model 的时候用的是silicon smart 工具,不需要设置输入信号。您的意思是单独仿真一个cell的时候设置的激励吗?这个时候我的设置如下:
v1 cp gnd pulse 0 1.8 0.5n 1n 1n 9n 20n
v2 d gnd pwl 0  0 1u 0 1.001u 1.8
*** data rise
v2 d gnd pwl 0 1.8 1u 1.8 1.001u 0
***data fall
 楼主| 发表于 2013-11-19 21:24:32 | 显示全部楼层
回复 12# legend03u8z


    您好!像您说的,从更专业的角度来说,如果他们根据流片结果手动调整时序库信息的,我做re-char的话怎么调都很难与其接近了?

    从不专业的角度讲的话,我做re-char的时候,有尝试调试各种能影响setup & hold的参数,比如smc_degrade、smc_degrade_absolute,四种constraint mode 和四种 constraint style 的组合情况我都试过了,结果也如您所说,default 情况就可以了。
 楼主| 发表于 2013-11-19 21:35:41 | 显示全部楼层
冒昧地问下各位大侠:哪位周末或者下班后有时间?能不能留个QQ或者电话给我邮箱cn_dabby@hotmail.com   ? 知道大家都是level 比较高的大侠,刚接触siliconsmart一个多月,这个问题就搞了近一个月了,正在试用期啊……   能参考的资料就《user guide》了,先谢过
发表于 2013-11-20 10:00:51 | 显示全部楼层
回复 15# cn_dabby


    其实特征化单元库也需要了解很多知识的,可以看看新思公司library compiler的文档,里边详细介绍了synopsys liberty format里边的属性和group是如何定义的;之后需要了解每一个单元类型的行为,这就需要先参考一下比较成熟的商业库中对应单元的类型,都有哪些timing arc,每个pin有什么特殊属性,这些东西siliconsmart现在还不能很好的处理;同时,了解一下静态时序分析方法,毕竟咱们的库是要被商业工具使用的,有个验证流程。siliconsmart并不是万能的,对于一些特殊的结构通过使用set_config_opt可以完成,但这都是基于充分了解cell的行为。而对于更复杂的单元,往往你engineering了半天不如使用nanotime来得有效率。
   
    然而你通过这样的学习做一个项目后,其他项目又变得简单了,因为单元的类型都固定了,现在使用脚本进行自动化操作,多少感觉这个工作很无聊,不知自己的出路何在。

   另外,通过流片测试做调整这个操作需要¥,流片测试的QA是进一步的保障,我个人也还没有这方面的经验,只要做好DB到XRC有很好的一致性就可以了,可以把误差归咎于模型和寄生抽取

    你在PDA吧?
 楼主| 发表于 2013-11-20 14:30:16 | 显示全部楼层
回复 14# cn_dabby


    谢谢您,又给我指了一条道路,已经找到了library compiler 的文档在看了,嘿嘿。。。
另外,您提到"只要做到从DB到XRC有很好的一致性就可以了"这是什么意思?DB是data base?从哪里获取呢?XRC是寄生参数抽取?从前者到后者的一致性要怎么判断呢?
PDA是哪儿?我还搜索了下。。。
发表于 2013-11-20 15:14:01 | 显示全部楼层
本帖最后由 cxl666 于 2013-11-20 15:23 编辑




    单独run就是让你确认仿真结果是否正确,比如rising/fall time设置的时候是否从transition time做相应的转换,即激励中的rising/fall time = transition除以(slew_upper_threshold_pct_rise/fall—slew_lower_threshold_pct_rise/fall)%,另外仿真时钟周期建议至少大于max_transition 四倍,多做几次调整,如果对仿真结果影响较大就说明设置有不合理的地方;可以多选取index中几组输入数据,然后从波形中手动截取delay time或transition信息,对比你的查找表中得到的数据,误差是否一致或都接近。如果单独跑的的结果与你的Lib结果一致,则说明你的configure与原厂仿真的时候设置不一致。
发表于 2013-11-20 20:16:31 | 显示全部楼层
回复 17# cn_dabby


    DC、PT通过使用你提供的库报的timing path和同样条件下使用SPICE仿真得到的delay误差在一个范围内。
发表于 2014-7-24 10:11:03 | 显示全部楼层
回复 9# yckai007

求问大神,transition波形可以在siliconmart中选择么?怎么设置?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

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

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