序:

本篇内容,基于阅读J. Bhasker • Rakesh Chadha著作《Static Timing Analysis for Nanometer Designs》后进行的总结以及自己的观点和感想,如有不正确的地方,还请指点。读者有微电子基础将更好理解内容。(图片内容绝大部分直接引用书中)

Standard cell library

本章节主要介绍library cell中的时序信息,这个cell可以是standard cell, an IO buffer, or a complex IP such as a USB core. 库单元的描述不仅仅包括时序信息,还有面积和功能等属性。这些虽然和时序无关,但是和综合阶段有关。本章节主要介绍时序和power相关的计算。太长了,再分一小节吧。

7. Power Dissipation Modeling

单元库包含和power相关的信息;其中主要为动态功耗和静态功耗。

7.1 Active power

包含switch power和internal power。switch power指的是cell在打开关断时候的充放电所消耗的功耗,开关功耗和单元类型无关,而是取决于输出负载电容,开关频率和工作电压。internal power是指在开关有一个状态转向另一个状态时候,可能会导致P管和N管同时导通,从而引来的功耗。内部功耗取决于工作电压,开关频率,单元的类型,因此该值会包含在库单元中。
如下图所示的晶体管级别的反相器。对动态功耗进行了描述。

internal switching powers内部开关电源在单元库中描述为internal power。 这是当单元的输入或输出有活动时单元内的功耗。 对于组合逻辑单元,输入引脚转换会导致输出切换,从而产生内部开关电源。 只要输入切换(在输入处有上升或下降转换),反相器单元就会消耗功率。 内部电源在库中描述如下图左侧所示:描述了单元从A到Z1的功耗。示例中的二维表格分别对应A上的input trans和Z上的output cap。虽然该表包括输出电容,但表中的值仅对应于内部开关,不包括输出电容的贡献(??????这个有点费解啊)。 这些值代表每个开关转换(上升或下降)单元中消耗的内部功耗。 这些单位源自库中的其他单位(通常电压以伏特 (V) 为单位,电容以皮法 (pF) 为单位,这映射到以皮焦 (pJ) 为单位的能量)。 因此,库中的内部功率实际上指定了每次转换消耗的内部能量。除了内部开关功率外,还有关于电源引脚,接地引脚的描述。当单元可以掉电时候,还描述了掉电条件。


就像timing arcs一样,power也可以分开对rise和fall power进行描述。另外power也可以是state-dependent的,比如xor cell。对于组合逻辑单元,internal switching power都是基于输入输出引脚对的,但是可能存在有两个输出的Q/QN的DFF,对于这类触发器,CLK>Q的trans也会导致CLK>QN的trans,因此再库里的描述,为三维表格的形式,三个维度分别是input trans,Q的output cap和QN端的output cap,如下所示:


另外,即便输出状态没有发生改变,也是可以消耗功耗的,比如一个DFF,当时钟引脚发生切换,但并不是有效沿的切换时,会导致触发器内部的反相器发生功耗的消耗,但这并不导致输出发生改变。这种功耗为输入引脚功耗(input pin power),在库种的描述如下:表示CLK 切换时候的功耗消耗。


此处应该有疑问,前面提到了有CLK>Q的功耗,此处又提到了CLK的单独的功耗。那这种时什么关系呢?? 其实没有太大关系,因为CLK pin的输入功耗,对应的时Q端不变的情况,而CLK>Q对应的时输出切换的情况。这两者属于互斥的状态吧。

7.2 leakage power

前面提到的active power,是当CLK变化或者输出变化时候消耗的功耗,也就是电路在动的情况下发生的功耗。那电路在不动的时候呢?有电但是不做任何操作的时候,也是有功耗的消耗的,这个功耗叫做漏电功耗,leakage power。漏电功耗主要有两个来源:亚阈值漏电流和栅极隧穿电流。较老的工艺下,leakage可能可以忽略,但是先进工艺下,leakage已经非常大了。
亚阈值电流主要是源漏端的扩散电流,搞的阈值电压,可以有效降低亚阈值电流,但是高阈值会导致速度变慢,不满足performance的需求,因此会存在trade-off。High Vt单元的漏电流较小,但是速度较慢,low Vt漏电较大,但是速度快。无论Vt高低,对于栅极氧化层隧穿带来的影响都差不多。除了Vt,单元的strength也是漏电和速度之间的折中。MOS器件的亚阈值电流与温度有非常强的非线性特性,大多数工艺中,随着器件温度从25到125度的变化,亚阈值电流可能会增加10到20倍。栅极氧化物隧穿不受温度或者阈值电压的影响。到了65nm或者更高节点的工艺下,栅极氧化层隧穿漏电已经可以和亚阈值电流同数量级。高温下,亚阈值电流仍然是漏电流的主要部分。库中的leakage指定如下图左侧所示,cell_leakage_power为单元的漏电功耗,单位为nw。此外还看到不同状态时的leakage power。如当I为真时,leakage power为0.23nw。当I为假时,leakage power为1.17。默认值cell_leakage_power,为二者的平均值。

8. Other Attributes in Cell Library

除了时序信息外,库中的单元描述还指定了单元面积,功能和时序弧的SDF条件。
单元面积: area: 2.35,指定了单元的面积为2.35,一般单位为um^2,可以代表实际的硅面积,也可是面积的相对测量值。pin(Z) { function: “IN1&IN2” …} 指定了一个两输入与门单元输出Z的逻辑功能。SDF条件属性支持SDF(Standard Delay Format)文件的生成以及在反标(backannotation)过程中的条件匹配。就像when在state-dependent模型中对于timing分析的描述,对于SDF annotation,通过sdf_cond来对state-dependent 的timing使用进行描述。如上图右侧所示。

