时序分析基本概念介绍——SI/crosstalk/delta delay/noise/timing Window

文章目录

  • 前言
  • 一、Crosstalk
    • 1. Crosstalk Delay Effects
    • 2. Crosstalk Noise Effects
  • 二、Crosstalk Analysis
    • 1. Crosstalk Delay Analysis
    • 2. Crosstalk Noise Analysis
  • 三、如何 fix delta delay 和 noise violations
    • 1. 检查delta delay 和 noise
      • delta delay check
      • noise check
    • 2. 修复delta delay 和 noise violations
  • 总结


前言

信号完整性(Signal Integrity)指的是在周围高频电磁干扰环境中依然能够保持信号稳定的能力;串扰(Crosstalk)指的是相邻的两条或多条net之间的耦合电容带来的相互影响。随着工艺越来越先进,布线密度越来越高,串扰带来的影响越来越重要。

一、Crosstalk

一般可以把crosstalk 带来的影响分为两类:Crosstalk Delay Effects 和 Crosstalk Noise Effects。

1. Crosstalk Delay Effects

串扰会引入Crosstalk Delay(Delta Delay),通过改变信号的 transitions 来影响信号延迟,如下图所示A和C对B的干扰(slowdown & speedup)。
在这里插入图片描述

2. Crosstalk Noise Effects

串扰还会引入噪声(Noise),有时也称为毛刺(Glitch)。Static noise通过改变 steady-state nets(稳态0/1的net) 的逻辑跳变来影响功能。
在这里插入图片描述

二、Crosstalk Analysis

正常波形和收到crosstalk影响的波形如下图所示,delay的增大可能导致timing不满足, 产生的glitch可能会导致信号传输错误。
在这里插入图片描述

串扰是信号之间的相互影响,两根紧挨着的绕线(net)之间存在耦合电容,当一条线进行电平转换的过程中,另一条线也会受到相应的影响。其中第一条线称为攻击端(aggressor),第二根线称为受害端(victim)。
在这里插入图片描述

1. Crosstalk Delay Analysis

如下图所示Net N1通过电容Cc耦合到相邻的网络(标记为Aggressor Net),并通过电容Cg接地。此示例假定网络N1在输出端具有上升电平过渡,并根据Aggressor Net是否同时进行电平切换来考虑不同的情况。
在这里插入图片描述
同时切换Aggressor和Victim的电平会影响Victim网络的过渡时间。根据攻击者网络电平切换方向的不同,串扰延迟影响可能为正(减慢受害者网络过渡时间)或为负(加快受害者网络过渡时间)。
正串扰延迟影响的示例如下图所示。受害者网络在下降的同时,攻击者网络却在上升。攻击者网络向相反方向的电平切换会增加受害者网络的延迟。正串扰(positive crosstalk)会影响驱动单元以及互连线,这两者的延迟都会增加。
在这里插入图片描述
串扰延迟为负的情况如下图所示。攻击者网络与受害者网络同时上升,攻击者网络与受害者网络朝相同方向的电平切换可减少受害者网络的延迟。如前所述,负串扰(negative crosstalk)会影响驱动单元和互连线的时序,两者的延迟都会减小。
在这里插入图片描述
当Victim Net和Aggressor Net同向翻转时,会加快Victim Net的跳变;当Victim Net和Aggressor Net异向翻转时,会减缓Victim Net的跳变。
在这里插入图片描述
在当前STA方法学中,对于由crosstalk引起的delta delay的计算为:先分别计算Victim Net和Aggressor Net的timing window,如果攻击者和受害者的时间窗口有重叠,就需要计算串扰对延迟的影响。对于多攻击者的情况,多条攻击者的时间窗口也要做类似的分析。时间窗口(Timing Window)表示在1个时钟周期内1条线可以在其中翻转的最早和最晚翻转时间。
如下所示,3个不同的攻击线可以影响受害线的时序。攻击线(A1,A2,A3)和受害线(V)电容性耦合,并且它们的时间窗口也和受害线重叠。下图显示了时间窗口和由各个攻击者造成的可能的串扰延迟影响。基于时间窗口,串扰延迟分析确定了造成大串扰延迟影响的最差可能攻击者翻转组合。在这个例子中,时间窗口的重叠区域可以分为3个区域,每个区域说明了可能的攻击者翻转。区域1有A1和A2电平翻转,可以导致串扰延迟影响为(0.12+0.14)=0.26。区域2有A1电平翻转,可以导致串扰延迟影响为0.14。区域3有A3电平翻转,可以导致串扰延迟影响为0.23。因此,最差串扰延迟影响为区域1的0.26。
在这里插入图片描述
Delta delay对setup/hold都是worst的影响。
在这里插入图片描述

