数字后端——信号完整性分析

2023-10-27

        随着光刻和集成电路制造工艺的不断进步,以及芯片的特征尺寸从深亚微米到纳米的迅速采用,人们一方面因为芯片的功能极大提高而受益,另一方面,当逻辑门的沟道长度减小时,门的开关时间会减小,这意味着输出驱动器上升时间变短,或者说时钟频率可以更高。同时,所有与信号完整性SI(signal integrity)相关的问题都变得更加严重。

        提起串扰,人们通常会首先想到PCB板级信号线相互作用和影响,事实也是如此,串扰往往和电磁干扰EMI联系在一起。信号完整性分析和研究包括宏观范围的物理互连(例如,IC封装、电路板、接插件、电缆等)如何影响信号和电源分布的质量,并采取新策略,例如,采用新的信号完整性设计技术,对设计用新的建模、仿真和测量工具进行验证。虽然芯片设计技术已经采用了 SiP并考虑了从芯片到封装的信号完整性,但是,实际上封装与芯片的分析是分别单独处理。在芯片的电学特性中,时序、串扰和功耗是三项相互相关的重要分析内容。因此,需要了解芯片在物理设施过程中的串扰产生和现象、产生的因素、对芯片引起的危害及其预防,即对串扰的分析和实际解决方案。

一、信号串扰与功能故障

1、串扰的产生

        芯片上的串扰是由互连线之间的寄生耦合引起的噪声,这种耦合反映了物理世界非理想化的特性。随着芯片特征尺寸的细化,互连线的物理尺寸以及间距变小,从而导致互连线之间的耦合效应增大,串扰随之产生并增强。

        串扰会导致信号延迟和毛刺两类问题,从而影响芯片的时序性能以及正常功能。在分析串扰时,我们将产生串扰信号源的网络称为侵害网络(aggressor net或attacker),受到串扰的网络称为受害网络(victom net)。当侵害网络上的信号在0 和1电平之间变换时,受害网络上会产生相应的串扰噪声,这种转换噪声能使受害网络的信号转换变慢、变快或出现非单调转换等现象,从而干扰或破坏信号。如果噪声使信号出现非单调转换,便将产生一个伪脉冲,叫做毛刺(glitch)。毛刺干扰有多种类型,主要分为(1)过冲,受害节点上的信号超过电源电压;(2)下冲,指受害节点上的信号低于接地电压。这些脉冲破坏了门电路所保存的状态,使门电路不起作用,或者起错误作用,从而引起带有门电路输入的触发器和锁存器出现功能故障,如下图所示。

2、噪声容限

         CMOS电路单元可以承受一定程度的噪声,而不会导致单元输出故障,这种特性称为噪声抵抗能力,我们通过噪声容限来对其说明。根据电压转换特征VTC(Voltage transfer characteristic)曲线,当处于单位增益(unity gain)点时,信号变化率最大,这时,噪声容限有两种定义方法:单源噪声容限(SSNM,single-source noise margin)和多源噪声容限(MSNM,multiple-source noise margin)。在工程中的实际噪声会来自电路中中的任意一级或多级。

        侵害网络的信号可以是强型(例如,上升时间短或转换率高,high slew rate),或者是弱型(例如,上升时间长或转换率低)。信号串扰可以是相加性,也可以是相减性的,侵害网络和受害网络之间的相对信号极性决定它们之间的耦合或串扰效应,即常说的米勒效应。

二、串扰信号分析

        串扰会导致信号延迟毛刺两类问题,从而影响芯片的时序性能以及正常功能。目前工业界用于串扰分析采用的工具包括Cadence公司的CeltIC或Synopsys公司的PT分析串扰脉冲和串扰延迟。

