HyperLynx布线前仿真.docx

上传人:b****4 文档编号:12221038 上传时间:2023-04-17 格式:DOCX 页数:48 大小:1.39MB
下载 相关 举报
HyperLynx布线前仿真.docx_第1页
第1页 / 共48页
HyperLynx布线前仿真.docx_第2页
第2页 / 共48页
HyperLynx布线前仿真.docx_第3页
第3页 / 共48页
HyperLynx布线前仿真.docx_第4页
第4页 / 共48页
HyperLynx布线前仿真.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

HyperLynx布线前仿真.docx

《HyperLynx布线前仿真.docx》由会员分享,可在线阅读,更多相关《HyperLynx布线前仿真.docx(48页珍藏版)》请在冰豆网上搜索。

HyperLynx布线前仿真.docx

HyperLynx布线前仿真

第15章HyperLynx布线前仿真

HyperLynx是高速仿真工具。

用HyperLynx的LineSim做布线前仿真,可以及早地预测和消除信号完整性问题,从而有效地约束布局、计划叠层、并在电路板布局之前优化时钟、关键信号拓扑和终端负载。

.1LineSim进行仿真工作的基本方法

许多PCB板的设计,虽然在设计的初始阶段就设计出了一系列的技术措施,来保证可以按照要求完成PCB设计任务。

然而实际往往设计过程中不能达到其要求。

使用LineSim这个布线前仿真工具,可以在PCB设计的初期,将考虑到的PCB板布线、布局方案进行仿真,再根据仿真的结果,适当调整布局、布线策略,使得实际的布板更加合理。

由于普通的PCB电路图设计工具,不包括进行信号完整性、交叉干扰、电磁屏蔽仿真的各种信号的物理信息。

比如,一个时钟网络在PCB原理图上只不过是几条从驱动器到接收器之间的若干条线而已。

然而这些线的属性直接影响到一系列的信号完整性问题。

比如这根线是单一的一根线还是组线,是在PCB外层布线还是在内层布线,这些都是影响纤毫完整性的重要因素。

LineSim对这些问题都能给与解决。

LineSim仿真的具体方法如下:

(1)启动运行HyperLynx软件,新建一个LineSim原理图;

(2)激活原本为暗色的传输线,输入传输线的各种参数;

(3)激活输出端和接收端的IC元器件,并为IC器件选择仿真模型;

(4)激活无源器件,并输入具体参数值;

(5)打开仿真示波器窗口;

(6)为即将进行仿真设置参数;

(7)运行仿真,在LineSim中设置探针;

(8)观察仿真结果,并测试时序和电压;

(9)将仿真结果以不同的形式输出。

.2进入信号完整性原理图

在LineSim的原理图中包含两种格式,一种是自由格式原理图(Free-Form),另一种是基于单元原理图(Cell-Based)。

.2.1自由格式原理图

打开HyperLynxSimulationSoftware,其工作界面如图15-1所示。

图15-1HyperLynx的工作界面

在菜单栏中执行File/NewLineSimSchematic/Free-Form菜单命令,或单击工具栏中的图标

,弹出“HyperLynx-LincSimV7.7-[Untitled]”对话框,如图15-2所示。

图15-2自由格式图纸

指定IC模型

在工具栏中单击图标

,添加IC模型,用鼠标左键单击其节点并拖动,进行连线,如图15-3所示。

图15-3将IC模型连接到传输线

在IC模型上双击,或右键单击IC模型在弹出的菜单中选择“AssignModels”命令,弹出AssignModels对话框,在此对话框的“Pins”列表中,列出了已经在原理图中添加的IC引脚,如图15-4所示。

图15-4AssignModels对话框

单击按钮

,弹出“SelectICModel”对话框,如图15-5所示。

图15-5SelectICModel对话框

在该对话框中的Selectalibrary,device,andsignl/pin栏中,左侧的一列复选框,可以选择IC模型的类型,如IBIS模型、SPICE模型、S-Parameter模型等。

在“Libraries”列表中可以选择模型的子类,在“Devices”列表中选择此类模型中的具体元器件。

确定好IC模型后,单击按钮

,返回“AssignModels”对话框,此时的窗口如图15-6所示。

在此对话框中的Buffersettings这一栏中,选择引脚的类型,可选的引脚类型有输入(Input)、输出(Output)、反向输出(OutputInverted)等。

设置好引脚类型后,原理图中的IC模型如图15-7所示。

图15-6AssignModels对话框

