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 ...
随机推荐
- Docker 容器管理:rancher
Rancher:https://www.cnrancher.com/ 是一个开源的企业级全栈化容器部署及管理平台. 定位上和 K8s 比较接近,都是通过 web 界面赋予完全的 docker 服务编排 ...
- PS-CC常用快捷键总结
灵活使用photoshop软件快捷键是学好该软件的基础,ps快捷键对于ps平时操作有很大帮助 熟练掌握ps的快捷键可以为了处理图片节省很多时间.现在笔者将自己平时常用的快捷键总结如下: 移动工具[V] ...
- thinkphp开启事物的简单方法
使用thinkphp开启事务,ThinkPHP 3.2.2实现事务操作的方法: 开启事务: $User->startTrans() 提交事务: $User->commit() 事务回滚: ...
- inline-blcok 之间的空白间隙
前言: inline-blcok 布局时,通常情况下, inline-blocks 之间有空白,尽管通常我们是不想要的,毕竟不像padding或者margin一样好控制,如图: <div cla ...
- VS远程调试亲历
背景: 很多情况下本地开发没有问题,可放到服务器就有问题(更气人的是测试环境时也行可就是生产环境不行!) 1.想到可能是服务器环境不对,Web服务器版本不对 2.有文件读写是不是文件夹权限 3.Web ...
- 【转】仅此一文让你明白ASP.NET MVC原理
原文地址:http://www.cnblogs.com/DotCpp/p/3269043.html ASP.NET MVC由以下两个核心组成部分构成: 一个名为UrlRoutingModule的自定义 ...
- POJ 2342 - Anniversary party - [树形DP]
题目链接:http://poj.org/problem?id=2342 Description There is going to be a party to celebrate the 80-th ...
- 完整的Jquery-easyUI显示分页数据例子
虽然说是入门的例子,但本人尽量做的详细点,以后会继续更新,部分功能 此外,为了后继easyui的学习,做了一个简单的框架:后台采用hibernate2.5+struts2开发:数据库用mysql.红色 ...
- Git:从github上克隆、修改和更新项目
一.在本地新建一个文件夹,作为本地仓库,如“BigProjet”.在该文件夹打开git bash,进入到该文件夹目录下 二.将本地仓库初始化 $ git init 三.将项目从github或者服务器上 ...
- 在浏览器地址栏输入一个URL后回车,将会发生的事情?
https://yq.aliyun.com/articles/20667