STA分析(四) lib model
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的更多相关文章
- STA分析(六) cross talk and noise
在深亚微米技术(deep submicron)中,关于crosstalk和noise对design的signal integrate的影响越来越大.主要表现在glitch和对delay的影响. 1)m ...
- STA分析(七) sdc
STA分析前的环境设置,包括:setup clocks,specifying IO characteristics 1)定义一个master clock:create_clock -name .. - ...
- 使用react全家桶制作博客后台管理系统 网站PWA升级 移动端常见问题处理 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi [Abp 源码分析]四、模块配置 [Abp 源码分析]三、依赖注入
使用react全家桶制作博客后台管理系统 前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基 ...
- ArcGIS网络分析之Silverlight客户端最近设施点分析(四)
原文:ArcGIS网络分析之Silverlight客户端最近设施点分析(四) 在上一篇中说了如何实现最近路径分析,本篇将讨论如何实现最近设施点分析. 最近设施点分析实际上和路径分析有些相识,实现的过程 ...
- 慕学在线网0.3_四个model
1.四个model完整代码: # users/models.py from datetime import datetime from django.db import models from dja ...
- STA分析(一) setup and hold
timing check可以分为Dynamic Timing Analysis(Post_sim)和Static Timing Analysis STA:可以分析的很全面:仿真速度也很快:可以分析控制 ...
- STA分析(五) parastics
互联线的寄生参数 一般一个cell或者block的连接pin就叫做一个net.在物理实现的时候,一条net可能会穿过几层metal,因为每个metal层的电阻,电容值都不一样.所以,在分析 net的寄 ...
- ABP源码分析四:Configuration
核心模块的配置 Configuration是ABP中设计比较巧妙的地方.其通过AbpStartupConfiguration,Castle的依赖注入,Dictionary对象和扩展方法很巧妙的实现了配 ...
- ABP源码分析四十七:ABP中的异常处理
ABP 中异常处理的思路是很清晰的.一共五种类型的异常类. AbpInitializationException用于封装ABP初始化过程中出现的异常,只要抛出AbpInitializationExce ...
随机推荐
- jquery validate使用笔记
1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...
- 源码包安装Python3.6
1,安装Python3.6的依赖包 # yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel r ...
- gradle项目,连同依赖一起打jar包
在build里加入以下配置(如果不是一个可执行的jar包的话就不用配置Main-Class属性): def mainClassName = "你需要执行的main方法所在的的包名+类名&qu ...
- docker 镜像详解
镜像的大小不等于通过docker images 看到的每个镜像大小的合集,docker镜像采用了分层的机制.上层使用共同下层,各自不同部门构建各自的独立分层. docker的镜像通过联合文件系统(un ...
- 关于egret.Tween传递参数的问题
参考: setTimeOut传参数(转) setTimeout传参数 CSDN 一.延迟后执行,并输出参数 for(let i=0;i<10;i++){ egret.Tween.get(this ...
- rs.getMetadata
元数据(MetaData),即定义数据的数据.打个比方,就好像我们要想搜索一首歌(歌本身是数据),而我们可以通过歌名,作者,专辑等信息来搜索,那么这些歌名,作者,专辑等等就是这首歌的元数据.因此数据库 ...
- ZOJ 4029 - Now Loading!!! - [前缀和+二分]
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4029 Time Limit: 1 Second Memory L ...
- KMP算法小记
Knuth-Morris-Pratt算法: 转载来自http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_ ...
- hihocoder 1320 - 压缩字符串 - [hiho一下160周]
这道题目可以说是一道非常好非常一颗赛艇的DP题了. 需要注意的是,其中情形3),字符串必然能完全转化为 N(str)形式,如果有N(str1)M(str2)等等另外样式,应该首先使用拼接形式对其进行划 ...
- C# 多线程 详解
[基础篇] 怎样创建一个线程 受托管的线程与Windows线程 前台线程与后台线程 名为BeginXXX和EndXXX的方法是做什么用的 异步和多线程有什么关联 [WinForm多线程编程篇] 多线程 ...