图15-7原理图中的IC模型

其中,“U1.1”为输出引脚,“U2.2”为输入引脚。

至此,一个简单的自由格式原理图建立完毕。

.2.2基于单元(Cell-Based)原理图

打开HyperLynxSimulationSoftware,在菜单栏中执行File/NewLineSimSchematic/Cell-Based菜单命令,新建Cell-Based原理图命令,或单击工具栏中的

图标,如图15-8所示。

图15-8新建Cell-Based原理图

在上图中可以看到,系统自动在原理图中添加了传输线、IC模型、端接电阻等元器件,只是这些元器件还没有被激活,以虚线表示。

∙在LineSim中,可以左键单击灰色的各元素(传输线、IC或者无源器件)便可以激活它们,这样就可以把它们加入到原理图中。

∙单击各个元素就可以进入它们的物理特性模型(选择一个IC模型、指定特性阻抗、改变元件值等等)。

在所需要添加的元器件及传输线上单击鼠标左键,可以将其激活,如单击第一排的两个IC符号以便激活LineSim原理图中的驱动器和接受器IC(CELLA0和B0),单击连接两个IC之间的标准的传输线符号,就可以激活此传输线。

再次单击鼠标左键,可删除激活的元器件,如图15-9所示。

图15-9在Cell-Based原理图中激活元器件

在已激活的元器件或传输线上单击鼠标右键,可以弹出编辑窗口,对选中的对象进行编辑,编辑的方法与自由格式原理图相同。

.3在LineSim中对传输线进行设置

在工具栏中单击Addtransmissionlinetoschematic添加传输线图标(

),在光标上会附着一段传输线的模型,,单击鼠标左键,在图纸上添加传输线,如图15-10所示。

图中的“83.5ohms”是这段传输线的特征阻抗,“444.547ps”是它的延迟,“3.000in”是传输线长度。

双击这段传输线或右键单击后在弹出菜单中选择EditTypeandValues命令,弹出“EditTransmissionLine编辑传输线”对话框,如图15-11所示。

图15-10添加传输线

图15-11EditTransmissionLine对话框

在图所示的对话框的Transmission-lineproperties这一栏中,显示了这段传输线的具体参数,如图15-12所示。

在Transmission-linetype栏中,可以选择传输线的类型,如“Stackup”叠层、“Microstrip”微带线、“Stripline”带状线等,单击每一个类型前的复选框,可以调出相应的“Values”选项卡,对传输线模型的参数进行配置。

例如,选择带状线“Stripline”,则相应得“Values”选项卡如图15-13所示。

图15-12Transmission-lineproperties栏

图15-13带状线对应的“Values”选项卡

.4层叠编辑器

在HyperLynx的LineSim和BoardSim中均包括一个强大的叠层编辑器,通过它可以简单地对PCB进行叠层设计和修改,以及对每个信号层进行特征阻抗的计算,以便对信号反射和信号完整性进行控制。

在HyperLynx的工具栏中单击EditStackup图标

,弹出“StackupEditor”对话框,如图15-14所示。

图15-14StackupEditor对话框

新的层叠结构编辑器中可以分为两个部分,电子表格区和图形区。

在表格区,可以将一个层面的数据拷贝到另一个层面上,在这里可以方便的了解印制板各个层的物理设置,并且可以进行逐层编辑。

在这个区域有5个标签,分别是Basic、Dielectric、Metal、ZOPlanning和CustomView。

一、Basic标签

在这个界面进行叠层结构的基本设置,测量单位、材料类型等。

比如图15-15所示,是设置某一层面的材料类型,金属还是介质,如果是金属层面,则在图15-16中,继续设置层面的属性:

信号层(Signal)、平面层(Solid/Plane)、混合层(Split/Mixed)和电镀层(Plating)。

图15-15设置材料类型

图15-16设置层面的属性

二、Dielectric标签

Dielectric界面如图15-17所示。

图15-17Dielectric界面

在这里设置介质材料属性,包括选用的介质工艺特性(prepregorcore聚酯胶片或堆芯)如上图中Technology栏所示。

传输线仿真损耗(GHz功能设置),以及介电常数的测量频率。

如图15-18中的100MHz处。

图15-18介电常数的测量频率

三、Metal标签

Metal界面如图15-19所示。

图15-19Metal界面

在这里设置PCB板金属层面草料,如上图中除了铜,还可以选择银、金等金属材料。

