收藏 分销(赏)

利用SigXplorer进行高速信号仿真研究.pdf

上传人:自信****多点 文档编号:652309 上传时间:2024-01-23 格式:PDF 页数:4 大小:1.59MB
下载 相关 举报
利用SigXplorer进行高速信号仿真研究.pdf_第1页
第1页 / 共4页
利用SigXplorer进行高速信号仿真研究.pdf_第2页
第2页 / 共4页
利用SigXplorer进行高速信号仿真研究.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、科技与创新Science and Technology&Innovation922023 年 第 17 期文章编号:2095-6835(2023)17-0092-03利用 SigXplorer 进行高速信号仿真研究聂俊英(西安睿控创合电子科技有限公司,陕西 西安 710071)摘要:介绍了如何使用 Cadence 公司的 EDA(Electronic Design Automation,电子设计自动化)软件 SigXplorer 进行高速信号的信号完整性仿真、时序仿真和拓扑结构仿真。信号完整性仿真主要解决传输线效应引起的反射问题;时序仿真主要用于获取芯片之间数据传递的时序,并给出了 2 种同步

2、方式下的时序计算公式;在拓扑结构仿真中介绍了 3 种不同的拓扑结构并描述了各自的应用场合。关键词:SigXplorer;信号完整性仿真;时序仿真;拓扑结构仿真中图分类号:TN911.72文献标志码:ADOI:10.15913/ki.kjycx.2023.17.0261研究背景随着高速信号在单板设计中的应用越来越广泛,高速数字信号快速上升引起的模拟效应对单板设计的影响也越来越大,由此产生了一系列信号完整性、传输线效应、阻抗匹配、时序冗余、电源完整性等问题。而在已有的 PCB(Printed Circuit Board,印制电路板)上发现和分析这些问题是一件非常困难的事情,即使找到了问题,对于一个

3、已完成的 PCB 要解决这些问题也要花费大量的时间和费用。如果在设计初期和设计过程中就考虑这些方面的影响,修改同样的问题所花费的时间和费用就少得多,甚至能避免产生这样的问题。利 用 Cadence 公 司 强 大 的 EDA 仿 真 软 件SigXplorer 就是一种有效的方法,可在 PCB 设计前期和后期对高速信号进行仿真和分析,并根据仿真结果生成约束条件导入到 PCB 设计工具中,作为 PCB 布线的约束。2利用 SigXplorer 进行仿真的方法要利用 SigXplorer 进行仿真,必须要有所要仿真器 件 的IBIS(Input/OutputBufferInformationSpe

4、cification,一种基于 V/I 曲线的对 I/O BUFFER 快速准确建模的方法)模型。由于 IBIS 模型是行为级模型,一般都可以通过公开的渠道获得器件的IBIS 模型。启动 SigXplorer 后,通过菜单 Analyzelibrary 打开库浏览器,在浏览器中可以将IBIS模型转换为SigXplorer所认识的 DML(Data Manipulation Language,数据操纵语言)来进行分析。将 DML 格式文件装入库管理列表中后就可以进行仿真了。本文主要介绍 3 种类型仿真,即信号完整性仿真(Signal Integrality Simulating)、时 序仿 真(

5、Timing Simulating)和拓 扑结 构仿 真(Topology Simulating)。仿真的对象可以在 PCB 中自动提取,也可以手工建立。2.1信号完整性仿真目前,高速电路设计领域,随着 IC(InternalCirculation,集成电路)输出开关速度的提高,不管信号周期如何,几乎所有设计都遇到了信号完整性问题。信号完整性问题主要指信号的过冲和阻尼振荡现象。SigXplorer 设计工具可以仿真实际物理设计中的各种参数,对系统中的信号完整性问题进行定量、定性的分析。根据传输线理论,如果一个信号在传输线末端的阻抗没有被匹配端接,那么将会在不连续端被反射,信号的一部分将会反射回

6、源端1。当反射信号到达源端时,如果源端阻抗不等于传输线阻抗另一个反射也将产生。因此,如果传输线的两端都不连续的话,信号将会在驱动和接收之间来回反射,导致接收端波形产生过冲和振荡。如果过冲太大,将会损坏芯片的内部结构,使它失效。一般来说,上、下过冲不要超过0.8 V;最后还要注意振荡,一般不要超过 3 个明显的振荡波形。图 1 为未加任何处理情况下的仿真模型以及仿真得到的接收端波形,从图中可以看到,过冲超过了 0.8 V,且振荡现象明显。图 1未加串联匹配电阻仿真得到的波形800 mV2 V接收端传输线输出端010203040506070时间/ns543210123Science and Tec

