Library介绍(三)

环境描述

工作条件

一般lib文件里面包含了芯片的工作条件即operation conditions,其指定了工艺(process)、温度(temperature)和电压(voltage),见图1。

其中,process代表了该工艺变量。如图1所示,代表tt_v1p2_25c这个corner的工艺变量是1。这个参数主要是给k库用的。所谓k库,就是通过已有的lib库,去生成一个foundry未提供的一个库。

打个比方,foundry提供了tt_1.2v_25c的库,但实际上该款芯片需要在tt_1.1v_25c下工作。那么,便可以通过k库的方式,通过k factor,便可根据tt_1.2v_25c lib生成tt_1.1v_25c的lib。

阈值定义

压摆值(slew)是基于库中指定的测量阈值点,通常是根据转换时间(transition time)来定义的,大多数上一代的库都使用10%和90%作为slew的测量阈值点。

压摆阈值点是选择对应波形的线性部分作为取值点的。随着技术发展,现在压摆阈值测量值取30%~70%部分(图2),而这一部分通常是实际波形最线性的部分。但是,由于之前测的slew在10%~90%之间。为了达到统一标准,需要将实际测算得到的30%~70%的slew进行加倍,将实际测算的slew值折算得到10%~90%的slew。而slew derate from library便是根据 ( 70% - 30% ) / ( 90% - 10% ) = 0.5得到的。上述定义在lib中的描述如图3所示。

而计算rise delay和fall delay时,怎么去取过渡时间的起始点和终止点呢?lib中也有的定义。一般是定义50%处,如图4所示。

默认属性(default attribute)

如果时序约束文件中(sdc)没有定义一些约束属性的话,那么便从lib中来获取相关参数了。如sdc中未定义max transition,而lib中定义了。那么,便采用lib中的约束。如果sdc中定义了相关约束的话,那么以sdc为准。

模板(templates)

所谓模板,就是定义了后续lookup table中需要根据哪几个input variable,来获取output variable的表格。如图5所示,为一个delay template,input变量有2个,分别为input net transition和output net capacitance。这个模板被应用在cell delay中。

k-factors

即上文所说的k库的参数(见图6)。在k库时,通过将k-factor代入到计算公式,便可以知道k完后的lib与原始lib直接的差异。

k库后的延迟 = 原始库的delay * (1 + kprocess * Δprocess + kvolt * Δvolt + ktemp * Δtemp )。

那么,如果将tt_1.1v_125c的库k到tt_1.2v_115c时,我们可以知道Δprocess= 0 ,kvolt = -0.042,ktemp = 0.0012

delay = 原始库delay * ( 1 + 0 -- 0.042 * 0.1 - 0.0012 * 10 ) = 98.38%。

也就是说,tt_1.2v_115c库下cell delay约为tt_1.1v_125c的98.38%。

#小编是一个入行多年的数字后端工程师,本身对编程方面比较感兴趣,在数字后端的脚本、flow上比较擅长,可以为大家提供答疑咨询服务。如有需求,可打开星球芯冰乐,获取更多知识干货分享与答疑服务。

相关推荐
Amos_Web7 分钟前
通过 Rspack 源码学 Rust(一):`mod`、`pub` 与 `use crate`/`use super`
后端
张彦峰ZYF19 分钟前
拆得开不等于该拆开:微服务与模块化单体的边界判据、规模阈值、团队适配与一致性代价
后端·微服务·边界是否稳定·扩展天花板是否到顶·有无小组能独立值班·独立部署的自由会否被用上·这一刀是否切断不可降级的不变量
是江迪呀31 分钟前
介绍一个开源项目 —— 烂笔头
前端·后端
XMAIPC_Robot37 分钟前
基于 i.MX95 平台在新一代工业控制器中的应用 — 工业车载平板、半导体设备主控方案解析
arm开发·人工智能·机器学习·fpga开发·rk3588+fpga·i.mx95
captain37642 分钟前
Spring Web MVC(2)
java·前端·spring boot·后端·spring·mvc
紧跟先前的步伐43 分钟前
Go AI Agent 实战 17|模型适配层设计:让模型可替换
开发语言·人工智能·后端·ai·golang
szxinmai主板定制专家1 小时前
基于 AM62x + Artix-7 的低功耗 ARM+FPGA 平台在轨道交通车门控制中的应用
arm开发·人工智能·fpga开发·zynq·am62x
IT_陈寒1 小时前
一文搞懂Java的核心概念
前端·人工智能·后端
幻智星科技1 小时前
我砍掉了FPGA里的ARM核项目反而提前交付了
arm开发·网络协议·fpga开发·硬件架构
铁皮饭盒1 小时前
workbuddy和codebuddy免费送1000积分, 10秒钟搞定
前端·后端