此外在界面的左下部,还可以选择是否自动计算金属周围介质层的电介质常数。

四、Z0Planning标签

Z0Planning界面如图15-20所示。

图15-20Z0Planning界面

(10)单导线的阻抗计算。

在Z0Planning标签里可以根据导线的几何参数来计算它们的特性阻抗。

在这里需要提供的参数有:

层叠厚度、介电常数、线宽。

叠层编辑器可以解算单导线和差分线的阻抗。

对于单导线,一旦叠层厚度、介电常数给定,导线宽度就是确定阻抗的主要参数,方法是:

∙单击电子表格区的Planning标签;

∙在界面左下方的选择框中选择“Singletrace”;

∙单击需要计算阻抗的层面Z0单元,将原默认的阻抗值改成需要的数值;

∙按下“Enter”,或者在另外一个单元处单击鼠标,则根据输入阻抗的要求,软件自动计算出需要的线宽。

(11)差分阻抗的计算。

对于差分线对,可以根据需要选定计算差分线阻抗的主参数:

∙线宽;

∙线距;

∙线宽和线距共同作用。

在图15-21中定义了差分阻抗为75Ω,且确定导线宽度为6mil,则所需要的线距为1.42mil。

图15-21根据线宽,计算差分线的线距

已知阻抗值、线宽,计算差分线线距:

1.单击电子表格区的Planning标签;

2.在界面左下方的Planfor选择框中选择“Differentialpair”;

3.在界面左下方的Strategy列表中选择解算条件:

separation(线距);

4.单击需要计算阻抗的层面Z0单元,将原默认的阻抗值改成需要的数值(100Ω);

5.单击需要计算阻抗的层面Z0单元,将原默认的线宽值改成需要的数值(15mil);

6.按下Enter或者在另外一个单元处单击鼠标则根据输入阻抗的要求,软件自动计算出需要的线距,如图15-22所示。

图15-22根据要求的线宽,计算差分线线距

已知阻抗值、线距,计算差分线线宽:

7.单击电子表格区的Planning标签;

8.在界面左下方的Planfor选择框中选择“Differentialpair”;

9.在界面左下方的Strategy列表中选择解算条件width(线宽);

10.单击需要计算阻抗的层面Z0单元,将原默认的阻抗值改成需要的数值(100Ω);

11.单击需要计算阻抗的层面Z0单元,将原默认的线距值改成需要的数值(14.162mil);

12.按下Enter或者在另外一个单元处单击鼠标,则根据输入阻抗的要求,软件自动计算出需要的线宽(15.008mil),如图15-23所示。

图15-23根据要求的线距,计算差分线线宽

已知阻抗值,同时计算差分线线距和线宽:

13.单击电子表格区的Planning标签;

14.在界面左下方的Planfor选择框中选择“Differentialpair”;

15.在界面左下方的Strategy列表中选择解算条件:

both(两者兼有);

16.单击需要计算阻抗的层面Z0单元,将原默认的阻抗值改成需要的数值(100Ω);

17.在该层面阻抗值单元出现一个按钮

,如图15-24所示。

图15-24根据要求的阻抗值同时计算差分线线距、线宽

单击按钮

,出现一个二维的曲线,其横坐标是线距,纵坐标是线宽。

可以根据这个曲线来确定实际的线宽和线距,如图15-25所示。

图15-25确定阻抗下线宽、线距的二维曲线图

可以根据这个曲线来确定实际线宽和线距。

在上图中单击鼠标右键,在弹出的菜单中,可以对曲线图进行拷贝、打印、放大、平移等操作,如图15-26所示。

图15-26曲线界面的操作菜单

五、CustomView标签

选中这个标签,将显示前面四个标签中所有的列表参数。

CustomView界面如图15-27所示。

图15-27CustomView界面

.5在LineSim中进行串扰仿真

在串扰仿真中以总线为例,进行总线上的串扰仿真讲解。

在现在的数字系统的典型总线一般包括许多物理上的并行走线-16、32、64位,甚至更多的信号线。

可是,当对这样的一组总线进行仿真时,很明显不会对所有的信号同时进行仿真(如果包括所有的信号进行仿真将浪费大量的时间)。

相反,应该利用串扰的特点,对造成串扰的受害网络影响最显著的两个网络进行仿真分析:

受害网络两边距离最近的两个网络。

所以,一般来说,应该集中尽力来分析仿真这三根网络组。

.5.1通过在原理图中建立一组三个相邻的走线