1、串扰分析

        串扰分析的内容主要分成两个方面,即串扰脉冲的分析串扰延迟的分析,分别体现为电压敏感值的计算以及延迟的计算。串扰的分析可以在芯片设计的各个阶段进行,它们都同时分析两种不同类型的噪声问题。

        分析噪声时,需要考虑的因素有:时序窗(timing window)、噪声阈值设定、噪声库以及噪声模型的选择和耦合电容的过滤等。

        (1)时间窗(TWF,timing window format)文档的应用是噪声分析中一个重要工具,它可以比较实时地反映芯片实际工作时的信号翻转情况,从而真实地分析噪声影响,避免过于悲观的噪声分析结果,从而降低设计的难度。

 

        如图所示,图中的两条相互影响的信号线O1和O2是经过I1和I2两个门电路传输过来的信号,假设I1的信号转变窗是在2ns和6ns之间,而I2的信号转换窗在5ns和9ns之间,则两个信号只在5ns和6ns之间的时间域内相遇,故只需在该范围内分析噪声即可,如果的时间窗在2ns和5ns之间,而I2信号的时间窗在6ns和9ns之间,则这两个信号没有交错的时间,故可以忽略其相互之间的噪声影响。EDA工具一般假设没有时间窗,计算出噪声问题,过滤低噪声网络,然后读入时间窗,对高噪声网络进行分析,从而降低分析的复杂性和时间。

        (2)在分析毛刺时,需要制定噪声阈值的大小,CeltIC的处理较为保守,一般为20% Vdd ,在Astro中一般默认为35% Vdd。也就是说在供电电压的多少百分比以内的噪声是安全的。

        (3)噪声库和噪声模型的选择影响EDA工具进行噪声分析的精确性和时间,在初步评估阶段一般选择精确度较为粗糙的算法,从而完成噪声的快速评估,在最后的sign-off阶段则需要选用精确度较高的算法,从而精确地定义噪声问题所在。

        对于延迟的计算,先要考虑由侵害网络与受害网络之间的耦合电容C_{c}和受害网络对地电容C_{gnd}产生的瞬态电压\triangle V_{2},根据下式决定受害网络的影响。 

        参数过滤也是减少计算复杂度的一种方法,主要的参数有:绝对耦合电容、相对耦合电容、单个峰值耦合噪声及累计峰值耦合噪声。当两条信号线之间的耦合电容小于一定值时,便忽略计算其噪声。当两条信号之间的耦合噪声小于一定的值,也认为是没有噪声影响,延迟计算主要有以下3种状况:

  • 最大可能延时:假设所有侵害网络静止,用保持电阻计算。
  • 最小延时:侵害网络与受害网络同向,用最快slew和最快vector计算。
  • 最大延时:侵害网络与受害网络反向,用最慢slew和最慢vector计算。

2、串扰与延迟

        耦合噪声也会改变关键路径延时,导致电路建立或保持时间的违例。当串扰使信号转换变慢或变快时叫做串扰延迟,通过增量延时分析可以捕捉到。

        如上图所示,所示输入in2从高电平变为低电平,通过反相器后导线in2_x 电平由低变高。同时,与之相临近的互连线a1,a2电平下降,由于耦合电容的存在导致in2_x由低向高的翻转过程中出现短暂的电平下降过程,使得上升时间增加。当a1的下降沿作用到受害网络,该信号的转换变慢,延迟明显增大,会导致产生setup的时序违例。

3、电压降与串扰

        电压降对于串扰的影响体现在两个方面:毛刺的传播延迟的变化。根据噪声容限的定义,其中毛刺的传播会产生电路的误操作,而延迟的变化则会产生setup和hold的时序违例。很多噪声sign-off的工具,基本上都支持这种带IR Drop的噪声分析,其中IR Drop文件有一定的格式,它可以是EDA工具输出的文件,也可以根据格式自己编写。

