library中的一个cell可以是一个standard cell,IO buffer,或者一个complex IP。其中包含area,functionality,timing,power等相关的信息。

一个cell的timing model:最基本的有两类,Linear Timing Model,D=D0 + D1*S + D2*C。D0,D1,D2表示常数,S表示Transition time,

C表示output load capacitance。在亚微米尺寸(submicron 100nm--1um)下,误差就会比较大。

Non-Linear Delay Model(NLDM),delay用二维矩阵来表示,变量为Transition time和Capacitance。一般的矩阵大小为3*3

8*7等。其余值通过拟合的算法来实现。

CCSM与ECSM模型,1)NLDM中的output load只含capacitance。而CSM/ECSM中还包含interconnect resistance。NLDM中

通过其他方法可以得到一个equivalent effective capacitance,得到与RC相同的延时。

2)Composite Current Source(CCS)/Effective Current Source Model(ECSM)都是通过一个等效的电流源来更好的描

述output driver。

3)因为在90nm之下,input pin capacitance同时由input slew 和 output load来决定,所以在这两个模型中

input cap是基于timing arc的,是transition time和output capacitance的矩阵。也称作receive pin capacitance

而NLDM是基于pin的。

4)这两个模型包含有Niose的信息。

但是工具读起来会很慢,所以一般PR用NLDM,signoff用CCS/ECSM。

Slew Derating的概念,早期的很多slew都是10%-90%,而现在基本都到了30%-70%。所以会有一个slew derate factor的因

子,一般是0.5。library_transition_time * slew_derate才是最终的transition time。

在这些model中都会包含对power和leakage的描述。power与timing的类似。leakage的与State-Dependent Models类似。

Combinational Cells model:针对每一条timing arc(组合逻辑每有一路径,就会多一时序弧),如果是positive_unate,negetive_unate。都会有四个属

性。cell_rise,rise_transition,cell_fall,fall_transition。分别表示上升沿和下降沿的propagate delay和slew。

如果是negetive_unate,输入input,输出应该使用fall_delay,fall_transition。反之亦然。

Sequential Cells model:timing arc有Setup check arc,Hold check arc,Recovery check arc,Removal check arc,CK-to-output propagation

delay arc。对应于timing_type。

1)其中Setup check arc和Hold check arc都有两个属性rise_constraint,fall_constraint,是data transition和

clock transition的函数。setup的值和hold的值都可以为负,但是setup value + hold value必须是正,表示数据必须稳定一段时间。

2)Recovery check arc,Removal check arc与setup和hold的时序弧描述差不多。data transition和clock transition的函数。

3)CK-to-output propagation delay arc。对应timing_type是FF的有效沿。timing_sence是non_unate。包含四个属性,

cell_rise,cell_transition,cell_fall,cell_transition。关于clock transition和output capacitance的函数。

State-Dependent Models:timing arc的属性依靠其他pin的状态。用when描述状态,sdf_cond应用在sdf的生成过程中。

一个cell可以有state-dependent和non-state-dependent两种模型,在state的状态不满足时,使用non-state的模型。

state-dependent的模型可以用来描述power,leakage,transition time,rise/fall delay,timing constraints。

Black Box的Timing model接口:只关注接口的timing,而不关注内部的时序问题。

主要有四种时序弧。1)Input to output combinational arc,                       combinational logic paths timing arc

2)Input sequential arc,                                           setup and hold timing arc

3)Asynchronous input arc,                                      Recovery and removal timing arc

4)Output sequential arc,                                         clock to pins ouput propagation delay arc