(12)单击工具条上的新建LineSim原理图图标,建立一个新的LineSim原理图。

(13)左键单击CELL:

A0和B0。

(14)左键单击这两个IC符号之间的一段传输线。

(15)在传输线符号上单击右键,打开传输线编辑对话框。

(16)在“Coupled”中选择单选Stackup。

将进入AddtoCouplingRegions对话框页,(NewCoupling)将出现在左边的窗口中。

(17)现在单击“EditcouplingRegion”表页,这里可以浏览建立的耦合区域的截面图。

从这里,单击Layer对话框中的下拉菜单,从中选择“3,Signal,InnerSignal1”,以及不选择“AutoZoom”复选框以便可以浏览整个叠层结构。

(18)单击传输线类型“Transmission-LineType”页表,在Comment域中填上“Aggressor1”。

(19)单击按钮

退出。

设置完毕以后如图15-28所示。

图15-28EditTransmissionLine对话框

(20)重复以上的几个步骤,用同样的方法建立第二和第三根网络,必须注意保证三根传输线处于同一个耦合区域“Coupling0001”中,命名第二根位于中间的传输线为“Victim”[TL(A1,B1)],而第三根位于右边的传输线命名为“Aggressor2”[TL(A2,B2)],如图15-29所示。

图15-29EditTransmissionLine对话框

它们之间的左右位置可以通过窗口底部的左右方向的箭头移动,按照需要调整三根传输线的位置,在Couplingregion中默认的平行长度是3inches,线宽是6.0mils,线到线的间距是8.0mils。

(21)在对话框的顶部,在Name域中输入“GenericBusExample”。

(22)改变长度为12.0inches。

设置后如图15-30所示。

图15-30EditTransmissionLine对话框

(23)在原理图中传输线设置后,如图15-31所示。

图15-31传输线设置

注意

在“Transmission-LineType”页表中的单选框“CouplingDirection”,是LineSim串扰的高级特点,它可以将比这里讨论的例子更复杂的耦合对进行仿真。

.5.2指派IC模型

现在,已经建立了三根平行的传输线例子,下一步,在仿真之前必须先指派IC模型。

(24)将鼠标指针移动到原理图左端的任何一个驱动IC符号上,将看到IC符号周围将出现一个红色的方框。

(25)右键单击CELL:

A0位置上的IC符号,将出现一个“AssignModels”对话框。

(26)单击对话框右边的Select…,打开“SelectICModel”对话框。

(27)在对话框的左边,单击EASY.MOD,将显示出一个HyperLynx的常用模型。

(28)从列表中选择CMOS,3.3V,FAST,单击按钮

,如图15-32所示。

图15-32SelectICModel对话框

(29)这时,一个确认框出现,询问是否将Vcc改变到3.3V,单击“Yes”。

(30)然后,单击AssignModels页的“Copy”和“PasteAll”快速地指派所有的IC模型都为“CMOS,3.3V,FAST”。

注意

在IC符号的AssignModels对话框中指派的模型,默认为“Input”类型。

(31)通过选择对话框中的“BufferSetting”改变U(A0)和U(A2)类型为“Output”类型,如图15-33所示。

图15-33AssignModels对话框

三根传输线代表了总线中并行的三根走线。

左端三个三角形的IC驱动符号代表三根传输线左端的输出驱动器。

每根线的右端都有一个IC的接收端。

图15-34原理图编辑器

在仿真这个设计之前,将驱动端U(A0)更改为更快的器件,以便在示波器仿真时与U(A2)的波形不至于重叠。

(32)在AssignModels对话框中单击U(A0)。

再单击按钮

,将其模型改变为“CMOS3.3Vultra-fast”,以便将Aggressor1和Aggressor2的区别开。

(33)在AssignModels对话框中的“Pins”列表中选择U(A1),在对话框右上方的“BufferSettings”项目中选择“StuckLow”。

这表示在仿真中这个信号是保持在不变的低电平。

单击按钮

,关闭此对话框。

返回到原理图编辑器,注意中间的走线驱动器旁边的“0”,这代表这个驱动是“StuckLow”的,如图15-34所示。

.5.3Victim(受害网络)与Aggressor(入侵网络)

将各驱动IC设置为这种方式(中间走线设定为“StuckLow”,外面的走线设定为开关信号)是因为我们想将中间的走线定义为“Victim”(受害网络)和将外面的两根线定义为“Aggressors”(入侵网络)。