7、hnology&Innovation科技与创新2023 年 第 17 期93利用以下3个方法可以减轻反射带来的负面影响:降低系统频率以便在另一个信号加到传输线上之前传输线的反射到达稳态,这个对于高速系统通常是不可能的;缩短PCB 走线以便反射在短时间达到稳态,但是这样做会增加 PCB 板层,成本提高很多,不切实际;在传输线的两端用等于线的特征阻抗的电阻端接以减少甚至排除反射2。其中串行端接是最常用的一种端接方式,通过在尽量靠近源端的位置串行插入一个电阻 R(典型值为 1075)到传输线中实现。在上个例子中,在驱动器端端接一个 50 电阻并且仿真得到的波形如图 2 所示,从图中可以看到,加了串行

8、端接电阻后过冲明显减小,并且振荡现象得到很大缓解,波形很平滑,符合设计的要求。一般来说,端接电阻越大,吸收反射的效果越好,但是也不能加的太大,一般在 3070 之间,否则会因为电阻太大,驱动器驱动能力不足导致接收端波形出现回沟现象。对于高频率时钟信号,尽量不要出现 1 个驱动源同时驱动 2 个以上负载的情况。如果确实需要接 2 个以上负载,最好使用时钟驱动器。对时钟信号的仿真,除了满足一般信号的信号完整性要求外,还要求信号具有良好的单调性(上升沿和下降沿)。这是为了防止时钟信号在逻辑电平门限附近多次穿越。图 2加串联匹配电阻后仿真得到的波形2.2时序仿真根据芯片间信号传递方式的不同,信号类型可

9、分为同步和异步。同步信号是通过时钟来同步数据传输,有严格的时序关系,时序仿真主要针对的就是同步信号。对于异步信号,没有时钟作为基准,而且工作频率较低,时序容易满足,一般不需要时序仿真,主要关注信号的质量,如单调性、过冲等。时序仿真的目的是通过电路原理、器件手册来获得一个最恶劣条件下的时序最大可用空间,并通过 Cadence 仿真软件计算出在满足这个条件下的元器件布局布线约束。根据时钟传递方式不同,同步信号可以分为外同步、源同步,2 种同步的差别在于时钟和数据的相对关系,如图3、图 4 所示。外同步是指数据在 2 个芯片间传输时,时钟由另一块芯片提供的信号类型。同步时钟不是由发送数据或接收数据的

10、芯片提供,一般有独立的时钟驱动器。外同步方式时序分析的要点是用发送数据时钟的下一个时钟来接收数据。这种结构应用的场合比较多,比如处理器外接以太网 PHY(物理层)的情况。图 3外同步方式图 4源同步方式在 slow 和 fast 这 2 种状态下,仿真结果应该满足以下条件:slow 状态应满足 TSettleDelay(建立延时值)Tflt-min(最小飞行时间)。TSettleDelay和 TSwitchDelay是通过 SigXplorer 仿真软件得到的,如图5 所示,也可以在波形图中自己手动测量。图 5建立延时(SettleDelay)和开关延时(SwitchDelay)最大飞行时间T

11、flt-max和最小飞行时间Tflt-min是通过时序计算公式得到的。计算公式如下:slow状态:Tflt-maxTco-maxTsuTjitterTskewTmargin-slow=Tcycle800 mV2 V接收端串联电阻432101传输线输出端010203040506070时间/ns科技与创新Science and Technology&Innovation942023 年 第 17 期fast状态:Tflt-minTco-minTskewTmargin-fast=Thd式中:Tco-max为输出信号端输出时钟到数据有效的最大时间的数值;Tsu为建立时间的数值;Tjitter为时钟抖动

