互联线的寄生参数

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

net的寄生参数(parasitics)时,一般把一个net分为多段,每段在一个metal层。这里的一段也叫做,interconnect trace。

电阻resistance,主要来源于不同metal层和过孔via之间的trace。

电容capacitance,也来源于trace,可以分为grounded capacitance, coupling capacitance。

电感inductance,来源于电流回路(current loop),因为设计中的电流回路一般很小而且短,所以一般很少考虑电感影响。

综述,整个interconnect parasitics 就是RC的分布,一般用RC tree来建模。在RC tree的节点用T-model或者Pi-model来建模。

T-model:将电阻R分为两部分,整体结构是R/2, C, R/2。

Pi-model:将电容C分为两部分,整体结构是C/2, R, C/2。

Wireload Models:在floorplanning或layout之前,通过线负载模型来估算RC,通过fanout的个数来估算interconnect的长度。

而且可以根据area的不同,选择不同的wireload model。如wld_light,  wld_conservative, wld_aggressive。

根据lib中resistance per unit of interconnect和cap per unit interconnect,fanout和length的关系,来预估RC的值。

set_wire_load_mode  "wlm_cons" -library "lib_stdcell"

set_wire_load_mode "top/enclosed/segmented"

这三种模式是来规定,hierarchy design中的wireload mode的覆盖关系。top便是顶层覆盖底下所有层。segmented便是每个block都按自己

规定的wireload mode来,不存在覆盖关系。enclosed表示,只有某个block完全包含一个net时,才使用这个block的wireload mode。

default_wire_load :"wld_light"

wire_load_selection (WireAreaSelGrp) {

wire_load_from_area (0,5000,wld_light);

wire_load_from_area (5000,10000,wld_cons);}

RC Tree Topology:在预估出RC的总值后,还必须有RC的分布情况,在pre_layout,有三种Tree来建模同一length。

best-case tree:RC的值都分布在某一节点上,这样路径上便没有其他RC,其他的节点寄生参数很好。

balanced tree:RC等效分布在每个节点路径在R/N, C/N。这样每个节点上的RC参数都一样。

worst-case tree:RC分布在公共路径上,这样每个节点上的RC都是最大的。

至此implement之前的RC参数预估便好了。在implement之后,可以利用工具提取出来其中的RC参数。这里有三种文件:

Detail Standard Parasitics Format  (DSPF文件)

Reduced Standard Parasitics Format  (RSPF文件)

Standard Parasitics  Extraction Format   (SPEF文件,还有一种类似的SBEF的文件,用二进制表示,便于工具读取。因为精简性的关系,这种文件应用较多,

且容易饱含coupling capacitance信息)

在Critical Net减少Parasitics的方法:1)减少电阻。使用更宽的metal,或将trace布线到upper metal层。这样都可以减少RC 。

2)增加trace之间的space,这样可以减少coupling capacitance。

3)for correlated nets,例如DDR的数据总线,net布线最好在同一metal。

Cell delay:

pre-layout---capacitance和transition 用NLDM来进行预估

post-layout----capacitance可以提取出来,可以使用CCS/ECSM等更精确的模型

Interconnect delay

pre-layout---RC tree和WLD进行预估

post-layout----RC和length可以直接得到和预估

STA分析(五) parastics的更多相关文章

  1. 手机自动化测试:Appium源码分析之跟踪代码分析五

    手机自动化测试:Appium源码分析之跟踪代码分析五   手机自动化测试是未来很重要的测试技术,作为一名测试人员应该熟练掌握,POPTEST举行手机自动化测试的课程,希望可以训练出优秀的手机测试开发工 ...

  2. STA分析(七) sdc

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

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

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

  4. STA分析(一) setup and hold

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

  5. 7z文件格式及其源码的分析(五)

    这是7z文件格式及其源码的分析系列的第五篇. 上一篇讲到了7z文件压缩流程.最近太忙了,好久没更新,都快忘了写到哪了.:) 这一篇就说说7z文件的尾头的生成方式吧. 上一篇已经讲了尾header的结构 ...

  6. jquery源码分析(五)——Deferred 延迟对象

    javascript的异步编程 为什么要使用异步编程? JS是单线程语言,就简单性而言,把每一件事情(包括GUI事件和渲染)都放在一个线程里来处理是一个很好的程序模型,因为这样就无需再考虑线程同步这些 ...

  7. Vue系列---理解Vue.nextTick使用及源码分析(五)

    _ 阅读目录 一. 什么是Vue.nextTick()? 二. Vue.nextTick()方法的应用场景有哪些? 2.1 更改数据后,进行节点DOM操作. 2.2 在created生命周期中进行DO ...

  8. adb 之日志文件分析(五)

    一,logcat日志文件 1,addroid日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区(内存)中记录下来的,缓冲区可以通过logcat命令来查看和使用 2,在开发 ...

  9. ABP源码分析五:ABP初始化全过程

    ABP在初始化阶段做了哪些操作,前面的四篇文章大致描述了一下. 为个更清楚的描述其脉络,做了张流程图以辅助说明.其中每一步都涉及很多细节,难以在一张图中全部表现出来.每一步的细节(会涉及到较多接口,类 ...

随机推荐

  1. shell 进制转换

    包括: i.任意进制转化为十进制((num=base#number)) [base和number必须一致,是同一种进制] ii.十进制转化为任意进制`echo "obase=进制;值&quo ...

  2. 数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题

    数据导入报错:Got a packet bigger than‘max_allowed_packet’bytes的问题 2个解决方法: 1.临时修改:mysql>set global max_a ...

  3. Rails: could not connect to database postgres: FATAL: Peer authentication failed for user "username"

    /var/lib/pgsql/9.2/data/pg_hba.conf 打开之后找到 local all postgres/all peer 改成 local all postgres trust 保 ...

  4. 23种设计模式之命令模式(Command)

    命令模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化:对请求排队或者记录请求日志,以及支持可撤销的操作.命令模式是对命 ...

  5. yii---load怎么使用

    在用YII进行二次开发的时候,看到登录方法有一个load的方法: public function actionLogin() { if (Yii::$app->request->isPos ...

  6. Transient修饰符的使用

    如果一个类没有继承Serilizable接口,那么它就不能被序列化,写入文件的时候会报异常.如果一个类继承了Serilizable接口,那么这个类的所有属性和方法都可以自动被序列化,而现实中我们又希望 ...

  7. 8.30前端jQuery和数据结构知识

    2018-8-30 16:37:17 单链表的demo 从俺弟家回来了! 发现,还是要努力学习是很重要的!!努力学习新的感兴趣的东西!! 多读书还是很重要的!!! 越努力,越幸运! # coding: ...

  8. windows乱码

    对于支持 UNICODE的应用程序,Windows 会默认使用 Unicode编码.对于不支持Unicode的应用程序Windows 会采用 ANSI编码 (也就是各个国家自己制定的标准编码方式,如对 ...

  9. Git之远程仓库

    1,注册账号 登录https://github.com注册一个账号 2,上传公钥 本地CentOS使用命令 ssh-keygen -t rsa生成秘钥 复制秘钥输入到github网站 3,新建仓库 4 ...

  10. Django的quarySet

    models.py 代码 from django.db import models # Create your models here. class Author(models.Model): nam ...