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 ...
随机推荐
- wps插件开发中com组件权限
需要对wps写一个小的插件,也就是几行代码的事情,但却碰到了一个坑 wps中的com组件的调用和MSoffice非常的相似,几乎只需要把包的头修改一下就可以用了. 比如开发wps文档的插件,需要引用 ...
- Unity3D笔记 愤怒的小鸟<一>场景切换
新建3个场景,场景1 Start 十秒后自动切换到场景2 Splash,场景2在二秒后自动切换到场景3 Selection 一.场景一Start 二.场景2 Splash 三.场景3 Selectio ...
- springMVC去掉静态资源的拦截
前端控制器的配置 <!-- springmvc的前端控制器 --> <servlet> <servlet-name>springMVC</servlet-na ...
- Docker 安装Centos,Tomcat,Jdk等相关的自定义(Dockerfile)镜像
一.安装Centos镜像 这里Centos 安装 国内daocloud网站提供的官方镜像 docker pull daocloud.io/library/centos:latest 利用docker ...
- JPA的锁机制
JPA 各种实体锁模式的区别 字数2084 阅读304 评论0 喜欢4 为了能够同步访问实体,JPA提供了2种锁机制.这两种机制都可以避免两个事务中的其中一个,在不知情的情况下覆盖另一个事务的数据. ...
- POJ-1952 BUY LOW, BUY LOWER(线性DP)
BUY LOW, BUY LOWER Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 9244 Accepted: 3226 De ...
- ubuntu下opencv2.4.9和opencv3.1.0的共存
转载:ubuntu下opencv2.4.9和opencv3.1.0的共存 关于opencv3.1.0和opencv2.4.9的共存问题其实并不是什么大的问题,因此网上资料比较少.本人也是因为在安装Ro ...
- iOS多线程编程之创建线程安全(转载)
一.多线程的安全隐患 资源共享 1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象.同一个变量.同一个文件 当多个线程访问同一块资源时,很容易引发数据错乱和数 ...
- spring中的BeanFactory与ApplicationContext的作用和区别
BeanFactory 和ApplicationContext Bean 工厂(com.springframework.beans.factory.BeanFactory)是Spring 框架最核心的 ...
- Celery 分布式任务队列入门
一.Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery ...