收藏 分享(赏)

allegro SI 信号完整性仿真.pdf

上传人:精品资料 文档编号:8849774 上传时间:2019-07-14 格式:PDF 页数:25 大小:1.07MB
下载 相关 举报
allegro SI 信号完整性仿真.pdf_第1页
第1页 / 共25页
allegro SI 信号完整性仿真.pdf_第2页
第2页 / 共25页
allegro SI 信号完整性仿真.pdf_第3页
第3页 / 共25页
allegro SI 信号完整性仿真.pdf_第4页
第4页 / 共25页
allegro SI 信号完整性仿真.pdf_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、基于 Cadence Allegro SI 16.3的信号完整性仿真 信号完整性是指信号在信号线上的质量。信号具有良好的信号完整性是指当在需要的时候,具有所必需达到的电压电平数值。差的信号完整性不是由某一因素导致的,而是由板级设计中多种因素共同引起的。特别是在高速电路中,所使用的芯片的切换速度过快、端接元件布设不合理、电路的互联不合理等都会引起信号的完整性问题。具体主要包括串扰、反射、过冲与下冲、振荡、信号延迟等。 信号完整性问题由多种因素引起,归结起来有反射、串扰、过冲和下冲、振铃、信号延迟等,其中反射和 串扰是引发信号完整性问题的两大主要因素。 反射和我们所熟悉的光经过不连续的介质时都会有

2、部分能量反射回来一样,就是信号在传输线上的回波现象。此时信号功率没有全部传输到负载处,有一部分被反射回来了。在高速的 PCB中导线必须等效为传输线,按照传输线理论,如果源端与负载端具有相同的阻抗,反射就不会发生了。如果二者阻抗不匹配就会引起反射,负载会将一部分电压反射回源端。根据负载阻抗和源阻抗的关系大小不同,反射电压可能为正,也可能为负。如果反射信号很强,叠加在原信号上,很可能改变逻辑状态,导致接收数据错误。如果在时钟信号 上可能引起时钟沿不单调,进而引起误触发。一般布线的几何形状、不正确的线端接、经过连接器的传输及电源平面的不连续等因素均会导致此类反射。另外常有一个输出多个接收,这时不同的

3、布线策略产生的反射对每个接收端的影响也不相同,所以布线策略也是影响反射的一个不可忽视的因素。 串扰是相邻两条信号线之间的不必要的耦合,信号线之间的互感和互容引起线上的噪声。因此也就把它分为感性串扰和容性串扰,分别引发耦合电流和耦合电压。当信号的边沿速率低于 1ns时,串扰问题就应该考虑了。如果信号线上有交变的信号电流通过时,会产生交变的磁场, 处于磁场中的相邻的信号线会感应出信号电压。一般 PCB板层的参数、信号线间距、驱动端和接收端的电气特性及信号线的端接方式对串扰都有一定的影响。在 Cadence的信号仿真工具中可以同时对 6条耦合信号线进行串扰后仿真,可以设置的扫描参数有: PCB的介电

4、常数,介质的厚度,沉铜厚度,信号线长度和宽度,信号线的间距仿真时还必须指定一个受侵害的信号线,也就是考察另外的信号线对本条线路的干扰情况,激励设置为常高或是常低,这样就可以测到其他信号线对本条信号线的感应电压的总和,从而可以得到满足要求的最小间距和最大并行长度。 过冲是由于电路切换速度过快以及上面提到的反射所引起的信号跳变,也就是信号第一个峰值超过了峰值或谷值的设定电压。下冲是指下一个谷值或峰值。过分的过冲能够引起保护二极管工作,导致过早地失效,严重的还会损坏器件。过分的下冲能够引起假的时钟或数据错误。它们可以通过增加适当端接予以减少或消除。 在 Cadence的信号仿真软件中,将以上的信号完

5、整性问题都放在反射参数中去度量。在接收和驱动器件的 IBIS模型库中,我们只需要设置不同的传输线阻抗参数、电阻值、信号传输速率以及选择微带线还是带状线,就可以通过仿真工具直接计算出 信号的波形以及相应的数据,这样就可以找出匹配的传输线阻抗值、电阻值、信号传输速率,在对应的 PCB软件Allegro中,就可以根据相对应的传输线阻抗值和信号传输速率得到各层中相对应信号线的宽度 (需提前设好叠层的顺序和各参数 )。选择电阻匹配的方式也有多种,包括源端端接和并行端接等,根据不同的电路选择不同的方式。在布线策略上也可以选择不同的方式:菊花型、星型、自定义型,每种方式都有其优缺点,可以根据不同的电路仿真结

