时序定江山,功耗写风骨——解读时序库lib文件的奥义【芯片设计 lib文件】

定义

lib库,全称liberty library format file:它是Liberty时序文件的简称,使用 Liberty 语法来编写。常被称为时序库,它描述了特定pvt条件下cell的timing、power和noise信息。

它可以通过library compiler/dc转换成.db文件(database),供synopsis家的DC和PT使用,也可以通过spyglass的library compiler来生成sglib文件,供spyglass使用。 他们是等价的,但db文件是二进制格式,人类不可读。

具体内容

Part 1:公共部分

lib库的公共部分,主要是库名称、基本属性、PVT条件、电压和压摆阈值、查找表模板
在这里插入图片描述

1、基本属性

主要有3个需要介绍:

  • delay_model:表示了延迟的模型,以查找表居多。剩余的还有generic cmos、delay calculation module等
  • in_place_swap_mode:规定了PR工具在做优化时能不能更换cell。一般采用match_footprint(相同功能可以换)的模式。
  • voltage_map:库中电源和地网络所对应的电压。 如VDD → 0.72v

2、PVT条件

其他信息都清晰易懂。需要注意的是其中的balanced_tree指的是,库中cell计算用到的RC tree的模型。一共三种model,best-case tree指的是假设线上没有电阻,或者假设cell与负载物理位置比较近。balance假设每个终点看到的只有自己相关线上的电阻。worst-case指的是cell与负载比较远,所有终点都能看到全部线电阻。
在这里插入图片描述

3、电压和slew阈值

电压阈值定义0,1认定的阈值。例如当input_threshold_pct_rise=50表示,电压上升到50%时,认定逻辑从0变为了1。fall同理
在这里插入图片描述
slew阈值定义了slew具体认定为曲线的哪一段。比如下降时slew指的是从70%Vdd→30%Vdd的时间。并且这里面还提到了一个参数:slew_derate_from_library。它定义的是库中slew time和transition time的转换系数。由于transition time通常指的是10%→90%的时间。所以,(70-30)/(90-10)= 0.5。 (更详细的解释,可以参考书籍:Static Timing Analysis for Nanometer Designs)
在这里插入图片描述

4、查找表模板

下面就是一个的查找表模板。
在这里插入图片描述
如上面的delay_template_7x7模板,表示这个表有两个维度,表的大小为7x7。需要用input的transition time和outpot的capacitance才能查出此表。这里只做定义,会面会在cell中引用。

part2:cell部分

讲完了公共部分,接下来就是无数个cell的定义。以一个and2 cell为例:
牢记,cell部分主要用来描述cell的timing、power、noise情况。

组合逻辑cell

1)cell头、电源端口和leakage

在这里插入图片描述
其中cell_footprint对应了公共部分的in_place_swap_mode选项。cell_footprint相同即cell功能相同。

为什么把电源端口单独拎出来?因为他们简单,主要说明type、以及连接即可。 很多人会疑惑为什么这里含有VBB

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LogicYarn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值