9. Characterization and Operating Conditions

库单元中还会指定库的特征和工作条件。如下所示库的头文件:工作条件nom_process/temperature/voltage指定了对库进行表征的工艺/温度/电压,也制定了使用该库中单元的条件。如果特征和工作条件不同,则需要对延迟计算过程中获得的时序值进行derate处理,可以通过使用库中指定的降额系数(k-系数)来实现。在用于表征的条件之外的条件下使用降额获得时序值会导致时序计算的不准确。 仅当在感兴趣的条件下表征库不可行时才采用降额程序。
工艺变量是不可量化的变量,就数字特征和验证而言,它可以为slow/typical/fast其中之一。库的表征是很耗时的,针对不同process corner对库进行表征可能需要数周的时间???(现在不是了吧)工艺的k-系数可以用于完成特征库工艺到目标库工艺的延迟降额。但是因为降额为引入不准确性,因此很少采用。总之,指定不同工艺变量值(例如1.0)的唯一功能就是在少数情况下允许跨工艺条件进行降额处理。


库中对于attribute单位的描述如上图右侧所示,电压v,时间ns,电容pf,电流mA,电阻Kohm,面积um^2等等。

STA series --- 3.Standard cell library(PART-III)相关推荐

  1. STA series --- 3.Standard cell library(PART-II)

    序: 本篇内容,基于阅读J. Bhasker • Rakesh Chadha著作<Static Timing Analysis for Nanometer Designs>后进行的总结以及 ...

  2. Thread Safety in the Standard C++ Library

    2019独角兽企业重金招聘Python工程师标准>>> Thread Safety in the Standard C++ Library When  /MT , /MTd, /MD ...

  3. Standard C Library - 思维火花 - 博客频道 - CSDN.NET

    Standard C Library - 思维火花 - 博客频道 - CSDN.NET « DIY 了一套 ACQUIRE | 返回首页 | 骨骼动画的插值与融合 » 动态数组的 C 实现 上次谈到了 ...

  4. (转)The Standard C Library 经典的基础(上)

    The Standard C Library 经典的基础 C的标志库函数是学习和使用C语言的基础,是编写经典C程序的基础,是学习其他计算机知识的基础.C标志库中一共包含了15个头文件: <ass ...

  5. 标准模板库STL(Standard Template Library)

    标准模板库STL(Standard Template Library)指南 /*刘振飞liuzf@pku.org.cn 1999-10-20*/ / *版权所有 (C) 1999-2004 刘振飞li ...

  6. STM32 Tips:如何从ST官方网站上下载STM32标准外设库(STM32F10x standard peripheral library)

    入手了一块STM32F107VCT6开发板,配置开发环境时需要一个库:STM32F10x标准外设库(STM32F10x standard peripheral library),在网上看到很多初学者和 ...

  7. STM32 标准外设库(Standard Peripheral Library)下载

    STM32 标准外设库(Standard Peripheral Library)下载. 一.链接 STM32 Standard Peripheral Libraries - STMicroelectr ...

  8. STL序列式容器Standard Template Library Sequence Container

    STL序列式容器 STL Sequence Container 目录 STL序列式容器 STL Sequence Container STL(Standard Template Library)概述 ...

  9. java标签库 taglib pdf格式_JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库...

    JSTL JSP Standard Tag Library 标准标签库 JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能. JSTL库有core, i18n, fmt, sql ...

  10. JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库

    JSTL JSP Standard Tag Library 标准标签库 JSTL允许开人员可以像使用HTML标签 那样在JSP中开发Java功能. JSTL库有core, i18n, fmt, sql ...

最新文章

  1. 文档自动摘要及案例实现
  2. android Json详解
  3. java兔子_JAVA经典兔子问题
  4. 学习笔记(二十)—— 网络编程
  5. Bzoj4503 两个串
  6. 在springboot中使用easyexcel导出数据excel表格
  7. VTK修炼之道66:体绘制裁剪_Cripping技术
  8. 03Prism WPF 入门实战 - Region
  9. JS 判断是否是手机端并跳转操作
  10. 操作系统之I/O管理:2、SPOOLing技术(假脱机技术)
  11. uva146-ID码
  12. WPF数据驱动应用程序上具有通用Lambda表达式的筛选器模式
  13. zend studio一些常用配置
  14. 飞天云动能否一飞冲天?
  15. c++语言 幂指数,C / C++幂函数,计算给定数字的幂
  16. bit feild and CPU endian 位域和大小端
  17. 美国高防服务器:恒讯科技为您解答TCP/IP的攻击原理
  18. 回文数—简单方法(C语言)
  19. 使用CVX进行Matlab仿真时出现的一些问题
  20. Nebula 在 Akulaku 智能风控的实践:图模型的训练与部署

热门文章

  1. 无源贴片晶振四角引脚_用最简单的办法轻松区分无源晶振和有源晶振
  2. Android蓝牙开锁讲解
  3. 小学生应该学习编程语言
  4. php 开源周报系统,Pulsar 社区周报|2021-03-01~2021-03-07
  5. python session过期_session的工作原理、django的超时时间设置及session过期判断
  6. 例如微博表情添加到textView中
  7. 显卡跑分软件怎么测试,硬件跑分 测试方法说明
  8. ArchLinux安装蓝牙驱动
  9. js高级程序设计(第五章)
  10. ansys经典界面分析工字钢_【干货】基于ANSYS经典界面的接触分析例子