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

1)metal layers越来越多;2)metal wire变得越来越薄而细;3)单位晶圆上的cells越来越多;4)供应电压越来越小,留给noise的margin越来越少。

2)时钟速率越来越快。

在分析crosstalk时,其中受影响的signal叫做victim。影响别的signal的叫做aggressors。对整个design的影响主要表现在带来glitch和影响的delay。

主要因为coupling capacitance,而使得信号之间相互影响。

首先讨论glitch:影响产生的glitch的大小(magnitude)的因素。

1)coupling capacitance越大,glitch的magnitude越大。

2)aggressors net的drive strength越大,the slew faster,glitch的magnitude越大。

3)grounded capacitance越小,glitch的magnitude越大。

4)victim net的driving strength越小,glitch的magnitude越大。

glitch的四种类型:positive/rise glitch在victim net为0时,negative/fall glitch在victim为1时,

overshoot glitch在victim为1,aggressor rise时,undershoot glitch在victim为0,aggressor fall时。

glitch的大小根据lib中的grounded capacitance,coupling capacitance,aggressors net和victim net的驱动能力来计算。

针对glitch的分析,有DC Threshold和ACThreshold两种,前者只分析glitch的magnitude,而后者还会分析glitch的width和fanout output load。

Models for DC margin:只要glitch的level小于VILmax,大于VIHmin即可。

Models for AC margin:1)只要glitch的width小于cell路径中的delay,这个glitch就不会对design有影响,不会传播下去。

2)只要output capacitance足够大,glitch也不会传递下去,不过这种方式本身delay很大。

在多个aggressors nets时,在同一个产生最大glitch的timing window下,分别计算glitch,然后取均方根RMS。

但是此时的多个aggressor,是与功能相关的,比如SCAN的CLK与正常logic的CLK是不能共存的,就不能算在一起。

Crosstalk Delay:由于对coupling capacitance的充放电,crosstalk会影响cell和interconnect本身的delay。

1)aggressor net steady:此时没有crosstalk,victim net的变化是正常的RC延时。

2)aggressor switching in same direction:此时因为coupling cap一般小于grouded cap,所以delay会变小。称为negative delay。

3)aggressor switching in oppo direction:此时delay会变大。称为positive crosstalk delay。

在分析crosstalk delay时,worst positive delay 和 worst negative delay分别计算rise/fall edge。

所以会有四种:positive rise delay,negative rise delay,positive rise delay,negative fall delay。

在多个aggressors nets时,在同一个产生最大delay的timing window下,分别计算delay,然后取均方根RMS。

但是此时的多个aggressor,是与功能相关的,比如SCAN的CLK与正常logic的CLK是不能共存的,就不能算在一起。

在STA分析时,worst condition for setup check是:launch clock path和data path有positive delay;

capture的clock path有negative delay。

worst condition for hold check是:launch clock path和data path有negative delay;

capture的clock path有positive delay。

对于hold check,其中因为crosstalk带来的delay,clock因为是同一个时钟,所以launch和capture的clock path不应有区别。所以在该worst condiion

下,The clock path is non_common。而setup因为隔了一个时钟,所以不存在这个情况。

在大型design中,对于crosstalk的分析会比较耗时。1)其中coupling cap较小时,可以忽略计算。

2)在多个aggressor时,将他们等效为一个virtual aggressor。

如何避免critical net的crosstalk。1)在同一metal layer中,critical net附近加入shield net(直接连接到vss/vdd)。

2)增加wire之间的space。

STA分析(六) cross talk and noise的更多相关文章

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

    手机自动化测试:Appium源码分析之跟踪代码分析六   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest推出手机自 ...

  2. STA分析(七) sdc

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

  3. STA分析(一) setup and hold

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

  4. ABP源码分析六:依赖注入的实现

    ABP的依赖注入的实现有一个本质两个途径:1.本质上是依赖于Castle这个老牌依赖注入的框架.2.一种实现途径是通过实现IConventionalDependencyRegistrar的实例定义注入 ...

  5. Duilib源码分析(六)整体流程

    在<Duilib源码分析(一)整体框架>.<Duilib源码分析(二)控件构造器—CDialogBuilder>以及<Duilib源码分析(三)XML解析器—CMarku ...

  6. docker 源码分析 六(基于1.8.2版本),Docker run启动过程

    上一篇大致了解了docker 容器的创建过程,其实主要还是从文件系统的视角分析了创建一个容器时需要得建立 RootFS,建立volumes等步骤:本章来分析一下建立好一个容器后,将这个容器运行起来的过 ...

  7. phpcms 源码分析六:index文件

    这次是逆雪寒对index.php的分析: /* [/php] [ 本帖最后由 逆雪寒 于 2007-12-25 16:12 编辑 ] 尽量每天都有新的东西每天都能进一小步 现在开始讲 index.ph ...

  8. motan源码分析六:客户端与服务器的通信层分析

    本章将分析motan的序列化和底层通信相关部分的代码. 1.在上一章中,有一个getrefers的操作,来获取所有服务器的引用,每个服务器的引用都是由DefaultRpcReferer来创建的 pub ...

  9. STA分析(五) parastics

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

随机推荐

  1. jpa中时间戳格式应该用哪种类型

    遇到个bug,数据库时间存储用了datetime,但是下面的java jpa代码,查询回来,却只有日期. String innerSql = getInnerQuery(departmentId, k ...

  2. ELK系列三:Elasticsearch的简单使用和配置文件简介

    1.定义模板创建索引: 首先定义好一个模板的例子 { "order":14, "template":"ids-1", "state ...

  3. C语言如何产生随机数

    1.基本函数 在C语言中取随机数所需要的函数是: int rand(void); void srand(unsigned int n); rand()函数和srand()函数被声明在头文件stdlib ...

  4. How arduino IDE works?

    test.ino void setup() { pinMode(,OUTPUT); } void loop() { digitalWrite(,HIGH); delay(); digitalWrite ...

  5. Unity性能优化之Draw Call(转)

    Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎首先经过简单的可见性测试,确定摄像机可以看到的物体,然后把这些物体的顶点(包括本地位置.法线.UV等),索引(顶点如 ...

  6. 专访|HPE软件部中国区总经理李时:HPE引领IT战略新形态

    ​2016年7月22日,「HPE&msup软件技术开放日」将在上海举办,msup携手HPE揭秘全球测试中心背后的12条技术实践. 李时:HPE软件部中国区总经理,将在本次开放日带来<HP ...

  7. PyQT5-QPushButton切换按钮

    """ QPushButton:切换按钮就是QPsuhButton的一种特殊模式,他有两种状态:按下和未按下.我们在点击的时候切换两种状态,有很多场景会用到这个功能 Au ...

  8. CodeForces - 950D A Leapfrog in the Array 玄学题

    题意:n个数1~n(n<=1e18)依次放在一个数组中,第i个数位置为2i-1,其它地方是空的.现在重复以下操作:将最右边的数放到离其左边最近的空的位置,直到所有数移到前一半的位置中.有q< ...

  9. android Instrumentation 转载

      Android提供了一系列强大的测试工具,它针对Android的环境,扩展了业内标准的JUnit测试框架.尽管你可以使用JUnit测试Android工程,但Android工具允许你为应用程序的各个 ...

  10. JS 防止表单重复提交的方法

    第一种:用flag标识,下面的代码设置checkSubmitFlg标志: <script language="”JavaScript”"> var checkSubmi ...