0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

时序分析基本概念介绍——时序库Lib,除了这些你还想知道什么?

数字后端IC芯片设计 2017-12-15 17:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天主要介绍的时序概念是时序库lib,全称liberty library format(以• lib结尾),

用于描述物理单元的时序和功耗信息的重要库文件。lib库是最基本的时序库,通常文件很大,分为两个部分,

第一部分定义了物理单元库的基本属性,它包括:

1)单元库名称,文件版本,产生日期及单元的PVT环境等。

2)定义电压,电流电容,时间等基本单位。

3 ) 定义电路传输时间和信号转换时间的电压百分比。

我们来看一个基本的lib时序库:

library(xxx18) { #库名称

delay_model : table_lookup; #采用查表延时模型计算延时

revision : 1.0; #库的版本

date : "Sat Mar 2 15:37:50 2012"; #库的创建时间

time_unit : "1ns"; #定义时间基本单位

voltage_unit : "1V"; #定义电压基本单位

current_unit : "1uA"; #定义电流基本单位

pulling_resistance_unit : "1kohm"; #定义电阻基本单位

leakage_power_unit : "1pW"; #定义功耗基本单位

capacitive_load_unit (1.0,pf); #定义负载基本单位

nom_process : 1; #定义时序库工艺

nom_temperature : -40; #定义时序库温度

nom_voltage : 0.72; #定义时序库电压

operating_conditions(fast) { #定义互连线模型

process : 1;

temperature : -40;

voltage : 0.72;

tree_type : balanced_tree

}

/* threshold definitions */

slew_lower_threshold_pct_fall : 10.0; #定义信号转换模型

slew_upper_threshold_pct_fall : 90.0;

slew_lower_threshold_pct_rise : 10.0;

slew_upper_threshold_pct_rise : 90.0;

input_threshold_pct_fall : 50.0; #定义延迟模型

input_threshold_pct_rise : 50.0;

output_threshold_pct_fall : 50.0;

output_threshold_pct_rise : 50.0;

第二部分是每个单元的具体信息,包括单元的延迟时间,泄漏功耗,内部功耗等。它们以lookup table的形式来表示,这里一个非常重要的概念就是lookup table,它是一种三维数据查找表,整个lib文件都是通过该种查找方式来得到所需要的信息。例如延迟时间作为输出信号负载(output load)和输入信号转换时间(input transition)的函数列表。

我们来看一个look up table的查找方式:

lu_table_template(delay_template_2x2){

variable_1:total_output_net_capacitance;

variable_2:input_net_transition;

index 1("1000.0,1001.0");

index _2( " 1000.0, 1001.0" ) ;

}

rise_transition (delay_template_2x2) {

index_l( "0.01,0.4532" ) ;

index_2( "0.01,1.2" );

values ("0 .131455 , 0.131036 " , \

"4.19211,4.13413") ;

}

上诉语句定义了一个名字叫为delay_template_2x2的lookup table,可以理解为一个模板,有两个变量variable_1和variable_2组成。variable_1代表total_output_net_capacitance,variable_2代表input_net_transition。每个变量是两个断点组成。lookup table的名字是任意的,而变量可以是一个,两个或三个,每个断点的数量一般没有限制。

lookup table的第二部分则描述了具体哪个功能调用了上述模板,rise_transition描述的是单元输出信号的上升时间。它调用的就是由lu_table_template 定义的名为delay_template_2x2的模板。rise_transiton 中 index_1和 index_2是与上升时间相关的两个变量,如果想知道它们分别代表哪个一个变量就需要到delay_template_2x2的模板中查找,这里我们知道index_1代表输出pin的连线负载电容,index_2代表输入信号transition。

values与index可以表达为value=f(index_1,index_2)。当输出端线负载为0. 01,输入斜率为0. 01时,输出上升时间为0.131455。当输出线负载为0.01,输人斜率为1 .2时,输出上升时间为0.13036。同理,当输出端线负载为0.4532,输入斜率分别为0.01和1.2 时,对应另外两个上升时间。如下图所示:

接着在cell描述部分,我们会看到以下内容:

cell (BUFX1) {

cell_footprint : buf; #定义引脚名称,进行优化时具有相同引脚名称的单元才可以交换

area : 13.305600; #定义单元面积大小

pin(A) {

direction : input; #定义端口A为输入端口

capacitance : 0.002357; #定义端口A的电容

}

pin(Y) {

direction : output; #定义端口Y为输出端口

capacitance : 0.0; #定义端口Y的电容

function : "A"; #定义端口Y是同A的操作

internal_power() { #定义单元内部功耗

related_pin : "A"; #定义相关输入信号

rise_power(energy_template_5x5) { #定义端口Y上升所消耗的功耗

index_1 ("0.025, 0.08, 0.3, 0.7, 1.2");

index_2 ("0.00035, 0.021, 0.0385, 0.084, 0.147");

values ( \

"0.013041, 0.010646, 0.010132, 0.008511, 0.006121", \

"0.015728, 0.012869, 0.012227, 0.010567, 0.008178", \

"0.023086, 0.020760, 0.019879, 0.017596, 0.014946", \

文件太长,只截取部分,rise_power的index_1和index_2的内容可以在文件前面的lookup table模板中查找得到,该cell的剩余其他时序和功耗参数也是类似描述,不一一解释了。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 时序分析
    +关注

    关注

    2

    文章

    128

    浏览量

    24152
  • 时序库
    +关注

    关注

    0

    文章

    1

    浏览量

    1805

原文标题:时序分析基本概念介绍——时序库Lib

文章出处:【微信号:IC_Physical_Design,微信公众号:数字后端IC芯片设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Chroma 80611 电源时序/安规综合分析仪:电器安全与性能的自动化验证专家

    (Chroma)的 80611 时序/安规综合分析仪 正是为此类高要求应用而设计的集成化测试平台。它将时序分析与安规测试(交直流耐压、绝缘电阻、接地电阻)融为一体,极大地提升了测试效率
    的头像 发表于 11-04 10:25 207次阅读
    Chroma 80611 电源<b class='flag-5'>时序</b>/安规综合<b class='flag-5'>分析</b>仪:电器安全与性能的自动化验证专家

    vivado时序分析相关经验

    vivado综合后时序为例主要是有两种原因导致: 1,太多的逻辑级 2,太高的扇出 分析时序违例的具体位置以及原因可以使用一些tcl命令方便快速得到路径信息
    发表于 10-30 06:58

    DDR200T中DDR的使用与时序介绍

    mask Enabled Input clock period 100MHz Chip Select pin Enabled DDR读时序介绍 DDR3读时序如下图,由于传递地址到取出数据
    发表于 10-28 07:24

    自动驾驶中常提的“时序”是个啥?有啥作用?

    [首发于智驾最前沿微信公众号]自动驾驶技术的发展,不仅依赖于感知算法的精度和决策规划的智能,还深深植根于系统内部对“时序”这一概念的精准把控。所谓时序,简单来讲,就是系统在不同模块之间、不同传感器
    的头像 发表于 07-17 09:07 733次阅读

    欧/美标直流充电桩控制时序讲解

    直流充电桩控制时序
    的头像 发表于 06-30 09:22 999次阅读
    欧/美标直流充电桩控制<b class='flag-5'>时序</b>讲解

    第十三章 通讯的基本概念

    本章介绍通讯基本概念,包括串行/并行、全双工/半双工/单工、同步/异步通讯,还提及通讯速率中比特率与波特率的概念
    的头像 发表于 05-22 17:29 1749次阅读
    第十三章 通讯的<b class='flag-5'>基本概念</b>

    Pico示波器在电源时序测试中的应用

    在航天电子系统研发中,电源模块时序一致性是保障设备稳定运行的核心指标。
    的头像 发表于 05-15 15:55 724次阅读
    Pico示波器在电源<b class='flag-5'>时序</b>测试中的应用

    FPGA时序约束之设置时钟组

    Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径,除非时序约束中设置了时钟组或false路径。使用set_clock_gro
    的头像 发表于 04-23 09:50 968次阅读
    FPGA<b class='flag-5'>时序</b>约束之设置时钟组

    TDengine 发布时序数据分析 AI 智能体 TDgpt,核心代码开源

    组成部分,标志着时序数据库在原生集成 AI 能力方面迈出了关键一步。 TDgpt 是内嵌于 TDengine 中的时序数据分析 AI 智能体,具备时序数据预测、异常检测、数据补全、分类等多项智能
    的头像 发表于 03-27 10:30 563次阅读
    TDengine 发布<b class='flag-5'>时序数据分析</b> AI 智能体 TDgpt,核心代码开源

    数字电路—22、时序逻辑电路

    时序电路的逻辑功能可用逻辑表达式、状态表、卡诺图、状态图、时序图和逻辑图6种方式表示,这些表示方法在本质上是相同的,可以互相转换
    发表于 03-26 15:03

    一文详解Vivado时序约束

    Vivado的时序约束是保存在xdc文件中,添加或创建设计的工程源文件后,需要创建xdc文件设置时序约束。时序约束文件可以直接创建或添加已存在的约束文件,创建约束文件有两种方式:Constraints Wizard和Edit T
    的头像 发表于 03-24 09:44 4387次阅读
    一文详解Vivado<b class='flag-5'>时序</b>约束

    AXI握手时序优化—pipeline缓冲器

    skid buffer(pipeline缓冲器)介绍   解决ready/valid两路握手的时序困难,使路径流水线化。   只关心valid时序参考这篇写得很好的博客链接: 握手协议(pvld
    的头像 发表于 03-08 17:10 1017次阅读
    AXI握手<b class='flag-5'>时序</b>优化—pipeline缓冲器

    集成电路设计中静态时序分析介绍

    本文介绍了集成电路设计中静态时序分析(Static Timing Analysis,STA)的基本原理、概念和作用,并分析了其优势和局限性。
    的头像 发表于 02-19 09:46 1305次阅读

    请教ADS1292时序问题

    ,有时候却不能,读出来是0.程序没改情况下出现这种情况,是什么原因造成的呢?是我的时序有问题,还是干扰问题,我下载到开发板上,离开软件调试,发现也是不稳定。而且我的SCLK要很低才能读出数据,16分频以上了,SCLK是512MHz,希望能帮我分析
    发表于 01-20 09:01

    电源时序器3.0:数字化与网络化的融合

    在技术飞速发展的今天,电源时序器已经不再是简单的排插、时序开关,而是成为了一个高度集成化、智能化的电源管理方案。随着电源时序器的发展,我们见证了从1.0到3.0时代的演变,每一次的升级都带来了革新
    的头像 发表于 12-20 09:32 1149次阅读
    电源<b class='flag-5'>时序</b>器3.0:数字化与网络化的融合