2. Crosstalk Noise Analysis

如下图所示,由aggressor nets transitions 导致处于 steady-state 的victim net 产生四种不同类型的noise bump:above low、below high、above high、below low。
在这里插入图片描述
这四种noise bump可以分成两组:Between-the-rails 和 Beyond-rails。
一般情况下,PTSI 只会考虑Between-the-rails noise bump (即above low、below high),如果超过了规定的阈值,就可能导致一些错误的跳变(这种错误不一定引起真实的功能错误,因为产生的noise bump可能随着电路的传递会逐渐减弱、消失,但也有可能被加强。如果这种错误跳变被一级一级往后传,并且noise bump依然超过阈值,并且被时钟捕获到,则会引起功能错误)。
Beyond-rails noise bump(即above high、below low)也对电路结构有一定的影响,如果这种noise bump直接进到input 没有缓冲单元的flop/latch中,可能会正向偏置击穿gate,进而导致功能错误,但目前的lib 库中的flop/latch都会包含一些缓冲单元,所以这种情况发生的概率比较小。

为了进行Noise或者Glitch分析,需要对一个串扰造成的Bump建模,它有宽度和高度,还有面积等属性概念(如下图所示)。
在这里插入图片描述
PT-SI在进行update_noise计算时,首先会采用较为悲观的方式快速计算一个类似于下图中DC noise margin的阈值,如果计算出的Bump Height远低于该值,那么就可以断定没有noise不会传播,没有危害。如果计算出的Bump Height接近这个阈值,那么工具就会启动更精细的类似SPICE的门级仿真,取得更精确的结果。通过这种方式,即节省了时间,又保证了精度。
下图中的曲线可以看做是Noise Immunity Curve(NIC),在曲线左下角的Glitch都是无害的,而右上角的Glitch都是必须修复掉的,PT-SI在进行Noise门级仿真时会实时地计算出各个点的NIC。
在这里插入图片描述
一个cell input 的noise bump 在超过阈值之后可能传输到output 产生一个新的noise bump,这种现象叫做Noise的传播,如下图所示。输出毛刺高度和宽度是输入毛刺的宽度、高度以及输出负载的函数。即输入毛刺形状和输出负载,决定了输出毛刺的形状。而这些函数表征是由标准单元库中的propagated_noise模型描述的。
在这里插入图片描述

三、如何 fix delta delay 和 noise violations

在了解了delta delay 和 noise的影响之后,需要将delta delay 和 noise violations报出来,然后修复这些violations。

1. 检查delta delay 和 noise

delta delay check

一般情况下,clock和data的delta delay的阈值设置是不同的,比如data path上面的net的delta delay不超过100ps, clock tree上面的net的delta delay不超过20ps。
在这里插入图片描述
因此如果report所有的delta delay violations,首先得到data net和clock net的delta delay,因此需要先通过-filter is_clock_used_as_clock==true判断是data net还是clock net,然后通过 get_attribute $net annotated_delay_delta_max和 get_attribute $net annotated_delay_delta_min来得到delta delay的数值,最后判断delta delay的数值和设置的clock和data的delta delay的阈值的大小,超过阈值的则为delta delay violations。

noise check

当report noise 的时候有两种mode 供选择,report at source 和report at endpoint。上面说过一个noise bump 超过了阈值不一定会导致最终的功能failure,这跟传输的路径有关系。如下图所示,U1的input nets 受到干扰产生noise bump并超过了要求的阈值,但经过U1的传输,noise bump衰减,低于阈值,那么这种noise bump就不会导致最终的功能failure。report at source会把路径上所有出现violations 的点(noise bump超出阈值)都报出来,报告更加详细;report at endpoint只会报出noise 终止的endpoint,报出来的报告会更加简洁,只显示会引起功能出错的点(一般是flop/latch等)如下图所示。
在这里插入图片描述
在这里插入图片描述
指令如下:

pt_shell> set_noise_parameters -analysis_mode report_at_endpoint -enable_propagation

report所有的noise violations的指令如下:

pt_shell> report_noise -verbose -all_violators -nosplit

2. 修复delta delay 和 noise violations