6、果来确定具体的选择方式。 信号延迟是 电路中只能按照规定的时序接收数据,过长的信号延迟可能导致时序和功 能的混乱,在低速的系统中不会有问题,但是信号边缘速率加快,时钟速率提高,信号在器件之间的传输时间以及同步时间就会缩短。驱动过载、走线过长都会引起延时。必须在越来越短的时间预算中要满足所有门延时,包括建立时间,保持时间,线延迟和偏斜。 由于传输线上的等效电容和电感都会对信号的数字切换产生延迟,加上反射引起的振荡回绕,使得数据信号不能满足接收端器件正确接收所需要的时间,从而导致接收错误。在 Cadence 的信号仿真软件中,将信号的延迟也放在反射的子参数中度量,有 Settledelay、 Sw

7、itchdelay、Propdelay。其中前两个与 IBIS 模型库中的测试负载有关,这两个参数可以通过驱动器件和接收器件的用户手册参数得到,可以将它们与仿真后的 Settledelay、 Switchdelay 加以比较,如果在 Slow 模式下得到的 Switchdelay 都小于计算得到的值,并且在 Fast 的模式下得到的 Switchdelay 的值都大于计算得到的值,就可以得出我们真正需要的两个器件之间的时延范围 Propdelay。在具体器件布放的时候,如果器件的位置不合适,在对应的时延表中那部分会显示红色,当把其位置调整合适后将会变成蓝色, 表示信号在器件之间的延时已经满足

8、Propdelay 规定的范围了。 PCB 仿真设计的一般流程: 原理图设计阶段: 编制元件表、建立连线网表、建立元器件封装库、确定电路逻辑符号与物理器件的映射(指定元器件封装) PCB 前仿真: 高速 PCB 的前仿真包括以下几个方面:信号完整性 (SI)仿真,时序 (TIMING)仿真,电磁兼容性 (EMI)仿真。 PCB 布局布线: 模板设计、确定 PCB 尺寸、形状、层数及层结构、元件放置、输入网表、设计 PCB 布线规则、 PCB 交互布局、 PCB 走线、 PCB 光绘文件生成、钻孔数据文件。 PCB 后仿真: 高速 PCB 的后仿真: 信号完整性 (SI)后仿真,电源完整性 (P

9、I)后仿真,电磁兼容性 (EMI)后仿真。 功能、性能、 EMI 测试: 单板调试、性能测试、设计验证、温度试验、 EMI 测试等。 Cadence 高速设计流程中的仿真条件及实施: 高速仿真实施条件 实施顺序 实现方式 器件模型 1 由第三方提供或者 Cadence的 Edit Model 生成 模型验证和管理 2 Model Integrity 器件工作参数 3 在 Database Setup 中设置、在 SigXP 中进行 Analsys preference 设置 互联模型 4 PCB 叠层结构设置 信号互联模型 5 原理图 信号拓扑结构 6 从 (预 )布局、布线中抽取、在SigX

10、P 中直接生成 信号激励模式 7 在 SigXP 中定义 约束生成 8 在 SigXP 中,使用 set Constraint 生成约束,直接在 CM 约束管理器中定义和编辑 约束管理和实施 9 在 CM 约束管理器中进行设计 以下将逐个介绍如何在 Cadence 的高速设计流程中实现这些仿真条件,通过仿真分析,得到高速设计的约束 条件和实施设计约束。 一、获取模型 1、 http:/www.eda.org/ibis/home/models/models.htm 2、 到器件厂商的官方网站下载 二、 模型验证和管理 用 Cadence 集成工具 Model Integrity 打开模型,此工具

11、将自动检查验证模型。如果没有错误,将模型转换成 DML 格式。 注 意 : DML 是 Cadence 专用的模型语言,在 Cadence 的高速设计环节中所有的器件模型都以 DML 格式存储并使用。不管用户使用的是什么文件,在仿真之前都要转换成 DML格式的文件才能被 Cadence 的仿真引擎所识别并使用。 三、 仿真库的建立和设置 上一步得到了经过验证的 DML 模型库,下面将把这个模型库加入到设计中使用。 在 PCB SI 菜单中,选择 Analyze-SI/EMI sim-Model Browser,出现如下模型库管理界面 : 选择 Set Search Path,出现以下界面, 可

