|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
最近在学习.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中是否有这种情况?
希望大家能一起讨论这两个问题?谢谢! |
|