4、串扰与低功耗

        随着低功耗指标的深入,降低电压、多阈值单元、多电压区域等技术的应用,以及工艺的发展和演变,伴随低功耗而产生的一系列串扰问题也不可忽视。

        单一通过降低电压实现的低功耗技术主要有自适应电压调变技术,芯片的工作电压能够在一定范围内调整。从上面的分析得出,降低电压则晶体管的噪声容限阈值变小,可能会导致串扰脉冲的传播以及由不同路径上串扰延迟的增加而产生的setup和hold的时序违例,这种情况下对于噪声的分析和优化相对比较简单,只要解决最坏情况下的噪声问题即能保证芯片的稳定工作

        当采用多阈值多电压的技术时,噪声分析难度在于每种不同类型的噪声库的建立,以及EDA工具对于工艺变化影响的考虑。所以在低功耗条件下,需要定义多种工艺条件进行分析。

三、信号串扰的预防与修复

        解决串扰问题主要从预防串扰和修复串扰两个方面着手,方法有:提高受害网络驱动器的驱动强度在受害网络中插入缓冲器降低侵害网络驱动器的驱动强度将受害网络从主要侵害网络处移开等。 

1、串扰预防

1)保护受害网络

        串扰产生在信号的转变过程中,而时钟信号的翻转概率最高,故合理的设计时钟网络可以有效地预防串扰的产生。时钟网络及其他高扇出网络包含许多级逻辑电路,时钟树网络中的每一个接收器都可能引起一个小的串扰增量,这些由时钟源至目的地的延迟之和(即总增量)足可以引起一个很大的定时扰乱。将时钟网络布线间隔增加1倍或2倍,再将时钟网络布线限制在拥挤程度不高的顶部金属层内,可以有效消除时钟网络的串扰延迟。屏蔽时钟网络布线是另一种方法,不过这种方法有一个缺点,那就是时钟等待时间会因接地电容增大而增加。虽然增加间隔采用屏蔽及利用保留金属层这3种方法适用于时钟和其他高扇出网络,但它们都会占用额外的布线空间和资源

2)增强受害网络对串扰的免疫力

        在串扰噪声干扰具有极强破坏性的异步网络上,应尽量使用高驱动单元。在复位网络的结构中使用髙驱动单元可提髙潜在侵害网络的门限,从而降低受害网络的受害程度和数量。

        在时钟树综合阶段使用高驱动单元,可降低串扰量,减少时钟树和复位树上的受害网络。减少时钟树的插入延迟也意味着沿启动时钟和捕获时钟路径上累加的递增串扰增最更少。

2、串扰修复

1)增强驱动器单元能力

        通过对受害增强网络上的驱动器的单元驱动能力可以修复最大延迟扰乱。在不产生新扰乱的情况下修复受害网络,我们可以根据串扰增量的大小来选择新驱动器强度,由此确定单元扩容的程度。

2)在受害网络上插入缓冲器

        插入缓冲单元是处理信号完整性时一项有效的修复技术,它可以解决因功能性故障、延迟和竞争条件(race condition)等现象造成的电容串扰噪声脉冲、过压与电压过低等问题。加入缓冲器的数量必须尽可能地少,因为插入大量的缓冲器可能造成电路布局上的额外拥挤或混乱,必须重新计算电路的寄生效应及时序信息,从而延长设计的周期时间。此外,若加入过多缓冲器,反而会增加受害网络的数量

3)插入延迟单元

        通过延迟单元插入可以修复最小延迟扰乱。该方法十分有效,实现起来也很简单。在失效路径上,将总的负slack除以延迟单元延迟值的保护间隔估计值,取四舍五入的结果作为插入单元的数量,便是在路径的两端点应该增加的延迟单元数量。