12、(cycle to cycle的抖动)的数值;Tskew为时钟偏移的数值,这是指时钟驱动器不同输出端output to output skew;Tmargin-fast和Tmargin-slow为fast和slow这2种状态下的时序设计余量的数值,一般可取300 ps;Tcycle为时钟周期的数值;Tco-min为输出信号端输出时钟到数据有效的最小时间的数值;Thd为保持时间的数值。以上参数可以通过查驱动源、接收器、时钟驱动器的数据手册找到。所有的参数都得到后,就可以计算出最大飞行时间 Tflt-max和最小飞行时间 Tflt-min了。通过判断上面列出的 Tmargin-fast和 Tmar

13、gin-slow2 个条件就可以知道时序是否能满足。对于速度很高的网络或复杂拓扑,有时会难以同时满足 slow、fast 条件,此时应保证满足 slow 状态,fast 状态可适当放宽。此外,当时序不满足时,也可以通过调整 PCB 走线来改变建立延时和开关延时。源同步方式是在送数据信号的同时提供时钟信号或锁存信号,比较常见的 CPU(CentralProcessing Unit/Processor,中央处理器)外接 SDRAM(Synchronous Dynamic Random-Access Memory,同步动态随机存储器)就是源同步方式。由于源同步方式中时钟始终在数据中间,这时就没有 T

14、co的概念,而是使用输出的 setup 和 hold 参数来表示时钟和数据的相位关系。由于芯片输出时已经保证了 setup 和 holdtime,那么设计时主要是要保证时钟到达接收端后,也满足接收芯片的 setup 和 hold 时间要求,发送和接收的 2 个采样窗口能够匹配(最好在中间),那么时序就满足了。首先要通过仿真分别得到时钟和数据的飞行时间(从驱动源到接收端总的延时时间),飞行时间的含义和测量方法如图 6 所示。图 6飞行时间的含义和测量方法时钟和数据线的飞行时间分别表示为Tflt-clk(时钟线飞行时间)和Tflt-data(数据线飞行时间),首先定义一下方向:若Tflt-clkT

15、flt-data,则Tclk-data-skew(时钟线和数据线之间的时间偏差)Tflt-clkTflt-data,为正。时序计算公式如下:Tsu-outTsu-inTclk-data-skewThd-outThd-inTclk-data-skew式中:Tsu-out为输出的建立时间的数值;Tsu-in为输入的建立时间的数值;Thd-out为输出的保持时间的数值;Thd-in为输入的保持时间的数值。即Tclk-data-skew(Thd-outThd-in)(Tsu-outTsu-in)/2。通过调节时钟和数据之间的偏移量 Tclk-data-skew,可以将采样窗口正好落在数据中间。2.3拓

16、扑结构仿真当一个驱动源驱动多路负载时必须选用合适的拓扑结构以达到最佳的传输效果。常见的点到多点的拓扑结构有树状拓扑结构、菊花链拓扑结构、星型拓扑结构3。树状拓扑适合接收器比较多而分散的场合,但每次分支的数量尽量小于 3,否则阻抗匹配不好做。给每条分支都加源端串连电阻,阻值大小根据仿真结果选定。这种结构的好处是分支等长的限制可适当放松。树状拓扑需要驱动源的驱动能力比较强,带的负载少。菊花链拓扑结构需要布局时负载间隔均衡放置,比如CPU 和外部SDRAM 之间的总线可以采用这种方式。在源端加串连匹配电阻可以显著改善接收端的波形。星型拓扑也要求负载均匀放置、传输线等长、适合驱动器居中、负载均匀分布在

17、外围圆周上的布局。在源端加一个串连匹配电阻。数据线或者地址线常常有一个驱动带多个负载的情况,由于数据或者地址线一般都很多,不可能为一根线加三四个电阻,一般情况是在源端加一个匹配电阻,所以一般采用菊花链或者星型拓扑结构。图 7 为 66 M 频率的数据线一驱四采用菊花链拓扑的例子,仿真得到的波形过冲很小,有轻微振荡现象,总的来说符合设计要求。图 7菊花链拓扑结构下仿真波形(下转第 97 页)负载 4串联电阻负载 1负载 2负载 3传输线输出端飞行时间负载690.00 mV测试负载2.30 V测量电压1.41.5 V32100100200300时间/nsScience and Technology