12、以通过选择 Add Directory 指向我们之前保存的模型库文件夹。 四、 仿真分析条件设置 通过菜单 Tools Setup Advisor 命令打开 Database Setup Advisor 窗口,打开的窗口如下图所示: Cross-section:定义在 Layout 中使用的叠层和材料参数; DC Nets:定义直流电压值,也即系统静态工作点; Device:指定器件的类型和 Pinuse 属性; SI Module:为器件的指定电气模型; SI Audit:对前面的设置进行检查以确保能够进行正常地进行抽取和仿真。 点击 Next,选择 Edit Cross-section,出

13、现 PCB 叠层参数设置界面: 在此对话框中,可以添加或者删除叠层,也可以改变每一层的类型、材料、厚度、电导率、 介电常数、线宽和特征阻抗等参数。 做完并关闭叠层参数的设计之后,回到 Database Setup Advisor 界面,点击 Next,进入直流电源网络的设置界面,如下 : 选择左侧列表框中的待选网络,在右侧的文本框中可以指定该网络直流电压值。设置好直流电压后,回到 Database Setup Advisor 界面,点击 Next,出现以下界面: 点击 Device Setup,进入器件类型设置界面: 在此界面中,用户可以指定以特定字符开始的器件标号属于某一类器件。对于 Def

14、ault Value, 原理图中标 明的是多大就标多大。 设置好后继续 Next,进入模型分配界面: Devices 目录显示了所有网表中导入的元器件,要指定模型,先选中,然后点 Find Model,弹出模型分配对话框: 在 Model Name Pattern 中输入“ *”,按“ Tab”键,库目录中所有的模型将列出来,选择合适的,点击 Assign,模型就被分配好了。 当以上所有的仿真条件及参数设置完成之后,在 Database Setup 的最后一步我们可以用 SI Audit 进行一下验证,以确保我们所关心的网络上所有和仿真相关的因素都已经处理好了 。如果 Audit 的结果出错,

15、对照结果的提示,找到出错的原因,重复前面的某些步骤,对仿真条件进行修改和完善,如果没有问题就可以进入下一步的高速信号仿真了。 以上对仿真的各项条件进行了详细讲解,下面将结合具体例子来说明如何来仿真。 如图所示一个预布局好的 PCB,以下将对 PCB 中一对差分信号进行仿真, 首先必须进行阻抗控制,器件模型分配,前面已经讲过具 体的操作过程,这里不再赘述,接下来我们需要对差分对进行拓扑提取。 1、 设置互联模型参数 从 Allegro PCB SI GXL 窗口选择 Analyze-SI/EMI Sim-Preference 命令,弹出 Analyze Preferences 窗口,选择“ In

16、terconnect Models”如下图: 在“ Unrouted Interconnect Models”部分,设置“ Percent Manhattan”为 100,“ Default Diff-Impedance”为 100ohm,在“ Topology Extraction”部分确保选择“ Differential Extraction Mode” ,如果没有选择,差分对拓扑将仅使用理想传输线模型。为了使用理想的耦合传输线模型,必须选择“ Differential Extraction Mode”。 2、 提取拓扑 在“ Allegro Constraint Manager”窗口选择

17、“ Net” -“ Routing” -“ Differential Pair”如下图: 选择“ DP_LOOPIN”差分对(差分对可以在原理图或者导入 PCB 之后设置),单击右键,选择“ SigXplorer”命令, 弹出“ SigXplorer PCB SI GXL”窗口,显示了提 取的有理想耦合的传输线模型的差分对拓扑,如下图所示: 在窗口的右侧有一个“ Parameters”设置表格,为了直观,可以把 “ tlineDelayMode”的“ time”改为“ length”。保存拓扑结构。 3、 分析差分对网络: 选择“ Analyze” -“ Preference”选项,弹出“ A

18、nalyze Preference”窗口,设置“ Pulse Stimulus”(记录参数)、“ Simulation Parameters”(仿真参数)、“ Simulation Modes” (仿真模式)和“ Measurement Modes”(测量模式),如下图: Measurement Cycle:设置仿真器在第几个周期进行参数测量。一般情况下,由于驱动器的瞬态效应,我们对于时钟信号从第三个周期进行测量,对于其它的信号从第一个周期进行测量。 Switching Frequency:开关频率或称为脉冲频率。该值决定了在设置激励源为 PULSE 时所使用的频率值,该值我们通常设置时钟的频