4)调整布线

        通过分析可以知道,合理地利用互斥的网络,不仅可以减少串扰,还可以减小延迟,从而提高芯片的功能。

        为了自动执行网络排斥修复,需要将网络隔离文件装入布线器中,启用定时驱动的间隔,并执行搜索和修复。也可以通过手工实现网络排斥来消除少量的扰乱。当受害网络处于拥挤区域时,需检查信号环境并实施可能难以自动完成的定制修复。

        网络排斥通常会减小失效路径上串扰增量值,但是很多情况下,这种减小的幅度还不足以修复扰乱。为了提高导线排斥一次通过的成功率,可以利用最小比率变量来确定哪条扰乱路径包含在一组必定要通过网络排斥来修复的路径中。可将这一组路径传递给一个定制程序,以便为布线器生成串扰制约条件。

3、虚拟串扰与靴值分析

        我们这里介绍的虚拟串扰是噪声分析中采用的一种简捷方案。在一个具有百万门的SoC设计中,总的网络(net)数目大约也是一百万条。为了分析一个受害网络受周围若干条侵害网络的作用,总的噪声分析数量是很庞大的。过高或过低地处理侵害网络的作用都不是科学的方法。在CeltIC噪声分析中,人们采用了统计学计算法,将多条小信号侵害网络编辑成组,并用一条虚拟侵害网络作为代表,这样就极大地减小了动态计算工作量。
        靴值(bootstrap,也称鞋值)分析是低噪声电子学中常用的一种分析方法,靴值噪声是作用于地线上的地冲或作用于电源上的上冲噪声干扰信号

         以上图中锁存器中的NMOS为例,考虑其输入端并将它作为受害网络进行分析,当它的数据输入端d 端口缺少buffer相连时,尽管时钟信号clk为0,靴值地冲噪声足够大时也会引起锁存器的错误导通。对于PMOS,类似的靴值上冲噪声足够大时也会引起它的错误导通。

四、噪声数据库

        噪声模型噪声库是完成信号完整性分析的基础。不同的EDA工具提供商,在建立噪声模型和噪声库时,存在一定的差异。在0. 18um及以上工艺,噪声问题并不严重,用户一般用厂家提供的时序库. lib以及晶体管的SPICE模型,定义电压及电压波动值,通过make_cdb仿真建立cdB噪声库,分析噪声问题。在0. 18um及以下工艺,很多厂家都提供了相应EDA工具所使用的噪声模型和与其相对应的库。

1、噪声模型

        噪声模型是建立噪声库时所用的模型,模型决定了噪声分析的准确性。噪声模型分为标准单元噪声模型以及互连线的噪声模型 。

        单元噪声模型是以标准单元为基础,其建立的思想是以最简单的方法模拟晶体管的工作特性。晶体管的传统模型有BSIM3和BSIM4模型以及工业界通用的SPICE模型,单元噪声模型的准确性一般与SPICE模型比较衡量。

        用户可以自定义噪声(UDN,user-defined noise)模型,它是在数模混合设计中,针对于模拟的器件提出的一种模型。它只有逻辑单元层次(cell-level view)上的(模型)视窗,没有晶体管级的视窗。它包含输人输出管脚的电容、输入噪声容限和非线型驱动输出传输曲线。

2、噪声数据库

        目前工业界的噪声数据库主要有两个,一是Cadence公司在2000年推出并应用广泛的•cdB库,另一个是Synopsys公司在2006年推出基于CCSM的外延. lib库。