修复delta delay 和 noise violations需要结合受害(victim)和攻击(aggressor) Net相关路径的时序,周围Net和Cell的密集程度等情况来具体分析,大致上有以下方法:
(1)增加victim net的驱动单元驱动能力。victim net驱动能力越弱的话,Glitch的量级也会越大。使用髙驱动单元可提髙潜在victim net的门限,从而降低victim net的受害程度。
(2)减少victim net的负载单元驱动能力。
(3)增加victim net和攻击Net的间距。将victim net和aggressor net之间的间距加大,或者采用屏蔽线shielding都是保护victim net的一些好方法。
(4)降低aggressor net的驱动单元驱动能力。aggressor net的驱动能力越强,Glitch的量级就越大。
(5)通过加Buffer将受害Net打断 (工具一般是通过这种方式来修复)。插buffer是后端修复violation的万能手段。它也是是处理noise时一项非常有效的修复技术。通过插入buffer将长线打断能有效降低victim net上的耦合电容,从而降低noise的影响。


总结

在先进工艺节点下,对于STA的check,通常会引入SI(signal integrity)分析。在芯片的电学特性中,时序、串扰和功耗是三项相互相关的重要分析内容。因此,需要了解芯片在物理设施过程中的串扰产生和现象、产生的因素、对芯片引起的危害及实际解决方案等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/867369.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言小知识】缓冲区

缓冲区 当我们使用printf()将数据显示在屏幕上,或者使用scanf()函数将数据输入到电脑里,我们是否会产生些许疑问?为何输入的字符会直接显示到屏幕上等等。这里需要介绍一个C语言中的一个关键概念——缓冲区。 当我们使用老式系统进行运行代码…

suricata7 rule加载(一)加载 action

suricata7.0.5 一、前提条件 1.1 关键字注册 main | --> SuricataMain|--> PostConfLoadedSetup|--> SigTableSetupsigmatch_table是一个全局数组,每个元素就是一个关键字节点,是对关键字如何处理等相关回调函数。非常重要的一个结构&#x…

PyCharm如何安装requirements.txt中的依赖包

