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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 6298|回复: 6

[讨论] 关于.lib库中的问题

[复制链接]
发表于 2012-2-24 00:20:15 | 显示全部楼层 |阅读模式

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

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

×
最近在学习.lib库,发现有的.lib库中的所有cell的输出pin均无max_capacitance的约束,且也没有默认的default_max_capacitance的限制,这表示什么意思?是指该cell有无限的驱动能力么?如果是这样的话,那么在综合以及PR时序优化时,那么该库中的路径如何去优化?它的fanout是靠什么来限制,是通过外部输入的max_fanout约束脚本来实现吗?如果是通过该fanout来实现的话,那么可能在某些cell的输出端的Net上会出现负载超过该cell查找表中的最大负载索引值的边界。那么这时应用到路径中的该cell delay的值将是一个不准确的数值,请问这种情况下,应怎么处理?能否不修改froundry提供的.lib,而在时序优化时进行一个处理,比如说只要在设计中使用到了该cell,那么我们希望能通过搜索其在.lib查找表中该cell load索引值的最大值,并以一个稍微小于该最大值的一个电容值来作为该cell输出端的max_capacitance的约束?不知道这种方法可行不?如果是的话,那么该程序应该怎么进行?

还有一个问题也是关于.lib中的问题,对于一个复杂的逻辑门如与或非门Z=(!(A B)| C),发现从C到Z的timing Arc共有下列四种情况,pin(Z)(1)related_pin : C ;when A=1'b0,B=1'b0;(2) related_pin : C ;when A=1'b0,B=1'b1;(3) related_pin : C ; when A=1'b1,B=1'b0;(4)related_pin : C ; timing_type : combinational;前面三种情况无timing_type的描述,看手册中说,当timing_type无定义时,默认为combinational,它们应是在不同的输入组合情况下C到Z的timing Arc的定义,关键是这里的第4种timing arc,当这种情况时,是否已包含前面的三种情况呢?不知道大家有没有注意到自己使用的.lib中是否有这种情况?

希望大家能一起讨论这两个问题?谢谢!
发表于 2012-2-24 00:59:26 | 显示全部楼层
首先可以说这样的lib做得不够完整
1)可以在使用时,加上set_max_capacitance
2)不包含
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-24 23:37:32 | 显示全部楼层
请问陈版主?
对于第一个问题:添加这个set_max_capacitance不太好找一个参考值的吧?因为lib库中的每个cell的负载的索引值不一样?比如驱动能力为1的cell的load索引值的最大值为0.013pf,驱动能力为2的cell的load索引值的最大值为0.05pf,驱动能力为3的cell的load索引值的最大值为0.1pf,驱动能力为4的cell的load索引值的最大值为0.2pf,驱动能力为5的cell的load索引值最大值为0.4pf,驱动能力为6的cell的Load索引值最大值为0.8pf,驱动能力为8的cell的load索引值最大值为1.2pf。请问在这些库cell的情况下,这个set_max_capacitance应该怎么设置?设置太小的值,那么基本上限制了驱动大的cell的使用,因为虽然这些驱动能力大的cel能驱动很多cell,但是由于有该max_capacitance的限制,使得它不能接很多负载。如果该值设置太大的话,那么使用较小驱动能力的cell计算出来的数值将会一个不准确的数值?

对于第二个问题:如果情况4的时序不包含前面三种的话,那么情况四的时序是在A和B怎样的情况下的时序呢?
回复 支持 反对

使用道具 举报

发表于 2012-2-25 01:11:32 | 显示全部楼层
1) 是有你说的问题,max_cap本身对实际的负载的限制也是非常有限的,经常有超出的
2)你要结合lib里面的具体写法去查library compiler里面的详细说明,比如在某项缺省时是如何计算的

最后重复一点,你那个lib文件很不规范,除非是老师拿来耍你们玩的。在工程上没有这么烂的写法
回复 支持 反对

使用道具 举报

发表于 2012-2-25 09:06:10 | 显示全部楼层
你可以看看delay和tran的table的input transition的范围,可以用一个set_max_transition来约束整个design的max transition,这样应该也可以基本上限制不出现超出table index的情况
回复 支持 反对

使用道具 举报

发表于 2012-2-29 10:51:23 | 显示全部楼层
不错,谢谢
回复 支持 反对

使用道具 举报

发表于 2019-11-14 11:08:01 | 显示全部楼层
支持一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-9-11 11:55 , Processed in 0.649350 second(s), 6 queries , Gzip On, Redis On.

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