3、互连线噪声模型

        做噪声分析也要做互连线的RC提取,尤其要关注互连线的耦合电容所产生的耦合噪声电压信号的大小。

        基于噪声数据库的信号完整性分析还有许多内容,这里仅简单介绍,有兴趣可以查找资料深入了解。

        

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字后端——信号完整性分析 的相关文章

  • 【C语言】静态通讯录的实现

    需要云服务器等云产品来学习Linux的同学可以移步 gt 腾讯云 lt gt 阿里云 lt gt 华为云 lt 官网 轻量型云服务器低至112元 年 新用户首次下单享超低折扣 一 项目要求 实现一个通讯录 二 Contact h 三 Con
  • 力扣第二十七天(heap(priority queue) topic)

    文章目录 problem solution 1 problem solution problem 215 Kth Largest Element in an Array Given an integer array nums and an
  • Python判断是否保留两位以下小数的数字

    判断是否为保留两位小数的数字 def check money interface money 支付时 输入的金额可能是小数 也可能是整数 s str money if s count 1 判断小数点个数 sl s split 按照小数点进行
  • TVM张量表达式

    Get Started with Tensor Expression TVM使用一个定义域特定张量表达式来高效地构造核 In 1 import tvm import tvm testing from tvm import te import
  • jenkins配置sonar并扫描C#代码

    背景 我的jenkins搭在linux上 1 下载插件 下载插件sonarqube scanner 用来集成sonarqube 在配置任务的时候才有sonarscanner的选项 2 全局工具配置 全局工具配置windows本地的msbui
  • qt系列-qt6在线安装慢的问题

    qt unified windows x64 online exe mirror https mirrors aliyun com qt 下载速度飞快
  • Qt贪吃蛇(代码裸写,不用creator)

    先上个图哇 图1 第一关视图 图2 第二关视图 游戏说明 1 每关只需吃20颗红果即可通关 2 增加新场景 在第二关出现 3 增加刚打开程序READY状态 按空格开始 4 增加暂停功能 在程序运行中按空格暂停 再按空格继续游戏 5 只要不关
  • Python客户端发布订阅MQTT云代理消息

    MQTT基础 MQTT 是一种开放且简单的客户端服务器发布 订阅消息传输协议 专为高延迟和低网络带宽环境下不同设备之间的机器对机器通信而设计 机器对机器通信 这很容易 一个系统需要与其他系统交换信息 在物联网环境中 设备之间的通信需求急剧增
  • react native 使用echarts做面积图

    react native 使用echarts 我用到了一个组件 react native secharts https github com shifeng1993 react native secharts 使用 import Echar