问题:下载别人的源码,如何安装代码中requirement.txt中的依赖包。 解决方案: (1)打开PyCharm下面的Terminal,先为代码创建单独的虚拟环境并进入到虚拟环境中(每个项目单独的环境,这…

GlusterFS分布式存储系统

GlusterFS分布式存储系统 一,分布式文件系统理论基础 1.1 分布式文件系统出现 计算机通过文件系统管理,存储数据,而现在数据信息爆炸的时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储…

Docker搭建MySQL双主复制详细教程

在此之前需要提前安装好Docker和 Docker Compose 。 一、创建目录 首先创建一个本地数据挂载目录。 mkdir -p master1-data master2-data二、编写docker-compose.yml version: 3.7services:mysql-master1:image: mysql:5.7.36container_name: mysql-master1environment:MYSQL_…

VBA初学:零件成本统计之四(汇总计算)

第四步,最后进行汇总计算 汇总统计的计算 Sub count() Dim rng As Range Dim i As Long, j As Long Dim arr_s, arr, brr, crr, drr Dim rowscount As Long Dim X As Variant Dim rg As Single, xb As Single, zj As SingleMsgBox "汇总计算时间较久&#xff…

【HTML入门】第二课 - head标签下的常见标签们

目录 1 本节概要 2 head下的常见标签 2.1 网页编码设置 2.2 网页的标题 2.3 样式标签 3 head标签的内容不会显示到网页上 4 查看网页源代码 1 本节概要 上一节,我们说了HTML网页最基本的框架标签,说到标签分为head头部和body身体部分。这一小节呢…

Windows Server 2016 搭建 网络负载平衡 服务

网络负载平衡功能的安装 添加角色 默认不动————功能 勾选上 < 网络负载平衡 > 在工具中————打开 < 网络负载平衡管理器 > 网络负载平衡群集创建 注意 : 提前 将两台 web 站点服务器 都安装好 < 网络负载平衡功能 > 右键 选择 ————新建群集 ——…

【学习笔记】爱立信SPO 1400 CRAFT软件基础知识6——配置的备份与恢复的详细方法

一、前期准备 提示&#xff1a;下面所有学习内容都是基于以下条件完成的 条件1.已经正确安装并正常运行SPO 1400 CRAFT软件&#xff08;以下简称LCT&#xff09; 条件2.确认已正确使用爱立信SPO 1400 CRAFT软件通过网络登录设备&#xff08;以下简称NE&#xff09; 具体登录…

【图解大数据技术】Flume、Kafka、Sqoop

【图解大数据技术】Flume、Kafka、Sqoop FlumeFlume简介Flume的应用场景 KafkaKafka简介Kafka架构Flume与Kafka集成 SqoopSqoop简介Sqoop原理sqoop搭配任务调度器实现定时数据同步 Flume Flume简介 Flume是一个数据采集工具&#xff0c;多用于大数据技术架构下的日志采集。 …

SQL-DCL(三)

一.DCL介绍 DCL英文全称是Data Control Language(数据库控制语言),用来管理数据库 用户,控制数据库的访问权限。 二.两个方面 1.数据库可以由那些用户访问 2.可以访问那些内容 三.DCL-管理用户 1.查询用户 USE mysql SELECT * FROM user 2.创建用户 CREATE USER…

基于Qwen2/Lllama3等大模型,部署团队私有化RAG知识库系统的详细教程(Docker+AnythingLLM)

自 ChatGPT 发布以来&#xff0c;大型语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff0c;大模型&#xff09;得到了飞速发展&#xff0c;它在处理复杂任务、增强自然语言理解和生成类人文本等方面的能力让人惊叹&#xff0c;几乎各行各业均可从中获益。 然…

利用级数公式计算圆周率(π)

π是是指圆的周长与直径的比值&#xff0c;是无限不循环小数&#xff0c;有很多种方法可以求得它的近似值。这里用比较容易实现的关于π的无穷级数来求它的前10000位的取值。 π / 2 π 具体的&#xff0c;用两个字符数组x,z分别存放当前计算得到的pi值&#xff0c;数组…

有趣的算法

目录&#xff1a; 1、百钱买百鸡 2、韩信点兵 1&#xff09;概述 2&#xff09;正常取余算法 3&#xff09;循环算法 1、百钱买百鸡 我国古代《算经》中的“百钱买百鸡”问题&#xff1a; 鸡翁一&#xff0c;值钱五&#xff1b;鸡母一&#xff0c;值钱三&#xff1b;鸡…

并口、串口和GPIO口区别

并口 并行接口,简称并口。并口采用的是25针D形接头。所谓“并行”,是指8位数据同时通过并行线进行传送,这样数据传送速度大大提高,但并行传送的线路长度受到限制,因为长度增加,干扰就会增加,数据也就容易出错,目前,并行接口主要作为打印机端口等。 并口的工作模式 …

景色短视频:成都柏煜文化传媒有限公司

景色短视频&#xff1a;定格自然之美&#xff0c;邂逅心灵之旅 在这个被数字洪流包围的时代&#xff0c;短视频以其独特的魅力&#xff0c;为我们打开了一扇通往无限可能的大门。而在众多短视频类型中&#xff0c;景色短视频以其无与伦比的视觉冲击力&#xff0c;成为了许多人…

优化路由,优化请求url

1、使用父子关系调整下使其更加整洁 2、比如说我修改了下url,那所有的页面都要更改 优化&#xff1a;把这个url抽出来&#xff0c;新建一个Api文件夹用于存放所有接口的url&#xff0c;在业务里只需要关注业务就可以 使用时 导包 发请求 如果想要更改路径&#xff0c;在这里…

Java+Vue实现电商网站

&#x1f31f; 探索我们的全新电商平台&#xff01;使用Java和Vue打造&#xff0c;我们为您带来无与伦比的购物体验。&#x1f6d2;✨ ✨ 功能一览&#xff1a; 首页&#xff1a;精美设计&#xff0c;直观易用&#xff0c;让您轻松发现最新产品和促销活动。 我的订单&#xf…

k8s record 20240703

1. containerd 它不用于直接和开发人员互动&#xff0c;在这方面不和docker竞争 containerd的用时最短&#xff0c;性能最好。 containerd 是容器的生命周期管理&#xff0c;容器的网络管理等等&#xff0c;真正让容器运行需要runC containerd 是一个独立的容器运行时&am…

2024年7月6日 (周六) 叶子游戏新闻

自动电脑内部录音器AutoAudioRecorder: 是一款免费的自动音频录制软件&#xff0c;可直接将电脑内部所有的声音录制成 mp3/wav 文件&#xff0c;包括音乐、游戏直播、网络会议、聊天通话等音频源。 卸载工具 HiBitUninstaller: Windows上的软件卸载工具 《不羁联盟》制作人&…