18、&Innovation科技与创新2023 年 第 17 期97函数挂载 A 网卡,用 ifconfig()函数关闭 A 网卡。该步骤的目的是在系统上电时,初始化 2 个网卡的工作状态。网卡的初始化工作完成后,当前工作网卡为 A 网卡,判断到网卡状态寄存器的链路状态位被置位时,监测到网卡 A 的链路状态正常,则不用切换网卡;若监测到网卡 A 的链路状态不正常,需判断网卡 B 的链路状态,若网卡 B 的链路状态正常,则系统切换到网卡 B 进行工作;当前工作网卡为 B 网卡,若判断到网卡状态寄存器的链路状态位被置位时,监测到网卡 B的链路状态正常,则不用切换网卡;若监测到网卡 B的链路状态不正常,需

19、判断网卡 A 的链路状态,若网卡 A 的链路状态正常,则系统切换到网卡 A 进行工作。若 A、B 这 2 个网卡的链路状态均不正常,则向上层用户程序汇报。当网卡切换时,若当前故障网卡为 A 网卡,备用网卡为 B 网卡,且备用网卡的链路状态正常,则先用ifconfig()函数关闭 A 网卡,然后用 ipAttach()函数挂载B 网卡,用 ifconfig()函数启动 B 网卡;若当前故障网卡为 B 网卡,备用网卡为 A 网卡,且备用网卡的链路状态正常,则先用 ifconfig()函数关闭 B 网卡,然后用ipAttach()函数挂载 A 网卡,用 ifconfig()函数启动 A网卡。需要特别

20、值得注意的是,在 DDS 中间件中进行双冗余网卡切换时,一定不能调用 ipDetach()函数卸载故障网卡,而只能用 ifconfig 命令将故障网卡的连接状态由“up”状态设置为“down”状态,即只是关闭该故障网卡,否则,切换后 DDS 的网络通讯就会中断。这是由于DDS中间件的强实时性和QoS服务质量策略导致的,这也是与传统双冗余网卡切换方法的不同之处。4结束语针对 VxWorks 操作系统中大多数双冗余网卡的切换方法会导致网卡不能正常切换,或者切换后 DDS 中间件不能正常通信的问题,本文提出了一种在 DDS 中间件上实现双冗余网卡切换的方法。利用该方法修改网卡驱动程序,在驱动程序的任

21、务监测程序中监测网卡寄存器的链路状态。将 2 个网卡设置为相同的 MAC地址,当监测到当前网卡链路发生故障时,关闭当前网卡,挂载备用网卡,然后启动备用网卡开始工作;当网卡发生故障时,不卸载故障网卡,而只是关闭故障网卡。这种做法不仅缩短了网卡切换的时间,更重要的是,由于 DDS 中间件强实时性和 QoS 服务质量策略的特点,一旦 DDS 中间件监测到当前网卡被卸载,它无法找到当前的网络设备,导致通信被迫中断。因此,该方法极大提高了 DDS 中间件网络通信的可靠性和稳定性。参考文献:1裘楷,沈栋,李娜,等.基于 DCPS 模型的数据分发服务DDS 的研究J.电子科技,2006,206(11):68

22、-712韩晓,赵昶宇.Intel 82580 双冗余网卡切换技术J.科技与创新,2018(20):81-823刘利强,戴运桃.基于 VxWorks 的双端口网卡智能双冗余驱动J.电子技术应用,2006,32(7):64-66作者简介:赵昶宇(1982),男,陕西汉中人,工学硕士,高级工程师,主要从事嵌入式系统软件测试方面的研究。(编辑:严丽琴)(上接第 94 页)3结束语运用 SigXplorer 设计工具进行系统级前仿真可以验证设计方案的可实现性,根据设计对 SI(信号完整性)与时序的要求来选择关键元器件,优化系统时钟网络及系统各部分的延迟、选择合理的拓扑结构,调整 PCB 的元器件布局、确定重要网络的端接方案。力争在设计阶段解决潜在的问题,减少单板改板的次数,从而降低成本,缩短研发周期。参考文献:1黄豪佑,董辉,卢建刚,等.Cadence 高速 PCB 设计与仿真分析M.北京:北京航空航天大学出版社,2006.2周拥军,黄涛.高速信号传输工程化技术(概念与方法)M.北京:清华大学出版社,2020.3霍华德约翰逊.高速信号传输M.邓晖,译.北京:电子工业出版社,2012.作者简介:聂俊英(1983),男,江西吉安人,硕士研究生,主要研究方向为计算机软硬件。(编辑:丁琳)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服