随机推荐

  • Git合并的代码 不提交服务器的方法

    使用Git下载代码的时候 常遇到合并的情况 然后再上传的时候 系统就会自动把合并代码的过程也上传 有时候会感觉非常的烦Merge remote tracking branch choose remote name master 每次先下载到
  • pycharm自定义多行注释的颜色

  • JWT续期问题,ChatGPT解决方案

    JWT JSON Web Token 通常是在用户登录后签发的 用于验证用户身份和授权 JWT 的有效期限 或称 过期时间 通常是一段时间 例如1小时 过期后用户需要重新登录以获取新的JWT 然而 在某些情况下 用户可能会在JWT到期之前使
  • DirectShow应用——支持Windows Media格式

    大家知道 微软定义了自己的一种媒体文件类型 叫做ASF Advanced Systems Format ASF其实是一个文件 容器 它本身并没有规定音视频的压缩格式 在ASF文件中 我们可以包含任何格式的压缩的 包括MPEG 4 或非压缩的
  • 抽象工厂设计模式的扩展

    american com itheima pattern factory config factory AmericanCoffee latte com itheima pattern factory config factory Latt
  • 【Apache Spark 】第 11 章使用 Apache Spark 管理、部署和扩展机器学习管道

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • git分支合并错误回滚

    1 合并 比如testB分支合并testA分支 2 还原 如果合并时 代码有错误 已经提交的远程分支 可以参考tortoisegit 还原到某个版本 强制还原 3 重新合并 可重新执行合并流程 改过错误代码后 重新提交的远程分支
  • Java异常类详解

    目录 异常简介 异常体系 异常的处理 自定义异常类 一 异常简介 1 1 异常定义 异常是运行程序的过程中产生的异常情况 异常的情况是指程序在运行过程中 可能由于外界条件的变更 不设想的不一致 导致出现错误的情况 如数据库连接 异常不同于常
  • C++类对象创建过程(分配空间、赋值和初始化、对象初始化顺序、虚函数表指针)

    http my oschina net alphajay blog 5029 from rss 初看到这个题目 你可能会有些疑惑 C 类对象的创建还有什么好说的 不就是调用构造函数么 实际上情况并不是想象中的那么简单 大量的细节被隐藏或者被
  • Node-RED中配置周期性执行、指定时间阶段执行、指定时间执行事件

    场景 Node RED简介与Windows上安装 启动和运行示例 Node RED简介与Windows上安装 启动和运行示例 霸道流氓气质的博客 CSDN博客 在inject节点可以设置重复触发的周期性事件 比如每两秒输出一次时间 注 博客
  • Windows系统服务器如何磁盘挂载

    桌面远程登录服务器后 服务器桌面上只有一个回收站的 我们在桌面空白处右键属性 gt 桌面 gt 自定义桌面 gt 然后把我的电脑前面的框框勾上 再然后点应用 确定 ok 回到桌面我们就能看到我的电脑了 步骤 点击我们电脑 gt 右键管理 g
  • VSCODE设置位置

    目录 设置位置 用户区 工作区 设置方法 设置编辑器 设置文件 结束 设置位置 VSCODE设置位置分为用户区和工作区 用户区 用户设置是全局的 对所有工作区和项目都有效 用户设置会存储在用户的配置文件夹中 并以settings json文
  • oceanbase 与hbase主要区别

    oceanbase支持跨表的事务 而hbase中支持跨行的事务 这是由他们的设计特别决定的 updateserver实际上是将Hbase所有ReginonServer的memtable聚合在一起 regionserver只服务一部分tabl
  • 编程tips

    一 是XOR 是不等于 if a b 和if a b 对对于聪明的编译器来说效率应该是一样的 二 与 的优先级比 高一级 表达式的结合次序取决于表达式中各种运算符的优先级 优先级从上到下依次递减 最上面具有最高的优先级 逗号操作符具有最低的
  • Spring中AOP

    1 概述 AOP 面向切面编程 将程序中的非业务代码抽取 在不修改业务代码的前提下 为其添加功能 功能增强 面向切面的编程思想底层是为目标创建一个代理对象 让代理对象调用目标类中方法 在代理对象调用时 可以额外的调用其他的方法 增强的方法
  • hduoj 2011

    多项式求和 Problem Description 多项式的描述如下 1 1 2 1 3 1 4 1 5 1 6 现在请你求出该多项式的前n项的和 Input 输入数据由2行组成 首先是一个正整数m m lt 100 表示测试实例的个数 第
  • Linq to Sql : 并发冲突及处理策略

    0 并发冲突的示例 单用户的系统现在应该比较罕见了 一般系统都会有很多用户在同时进行操作 在多用户系统中 涉及到的一个普遍问题 当多个用户 同时 更新 修改或者删除 同一条记录时 该如何更新呢 下图展示了开放式并发冲突的一个示例 假设数据库
  • OpenGL片段列表渲染:实现流畅的大规模场景渲染

    OpenGL片段列表渲染 实现流畅的大规模场景渲染 在实时渲染领域 处理大规模场景是一项重要的任务 然而 传统的渲染方式存在着效率低下 内存消耗大等问题 为了解决这些问题 最近的研究中提出了使用片段列表进行场景渲染的方法 本文将介绍如何使用
  • python批量写入数据

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 python批量写入文件内容 前言 一 使用步骤 1 引入库 前言 提示 这里可以添加本文要记录的大概内容 python批量写入文件内容 提示 以下是本篇文章正文内容 下面案
  • 数字后端——信号完整性分析

    随着光刻和集成电路制造工艺的不断进步 以及芯片的特征尺寸从深亚微米到纳米的迅速采用 人们一方面因为芯片的功能极大提高而受益 另一方面 当逻辑门的沟道长度减小时 门的开关时间会减小 这意味着输出驱动器上升时间变短 或者说时钟频率可以更高 同时