19、率。 Duty Cycle:占空比,缺省设置为 0.5。 Offset:脉冲偏移量,用来控制主网络驱动器与相邻网络驱动器之间的激 励时间差。如果该值为正,则相邻网络驱动器在主网络驱动器之后产生激励。 Fixed Duration:指定仿真的持续时间长度。如果这个值未确定,则仿真器动态的为每一次仿真选择时长。当该值确定时,仿真运行的时间就为该项中所确定的固定时间长度。这项值的大小与波形文件的大小成正比。如果我们需要仿真的是 2M 信号,一个周期应该是500ns( 1/f=1/2x106=5x10-7s=500ns),所以我们设成 600ns,表示一个周期多一点。 Waveform Resolut

20、ion: 波形分辨率,决定仿真过程中产生 波形的采样数据点的多少。使用 Default 时,分辨率为传输线长的 1/100。通常我们要求分辨率为最短传输线的 1/10。 Cutoff Frequency: 表明互连线寄生参数提取所适应的频率范围,缺省为 0GHz。在对 IBIS 的 PACKEG 等寄生参数进行 RLGC 矩阵提取时,为了不考虑频率的影响将截止频率设为 0,此时的矩阵不依赖于频率,并且提取速度较快,但精度稍差。当设置了截止频率后, RLGC 矩阵将是综合矩阵,它将基于频率的参数影响,考虑了频率参数影响的 RLGC 矩阵具有较高的精度,但提取速度较慢。如果对 该值设置,一般建议设

21、置该值不要超过时钟频率的三倍。如果没有特殊要求通常设置为 0 即可。 Buffer Delays: 缓冲器延时选择。缓冲器延时有两种选择: On-the-fly 和 From library。On-the-fly 是根据测试负载的参数计算出 Buffer Delay 曲线, From library 是从库中获取。在实际应用时,我们均是通过器件的 DATASHEET 查出测试条件由软件自动计算出 Buffer Delay 曲线,因此,这项值的内容通常设为 On-the-fly。 Save Sweep Cases: 当选择时指明保存仿真波形和环境数据。 Simulator: 选择仿真器,包括 T

22、lsim 和 Hspice 两种,一般选择 Tlsim。 Measure Delays At: 延时测量的参考点,有两种选择: Input Thresholds(输入门限值)和 Vmeas 表示以输出 Buffer 的参考电压进行测量的。通常选择 Input Thresholds。 Receiver Selection: 接收器选择。有两种选择: All(表示所有非驱动的器件都作为接收)和 Select One(在仿真开始时它会让你选择其 中的一个作为接收源)。根据需要选择,通常选择 All。 Custom Simulation: 仿真内 容。包括: Reflection(反射仿真)、 Cro

23、sstalk(串扰仿真)和 EMI(电磁干扰仿真)。 Report Source Sampling Data:确定是否报告源采样数据。 4、 SigXplorer 中的仿真过程 : 在发送端 IOCell 模型的 TRISTATE 上点击一下,在弹出的下面窗口中选择 Pulse 选项: Pulse: 表示激励信号为连续脉冲方波,就是时钟源性质的波形,如果选择 Pulse,整个界 面 中的其他选项是灰的,不允许再选。 Rise: 表示激励信号为上升沿。 Fall: 表示激励信号为下降沿。 Quiet Hi: 表示激励信号为恒高。 Quiet Lo: 表示激励信号为恒低。 Custom: 表示激励

24、信号由该界面中的参数定制,此时界面中的其它参数将可设定。 Tristate: 表示三态。通常接收端设为该状态。 其它组合框只有在 Custom状态时可用。一般对于干扰源 选择 pulse, rise, fall;被干扰对象:选择 QuiteHi, Quite Lo;接收器 选择 Tristate。 Terminal Name: 表示仿真信号的类型 有 Data和 Enable两种。 Data为要仿真的数据信号, Enable为使能信号,当 Enable为高时,仿真有效;当为低时, 为激励源断开终端时的仿真结果。 Stimulus Type: 表示激励类型。 Stimulus Name: 取的激

