互联线的寄生参数

一般一个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. CentOS6.4挂载读写NTFS分区 (重要)

    如今很多的linux衍生版本已经支持自动连接NTFS分区了,之前在一次安装的过程中,遇到 linux不能识别NTFS分区,解决方法如下文: ============================== ...

  2. ssh命令远程登录

    1.查看SSH客户端版本 有的时候需要确认一下SSH客户端及其相应的版本号.使用ssh -V命令可以得到版本号.需要注意的是,Linux一般自带的是OpenSSH: 下面的例子即表明该系统正在使用Op ...

  3. Docker 启动 Centos 镜像 提示"Error response from daemon: No command specified"

    奇怪的是当我执行启动其他的镜像的时候并没有报错,找了半天资料发现在启动centos这个镜像的时候需要在docker命令后面指定命令参数“/bin/bash”

  4. 关于windows 7系统下开启休眠功能的方法

    今天笔者新装了一个windows 7操作系统,装完后,点击开始按钮.鼠标放到关机处的左边扩展选项时,没有发现休眠选项. 于是开始上网查询解决方法,并将过程记录如下: 首先简单的介绍一下休眠功能:休眠( ...

  5. dhroid - ioc基础(@Inject*)

    1 ioc即控制反转.控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心.控制反转还有一 ...

  6. mysql的sql优化

    https://dev.mysql.com/doc/refman/8.0/en/statement-optimization.html 8.2 Optimizing SQL Statements 8. ...

  7. ubuntu常用技巧积累

    1.修改root密码,一般与用户密码不同 python@ubuntu:~$ sudo passwd[sudo] password for python: 输入新的 UNIX 密码: 重新输入新的 UN ...

  8. 11.20 HTML及CSS

    <div>用于分组HTML元素的块级元素HTML表单,用于收集不同类型的用户输入<input type='radio'>:定义了表单的单选框按钮<input type=' ...

  9. JIRA licence and vulnarability,jenkins,devops

    http://blog.itpub.net/13651903/viewspace-1079918/ http://www.freebuf.com/articles/web/34051.html JIR ...

  10. python MD5步骤

    https://www.cnblogs.com/zipon/p/8340720.html import hashlib def get_token(): md5str = "abc" ...