1、HyperLynx入门指南,西安电子科技大学电路CAD研究所 2010年1月,高速仿真工具HyperLynx,从内容上 信号完整性(signal-integrity)反射(单网络)串扰(crosstalk)电磁兼容(EMC) 从功能上 线级仿真(LineSim) 板级仿真(BoardSim) 这里,以HyperLynx 7.5 为例来介绍HyperLynx 的主要功能和使用方法。,主要内容,HyperLynx 7.5 开发环境简介 Stackup Editor叠层编辑器 LineSim布线前仿真 BoardSim布线后仿真 IBIS编辑器,HyperLynx 7.5 软件的安装,目前比较流行的
2、版本是HyperLynx 7.5 ,这一版本在7.0的基础上有所改进。在这里先简要的介绍一下它的安装和初始化过程。 打开HyperLynx 7.5 安装包,找到安装文件set up .exe,双击打开HyperLynx 7.5 Installation 对话框,如下图:,一、HyperLynx 7.5 开发环境简介,双击进入HyperLynx 7.5 的安装界面,按照需要安装即可。,双击进入Mentor Graphics Licensing 的安装界面,必须要安装这一项才能使用HyperLynx 7.5 软件。,双击进入IBIS模型安装界面,安装这一项后,就可以使用许多已有的IBIS库。,安装
3、完毕后,点击Exit 退出安装。,HyperLynx 7.5 软件的安装,在安装License过程中,会出现要求指定License的路径,此时只需要将路径位置指向您的License所在的位置,点击Next继续安装就可以了。如下图示:,一、HyperLynx 7.5 开发环境简介,HyperLynx 7.5 的主界面,安装软件完毕以后,就可以直接使用了。 点击“开始-程序-HyperLynx 7.5 -HyperLynx Simulation Software”打开HyperLynx 7.5 软件,程序运行主界面如下。,一、HyperLynx 7.5 开发环境简介,在BoardSim 和 Lin
4、eSim 中均包括一个功能强大的叠层编辑器,使用它可以很简单地对您的PCB 进行叠层设计和修改,以及对每个信号层进行特性阻抗的计算,以便您对信号反射和信号完整性的控制。 选择工具条上绿色的叠层图标“Edit PCB Stackup” ,或者通过菜单的Edit - Stackup选项,您将看到一个6 层板的叠层结构图以及各层和介质层的参数。,二、叠层编辑器,功能简介,二、叠层编辑器,Stackup Editor 编辑界面,HyperLynx 中默认的为6层板模型,用户可以根据需要添加或是减少层的数目,使用叠层编辑器进行编辑,双击您需要编辑的项目表格,例如介质层厚度、线宽等等,根据需要编辑顶层、底
5、层和各个走线层、参考层以及介质层的参数,您可以分别选择Basic、Dielectric、Metal、Z0 Planning、Custom View 进行各个项的编辑。 另外,您可以在左边的叠层参数窗口中通过鼠标拖动的方式对叠层的结构进行调整,也可以在右边的叠层示意图中进行鼠标拖动的操作。编辑各项参数,直到得到您需要的特性阻抗值。 在叠层编辑器“Stackup Editor”的左边叠层参数编辑窗口中单击您需要增加层的位置,单击右键弹出菜单,选择在当前位置的上面或者下面增加层。 例如,现在要将目前的6 层板改为8 层板,这样我们可以在第三层位置单击,然后点击鼠标右键选择Insert Below 选
6、项中的Solid Plane 选项,增加一个GND2 的参考层(层的名称可以增加层后,在Layer Name 的栏目位置进行修改),用同样的方法,增加一个VCC2 的参考层。增加层后如图:,二、叠层编辑器,使用叠层编辑器进行编辑,增加层后再根据需要对各层的参数进行设定,以满足特性阻抗的需要。,二、叠层编辑器,新添加的GND2和VCC2层,可以通过改变表中各项参数来改变模型的特性阻抗值,建立一个新的LineSim 原理图,点击工具条上的图标“New LineSim Schematic” ,便可以建立一个新的LineSim 原理图,或者通过菜单选择 File - New LineSim File。
7、,三、LineSim仿真,建立一个新的LineSim 原理图,点击第一排的两个IC 符号以便激活LineSim原理图中的驱动器和接收器IC(CELL A0 和B0)。 点击连接两个IC 之间的标准的传输线符号,就可以激活此传输线。如下图:接下来,我们将以一个简单微带线传输线的的例子来说明如何对传输线建模仿真以及优化。,三、LineSim仿真,指派驱动器和接收器,右键点击单元CELL A0 的IC 图标(我们将设定它为驱动端)。 点击指派模型(Assign Models)窗口右边的“Select”按钮。 选择Generic.mod 库按钮。 在Devices 列表中,选择74AC11X:LINE
8、-DRV ,再点击OK 按钮。 在Buffer Setting 对话框中点击单选按钮“Output”,使其设置为驱动端。 在窗口左边的Pins 列表中选择U(B0);点击右边的“Select”按钮。 选择Generic.mod 库按钮。 选择74HCXX:GATE-2,点击OK 按钮。 确认单选按钮“Input”被选中,将其设置为接收端。 点击“关闭”按钮。,三、LineSim仿真,指派驱动器和接收器对话框,三、LineSim仿真,选择一个传输线模型,右键点击传输线符号,发一些时间分别点击传输线类型页中的各种传输线类型单选按钮,可以通过Values 页面对各种传输线模型进行参数和模型的了解。或
9、者 可以通过点击编辑传输线对话框中上部的传输线类型(Transmission-Line Type)页和值(Values)页对所选的传输线参数进行设置,如下图:,三、LineSim仿真,单线模型(非耦合),耦合线模型,相应传输线的各项参数均会自动计算给出,“What-if”分析,选择微带线Microstrip 单选按钮。 设置线长为8 Inches(当然,您可以根据您的需要进行长度设置,我们这里只是为了进行“what-if”分析。如下图: 选择确定,关闭对话框。,三、LineSim仿真,对时钟线进行仿真,点击工具条上的示波器图标 (或者Open oscilloscope/Simulator )。
10、 点击右上的“Start Simulation”按钮开始仿真(探头将被自动指派)。 仿真状态对话框被打开并开始仿真,仿真结果如下图所示:,三、LineSim仿真,采用串联端接阻抗减小反射,左键点击位于驱动IC 和传输线符号之间的电阻符号,选择插入电阻(Resistor )。 右键点击电阻符号,输入其阻值63 欧。如下图:,三、LineSim仿真,采用串联端接阻抗减小反射,点击工具条上的示波器图标 打开示波器。 点击Start Simulation 按钮重新开始仿真。 对比没有端接匹配电阻的波形(选中右边复选框中的previous value 选项),我们可以很明显地看到振铃明显减小。,三、Li
11、neSim仿真,优化向导的使用,根据信号完整性的知识以及前一个例子,我们知道端接匹配是一个非常重要的解决信号完整性的方法。 但是究竟端接一个多大的阻抗才能够达到我们所需要的标准呢? 盲目的去试是不可取的,工作量也会非常大。 LineSim 提供了一个功能强大Terminator Wizard (端接优化向导),它可以根据传输线模型以及所需的指标值,经过计算自动给出各项参数的最佳值。 点击工具条上 按键,或是通过Wizard-Terminator Wizard ,打开优化向导的对话框。 根据个人的需要设置Apply tolerance (可以容许的噪声容限),经过计算它会自动给出了优化后的参数值
12、。 令外,点击对话框右上方的Apply Values 就可以将最佳参数直接应用到各元件中,而不需要在原理图中一一更改。,三、LineSim仿真,Terminator Wizard 对话框,三、LineSim仿真,Apply tolerance 下拉菜单允许用户按照需要设定噪声容限,点击Apply Values 就可以将优化值直接应用到各元件中,LineSim 经过计算以后给出最佳参数值,频谱分析仪(spectrum analyzer),点击LineSim 工具条上的频谱分析仪(spectrum analyzer)图标按钮 ,将打开频谱分析窗口。 频谱分析仪提供了FCC和CISPR的Class
13、A 和Class B标准线,以便于在仿真中直接观察EMC。 向上点击垂直偏移(Vertical Offset)设置按钮,使Class A 和Class B 的标准线位于分析窗口中,如下图示:,三、LineSim仿真,FCC 和CISPR 的Class A 标准线,FCC 和CISPR 的Class B标准线,频谱分析仪(spectrum analyzer),点击右上的开始仿真“Start Simulation” 按钮,开始仿真,并得出结果,如图:我们可以通过改变传输线的参数值来减小EMC,三、LineSim仿真,从图上可以看出:在133MHz处,EMC已经远远超过了FCC和CISPR的Clas
14、s B类标准。,损耗分析,在HyperLynx中还提供了有损传输线模型的仿真分析。只需要按下工具条上的 按钮,就可以进入有损仿真状态。 我们还可以进一步分别观察介质损耗和导体损耗,只需要在原理图的传输线符号上点击鼠标右键。点击频域(Frequency Domain)查看表“Loss”,请注意只有在有损仿真被使能时才出现此图表。,三、LineSim仿真,点击衰减率按钮,确认Resistive 和Dielectric 复选框已经被选中,我们可以分析曲线显示在高频时信号的衰减是如何增加的。,串扰分析基本模型,在这一部分中我们采用一个三线串扰的例子来说明如何进行串扰分析以及减小串绕的方法。 首先要建立
15、传输线模型,建立串扰模型的关键在于要将相关的传输线添加到同一个耦合区域中,具体方法为: 右击第一条传输线的符号,打开传输线编辑对话框。 在“Coupled”中选择单选按钮“Stackup”,就会进入“Add to Coupling Regions”对话框页,(New Coupling)将出现在左边的窗口中。 点击“Edit coupling Region”页,可以浏览我们建立的耦合区域的截面图。从这里,点击Layer 对话框中的下拉菜单,我们从中选择“3,Signal, InnerSignal1”,使得传输线位于该信号层。 点击传输线类型“Transmission-Line Type”页表,在
16、Comment 域中填上“Aggressor 1”,点击“确定”按钮退出。 重复以上的几个步骤,用同样的方法建立第二和第三根网络,必须注意保证三根传输线处于同一个耦合区域“Coupling0001”中,命名第二根位于中间的传输线为“Victim” TL(A1,B1),而第三根位于右边的传输线命名为“Aggressor 2”TL(A2,B2)。它们之间的左右位置可以通过窗口底部的左右方向的箭头移动,按照需要调整三根传输线的位置,模型建立好后如图示:,三、LineSim仿真,串扰分析基本模型,三、LineSim仿真,串扰分析,我们还可以直观的观察耦合区域之间的电力线和磁力线,只需要在原理图上右击传
17、输线,选择“Field Solver”页,点击“Start”按钮。 点击“View”按钮,还可以看到阻抗、电磁场耦合参数和耦合线端接等一些具体数值。,三、LineSim仿真,蓝色的线代表耦合域之间的电力线,红色的线代表磁力线,串扰分析减小串扰的基本方法,三、LineSim仿真,根据信号完整性的知识,这些方法可以有效地减小串扰: 增加传输线间距; 减小介质层厚度; 端接匹配阻抗; 当然,在这里我们可以直接通过端接优化向导(Terminator Wizard)来分析各个元件的参数值,以确定产生串扰的原因,减小串扰。 注:数字示波器提供了clip to copy 功能,使得用户可以直接将结果导出到需
18、要的文本或者其他编辑工具中。,单线网络模型,在这里,我们采用HyperLynx自带的demo.hyp 文件为例来说明。 选择clock网络,并察看各个端口。,四、BoardSim 交互式仿真,单线网络模型,四、BoardSim 交互式仿真,各个端口指派好以后可以通过“.REF IC Automapping File”对话框详细查看。,单线网络模型,打开数字示波器,选择Attach Probes,打开指派示波器探头的对话框,指派示波器通道。,四、BoardSim 交互式仿真,单线网络仿真和优化,使用数字示波器和频谱分析仪进行仿真,示波器探头指派好以后,它们的位置显示于板浏览器中的各个对应颜色的箭
19、头,它们的颜色与示波器各通道的颜色一致。 选择菜单的“Wizards”选项,选择“Terminator Wizard”,端接向导对话框将打开。 BoardSim 可以自动地为您计算出最佳的端接元件值 在端接向导窗口中,点击右上方的值应用“Apply Values”按钮。 点击“OK”按钮,关闭对话框,就可以将合适的参数值应用到模型中。 再次仿真后就可以得到信号完整性较好的波形。,四、BoardSim 交互式仿真,串扰分析,选择所需要的网络。 选择主菜单“Crosstalk” “Enable Crosstalk Simulation”。或者点击工具条上的 图标按钮,使能串扰仿真。 再选择主菜单上
20、的“Crosstalk”“Set Crosstalk Thresholds”。打开设置串扰域值对话框。 点击“Use Electrical Thresholds”单选框,输入合适的串扰域值。 点击“Change Default IC Model”按钮,设置合适的Rise/fall time 值。 可以通过“Walk Coupling Regions(Field Slover views)”观察各个耦合区域(在图上显示为白色的耦合条),表示的就是超过我们设定的超过耦合域值的区域。 另外,点击“Impedance”按钮,就会显示L、C、Z 值并优化串扰段的端接值。 我们还可以通过主菜单“File”
21、 “Export Net/Board to”。可以将目前被分析的网络或者整板信息导出到各种仿真器如LineSim中进行详细的仿真分析。,四、BoardSim 交互式仿真,BoardSim 板级分析,BoardSim 提供了一个更为强大的板级分析工具,可以对整个版图进行分析,也可以对用户感兴趣的重要信号网络进行详细的分析。 点击工具条上的Batch mode按键,打开板级优化向导。 快速分析( Quick analysis),可以根据需要选择您感兴趣的选项,点击下一步进入Batch-Mode Analysis设置页面,设置合适的参数值,这样在快速分析报告中我们就可以看到。 详细仿真( Detai
22、led Simulations ),包括“ Run signal-integrity (SI) simulations on selected nets ” 和“ Run EMC simulations on selected nets”,这会对重要的网络进行详细的仿真分析。并且分别对最好、典型、最坏三种情况给出。 板级向导分析运行完成以后,会报告板上各网络分析的状态,并输出的报告文件。 除此之外,详细仿真还给出了一个 .CSV(“Comma Separated Values”文件,包含了报告中所有的网络数据,它可以直接被 Microsoft 的Excel 或者其他电子表格或数据库程序打开)和
23、一个 .SDF(“Standard Delay Format”文件包含了包括中的管脚延迟信息,它可以被Verilog 和VHDL 仿真器调用,或者其他的时序分析工具)。 您可以根据报告文件对网络进行分析和优化以提高信号质量。,四、BoardSim 交互式仿真,Batch Mode 分析工具,四、BoardSim 交互式仿真,快速分析,可以根据需要选择感兴趣的选项,详细仿真,包括SI和EMC仿真,过孔效果仿真,多层板中过孔是不可避免的,BoardSim分别提供了有过孔和无过孔的模型仿真。 通过“Edit” “Via Modeling”,打开仿真过孔模型的对话框。 点击取消左上方的“Include
24、 Via L and C”复选框,此时仿真过程中不包括过孔模型。 点击选中 “Include Via L and C”复选框,此时仿真过程中包括过孔模型,选择单选项“Auto-Calculate”,BoardSim就会使用内部计算器对设计中的每个过孔类型的电感和电容参数自动地进行计算。 选项“User-Supplied Global L and C”允许使用一个单一的L 和C 参数应用设计中的所有过孔。 还有更高级的“User-Supplied Padstack-Specific L and C”选项可以让用户使用一个Spreadsheet 表格格式对设计中的任意一个或全部的过孔不进行自动计算
25、,而根据用户的要求,使用手工设置。,四、BoardSim交互式仿真,过孔效果仿真对话框,四、BoardSim交互式仿真,包括过孔模型的仿真,在设计中的所有过孔使用单一L 和C 参数,手工设置全部过孔的L 和C 参数,BoardSim 自动计算给出过孔的L和C参数,差分网络仿真,在这里我们采用BoardSim 的演示文件“DEMODIFF.HYP”的“drv1_out3+”和它的负极性对“drv1_out3-”网络来说明。 选择主菜单“Crosstalk” “Enable Crosstalk Simulation”使能串扰仿真,设置电压串扰域值20 mV。 点击“OK”按钮关闭对话框。(注意:这
26、样做只是为了允许差分对中两根网络的耦合,不管它们之间的耦合是多么的微弱。) 打开“Coupling Region”对话框观察耦合区域,并点击其底部的“Impedance”按钮,打开描述差分对电特性信息的分隔窗口。以便观察窗口中通过HyperLynx 的field solver 计算出的差分对差分阻抗,如后页图: 至于串扰的波形以及量化数值就可以通过数字示波器的波形仿真和眼图仿真功能来实现。 另外,我们也可以采用端接优化向导来优化各项参数的值。,四、BoardSim 交互式仿真,差分网络仿真,四、BoardSim 交互式仿真,眼图,HyperLynx的数字示波器不仅提供波形仿真结果输出,还提供了
27、眼图的示波器。 打开示波器窗口中,点击其右上方的“Operation”选项中选择单选按钮“Eye Diagram”。 点击取消 “Show”窗口的“Eye Mask”复选框的选择状态。 在窗口中点击眼图的配置按钮“Configure”,打开配置眼图的“Configure Eye Diagram”对话框,选择输入的随机序列(可以采用指定长度的假随机位序列(PRBS)或者用户自定义的模式)。 在示波器窗口,点击开始仿真“Start Simulation”按钮,开始建立眼图。 当仿真完成,调节眼图在示波器窗口中的位置,让眼图可以位于示波器的中间位置。 观察眼图的睁开程度,以分析网络的抖动和信号质量。
28、,四、BoardSim 交互式仿真,眼图对话框,四、BoardSim 交互式仿真,触发器的配置,四、BoardSim 交互式仿真,在此下拉菜单中,选择就可以在下面的位编辑框中编辑您需要的模式,然后点击save可以保存。一般来说,我们在仿真时都采用指定长度的假随机位序列(PRBS)。,HyperLynx 提供了一个HyperLynx Visual IBIS Editor(直观的IBIS 编辑器),点击HyperLynx 软件的菜单“Edit” “IBIS IC Models(.IBS)”,就可以打开编辑器,如下图: 我们可以打开已有的.ibs文件加载IBIS文件或是编辑IBIS 文件。,五、IB
29、IS编辑器,简介,普通功能,编辑窗口提供了一套丰富的编辑功能,类似于现在市场上基于MFC 的编辑器。这个编辑主要包括以下特点: 多级的Undo 和Redo 操作。 完整的Cut/Copy/Paste/Delete 操作。 查找/搜索(Find/Search)功能。 支持替换(Replace)操作。 Tab-to-space 的转换。 跳转到行(Go-to-line)的功能。 支持完全的Windows 字体。 区域高亮(highlighting)/Cut/Copy/Paste 操作。,五、IBIS编辑器,特殊功能,IBIS 编辑器包含了一个基于树型的模型结构浏览窗口,它位于软件界面的左上角。提供
30、了实时更新的、树型层次结构的IBIS 文件内容的浏览。 只需要双击树型浏览窗口中项目的位置,编辑窗口就会跳转到相应的数据表区域。 IBIS 编辑器提供了直观的图形显示方式,右击该项选择“View Data”。就会打开一个对话框,以图形的方式直观地显示表格数据,这就比文本数据易于理解得多。 IBIS 编辑器还提供了图形化的表数据编辑功能,如果在浏览图形时有几个点明显地输入错误并不位于一条平滑的曲线上,只需要选中错误的点将其拉到正确的位置即可,而不需要在文本编辑窗口中查找校正。,五、IBIS编辑器,建立Databook模型,当找不到IBIS 的IC 模型时,HyperLynx 提供一个可替代的模型
31、格式为“.MOD”。MOD 模型可以通过IC 供应商提供的输出和输入缓冲器的数据手册参数自动生成。 打开“Edit” “Databook IC Models (.MOD)”编辑器模型对话框。 上面的对话框显示了您需要自动建立一个输出缓冲器的模型,需要的Databook 参数。 当编辑MOD 对话框中输入完了各个值之后,选择右边的“Save As”按钮,并为此模型起一个名字,将其保存,下次就可以直接调用。,五、IBIS编辑器,Databook Format,五、IBIS编辑器,Golden Checker,有许多方法可以检测IBIS 文件的品质,对用户来说,首选的方法是运行IBIS 委员会提供的“Golden Checker”检测文件中是否包含一些非法的格式和严重的数据问题。 这个检测器被集成在这个软件中,因此可以很简单地通过IBIS 编辑器来运行检查。 在工具条上,点击图标按钮 ,检测器开始运行。检测完成后,在编辑器窗口下面的检测器窗口将显示出一些警告(有可能是错误)列表。 双击列表中第一个警告的位置。 编辑器窗口中的光标将跳转到产生这个警告的相应行。 针对这些错误进行修改编辑就可以了。,五、IBIS编辑器,The End 谢谢!,