25、励信号名。 Cycle(s): 表示在第几个周期测量数据。 Offset: 仿真信号相对于时钟的延时。 该框设置时钟信号的频率 (Frequency)、样式 (Pattern)和抖动 (Jitter)。 在 SigXplorer 窗口最底端选择 Measurements 标签,点击 Reflection 前面的“”号打开测量反射参数的列表,在弹出菜单中选择需要测量的反射参数。选择菜单 File Save,保存一下拓朴模型。 与反射相关的参数简介: BufferDelayFall: 如图 ( 1) 所示。就是 BufferDelay 曲线从高电平下降到测量电压值 Vmeas 时的延时值。 Buf

26、ferDelay曲线是软件根据模型库中测试负载参数计算得到的,测试负载参数必须根据器件的 DATASHEET手册得到,不能使用 IBIS模型文件中缺省参数,原因是我们在进行时序分析时器件的各种延时 参考数据都是从 DATASHEET中得到,而该数据是以 DATASHEET 中的测试负载为依据的。 图( 1) 延迟测量参数(下降沿) BufferDelayRise: 如图 ( 2) 所示。就是 BufferDelay 曲线从低电平上升到测量电压值时的延时值。 图( 2) 延迟测量参数(上升沿) FirstIncidentFall: 第一次开关下降时间。 FirstIncidentRise: 第一

27、次开关上升时间。 Monotonic: 输入波形的单调性检查,如果上升或下降沿中有非单调性现象,则检查结果为False。单调性如图 ( 3) 所示。 图( 3)单调性测量 MonotonicFall: 输入波形上升沿的单调性检查。 MonotonicRise: 输入波形下降沿的单调性检查。 NoiseMargin: 噪声容限。如图 ( 4) 所示。该值在 Result中报告的是 NoiseMarginHigh和 NoiseMarginLow中的最小值。 ( 4) 噪声容限测量 NoiseMarginHigh: 高电平噪声容限。是从 VIH Min 到超过 Vin Min 电压后震荡波形的最低点

28、的电压差。 NoiseMarginLow: 低电平噪声容限。是从 VIL Max 到低于 VIL Max 电压后震荡波形的最高点的电压差。 OvershootHigh: 高电平过冲。如图 ( 4) 所示。以 0V为参考点,上升波形的最高点电压值。 OvershootLow: 低电平过冲。如图 ( 4) 所示。以 0V为参考点,下降波形的最低点电压值。 PropDelay: 如图 ( 2) 所示。它是传输线的传输延时值。 SettleDelay: 是 SettleDelayFall 和 SettleDelayRise 两者的最大值。 SettleDelayFall: 如图 ( 1) 所示。它是从

29、 BufferDelay 下降 沿的 Vmeas 点开始到接收波形下降曲线 最后一次穿过低电平阈值时的延时值。 SettleDelayRise: 如图 ( 2) 所示。它是从 BufferDelay 上升沿的 Vmeas 点开始到接收波形上升曲线最后一次穿过高电平阈值时的延时值。 SwitchDelay: 是 SwitchDelayFall 和 SwitchDelayRise 两者的最小值。 SwitchDelayFall: 如图 ( 1) 所示。它是从 BufferDelay 下降沿的 Vmeas 点开始到接收波形下降曲线第一次穿过高电平阈值时的延时值。 SwitchDelayRise: 如

30、图 ( 2) 所示。它是从 BufferDelay 上升沿的 Vmeas 点开始到接收波形上升曲线第一次穿过低电平阈值时的延时值。 以上参数中, Monotonic、 MonotonicFall、 MonotonicRise、 NoiseMargin、 NoiseMarginHigh、 NoiseMarginLow、 OvershootHigh、 OvershootLow 与信号完整性有关,其它的与时序仿真有关。 执行“ Analyze” -“ Simulate”,弹出仿真波形如下: 从“ SigWave”菜单中选择“ Graph” -“ Eye Diagram Mode”命令 -波形的眼图如

31、下所示 : 5、 应用差分对约束: 当以上仿真图形比较理想时,可以将拓扑约束应用到 PCB 设计。具体方法如下: 在“ Constraint Manager”窗口中选择“ File” -“ Import” -“ Electrical Csets”命令,弹出“ Import Electrical Csets”窗口,将之前保存的拓扑文件加入。 选择之前的差分对“ DIFFLOOPIN”后面的“ Referenced Electrical CSet”表格,弹出“ Elecreical CSet Reference”对话框,选择之前保存的拓扑约束。 接下来就可以对差分线进行布线了,如果布线违反了约束规则,就会出现 DRC 错误。 高速电路设计与仿真交流群: 217166793

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报