例如,想看看当周围的走线有开关跳变时,将在这根中间的走线上产生多大的串扰。

但是注意没有让中间的这根走线完全没有驱动,给它指派的一个驱动器,但是将其设定为静态。

Victim的IC驱动模型很重要,因为低阻抗的驱动产生的反射将超过串扰的能量。

关于“Victims”和“Aggressors”

LineSim可以仿真任何混合的“victim”和“aggressor”走线-事实上,仿真器并不区分它们之间的差别。

通常地,总是指定一根被设定为开关信号的走线为“Aggressors”,而另一根被观察串扰信号的走线为“Victims”。

在这个仿真中,也可以将中间的这根走线设定为开关信号,在这种情况下它就成为既是Aggressor也是Victim的走线了。

.5.4耦合域

LineSim的串扰功能可以在任何的LineSim原理图中增加耦合信息。

在原理图中的任何走线可以通过单击鼠标右键改变它的类型为“coupledstackup”,而且可以定义任何数量的耦合域,任何一根线都可以被增加到任意的一个耦合域中去。

当一根传输线被设定为耦合时,在原理图编辑器中的显示与未耦合的走线是不同的。

在原理图中,将鼠标指向任何一根传输线。

注意传输线周围黄色的高亮方框,以及通过鼠线相连的同一电磁耦合域中的其他传输线。

一旦这些传输线被定义为一个耦合域,域中的各属性以及长度都可以被定义,以便精确地符合需要仿真的条件。

而且这个定义是通过几何图形方式的,将这个几何图形方式的参数转化为电磁参数就是LineSim的工作了。

在右下角的阻抗列表中列出了电特性的概要。

之前定义的耦合域如下:

(34)所有的走线都在内层,“stripline”层;

(35)走线都是6mils宽和8mils间距(边到边);

(36)耦合走线的长度为12inches。

在对耦合域做任何改变之前,先对目前的参数设置情况下做一个仿真,看看产生多大的串扰。

.5.5运行串扰仿真

在前面已经画好的原理图并设置了各项基本参数的基础上,下面进行串扰仿真,并介绍一些减少串扰的方法。

六、运行仿真

(37)单击工具栏中的图标

,打开数字示波器窗口,如图15-35所示。

图15-35数字示波器窗口

确认DriverWaveform选项被设置为“Edge”-“FallingEdge”,以及IC模型被设置为“Typical”。

信号线的探针设置,即不同颜色代表的不同信号设置。

在示波器窗口的右半部分,单击旁边的

按钮,弹出“Probes”对话框,可以对信号线进行设置,双击颜色框可以修改颜色,其中U(A0):

红色,U(A1):

蓝色,U(A2):

黄色,U(B1):

紫色,如图15-36所示。

图15-36Probes对话框

(38)单击按钮

,开始仿真。

(39)当仿真完成,单击按钮

(后续可以使用这个波形作为参考),仿真波形如图15-37所示。

图15-37仿真波形

其中,U(A1)蓝色线和U(B1)紫色线波形显示了中间那条被干扰得线上驱动端和接收端电压,可以看出,A1几乎没有被干扰,这是由于该线发送端是阻抗很低的CMOS驱动器,但B1就不同了,它有约1V的干扰。

为了便于浏览,可以将U(A1)的蓝探头复选框前的选择取消。

最小化示波器窗口,然后在原理图上右键单击中间的Victim网络,选择“FieldSolver”页,单击按钮

,运行场分析,如图15-38所示。

图15-38场分析结果

图中蓝色的线代表耦合域之间的电力线,红色的线代表磁力线。

七、增加线距

减小串扰的一个明显的办法就是增加走线之间的间距。

(40)最小化示波器窗口。

(41)鼠标指向原理图中的任意一根传输线,单击右键重新打开“EditTransmission-line”对话框。

(42)单击“EditCouplingRegions”页表。

(43)在“CouplingRegion”列表中,高亮选择中间的一个传输线。

有两种方法可以选择:

或者单击选择列表中的传输线“TL(A1:

B1),‘Victim’”;或者在将鼠标移动到图形显示中的中间线位置,左键单击即可选中。

(44)在“Trace-to-TraceSeparation”区域,在“Left”和“Right”编辑框中输入16,以增加线间的间距。

同时在图形显示中的间距也变得更大了,如图15-39所示。

图15-39EditTransmission-line对话框

(45)单击按钮

,关闭对话框,然后单击工具条上的示波器图标

,打开示波

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1