STA分析(四) lib model的更多相关文章

  1. STA分析(六) cross talk and noise

    在深亚微米技术(deep submicron)中,关于crosstalk和noise对design的signal integrate的影响越来越大.主要表现在glitch和对delay的影响. 1)m ...

  2. STA分析(七) sdc

    STA分析前的环境设置,包括:setup clocks,specifying IO characteristics 1)定义一个master clock:create_clock -name .. - ...

  3. 使用react全家桶制作博客后台管理系统 网站PWA升级 移动端常见问题处理 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi [Abp 源码分析]四、模块配置 [Abp 源码分析]三、依赖注入

    使用react全家桶制作博客后台管理系统   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基 ...

  4. ArcGIS网络分析之Silverlight客户端最近设施点分析(四)

    原文:ArcGIS网络分析之Silverlight客户端最近设施点分析(四) 在上一篇中说了如何实现最近路径分析,本篇将讨论如何实现最近设施点分析. 最近设施点分析实际上和路径分析有些相识,实现的过程 ...

  5. 慕学在线网0.3_四个model

    1.四个model完整代码: # users/models.py from datetime import datetime from django.db import models from dja ...

  6. STA分析(一) setup and hold

    timing check可以分为Dynamic Timing Analysis(Post_sim)和Static Timing Analysis STA:可以分析的很全面:仿真速度也很快:可以分析控制 ...

  7. STA分析(五) parastics

    互联线的寄生参数 一般一个cell或者block的连接pin就叫做一个net.在物理实现的时候,一条net可能会穿过几层metal,因为每个metal层的电阻,电容值都不一样.所以,在分析 net的寄 ...

  8. ABP源码分析四:Configuration

    核心模块的配置 Configuration是ABP中设计比较巧妙的地方.其通过AbpStartupConfiguration,Castle的依赖注入,Dictionary对象和扩展方法很巧妙的实现了配 ...

  9. ABP源码分析四十七:ABP中的异常处理

    ABP 中异常处理的思路是很清晰的.一共五种类型的异常类. AbpInitializationException用于封装ABP初始化过程中出现的异常,只要抛出AbpInitializationExce ...

随机推荐

  1. 监控redis服务器执行的命令--类似于tomcat的local-access.log

    一.问题由来 一般程序启动时会去拉必要的缓存存进去redis. 由于我们这边开发可直连开发和测试环境,有时候会发生,开发同学本地直连了测试环境,本地ide一启动,可能会导致重新覆盖了测试环境上的缓存. ...

  2. backface-visibility 属性

    图片img加了backface-visibility 属性, 图片变清晰, 原因不明 a,img{ backface-visibility:hidden; -webkit-backface-visib ...

  3. 如何在Computer下添加System Folder(续)

    之前的一篇博客如何在Computer下添加System Folder里提到需要每次都使用一个新的guid,否则再次在"HKEY_LOCAL_MACHINE\SOFTWARE\Microsof ...

  4. jenkins中Email Extersion Plugin插件使用说明点

    在jenkins中使用第3方邮件插件Email Extersion Plugin时,根据网上教程,发现每次都没有生成模板 再次查看,发现 $HOME_jenkins下没有templeate文件夹,查阅 ...

  5. C++ Error : initial value of reference to non-const must be an lvalue

    如下这段代码,编译报错: Error : initial value of reference to non-const must be an lvalue #include <iostream ...

  6. iOS - 开发代码部分规范

    1. 关于命名 1.1 统一要求 含义清楚,尽量做到不需要注释也能了解其作用,若做不到,就加注释 使用全称,不适用缩写 1.2 类的命名 大驼峰式命名:每个单词的首字母都采用大写字母 例子:MFHom ...

  7. pandas 数据类型转换

    数据处理过程的数据类型 当利用pandas进行数据处理的时候,经常会遇到数据类型的问题,当拿到数据的时候,首先需要确定拿到的是正确类型的数据,一般通过数据类型的转化,这篇文章就介绍pandas里面的数 ...

  8. python 读取一个目录下的所有目录和文件

    #!/usr/bin/python # -*- coding:utf8 -*- import os allFileNum = 0 def printPath(level, path): global ...

  9. 如何通过python代码解压zip包

    转载至https://www.cnblogs.com/flyhigh1860/p/3884842.html 很多人在Google上不停的找合适自己的压缩,殊不知Py的压缩很不错.可以试试.当然C#,J ...

  10. [ZT] 医学图像分析相关的会议

    原文地址:http://blog.sina.com.cn/s/blog_ad7c19000102v42d.html 一. 图形学.可视化领域的会议: (一)高级别会议 1. Siggraph  (图形 ...