搜索
您的当前位置:首页正文

基于Cadence的信号完整性仿真步骤

来源:知库网
目录

1.仿真前的准备工作.......................................................................................................................2

1.1找到需要仿真的芯片的IBIS模型...................................................................................2 1.2模型转换 (IBIS→DML)..............................................................................................2 1.3添加模型到Cadence的模型库中.....................................................................................5 2. 对电路板进行设置(Setup Advisor)......................................................................................7

2.1准备好要仿真的电路板.....................................................................................................7 2.2调用参数设置向导.............................................................................................................7 2.3叠层设置.............................................................................................................................8 2.4设置DC电压值.................................................................................................................9 2.5器件设置(Device Setup).............................................................................................10 2.6 SI模型分配......................................................................................................................12 2.7 SI检查(SI Audit).........................................................................................................16 2.8完成参数设置...................................................................................................................18 3.进行信号完整性仿真(反射).................................................................................................19

3.1开始仿真...........................................................................................................................19 3.2选择所要仿真的网络.......................................................................................................19 3.3提取网络的拓扑结构.......................................................................................................20 3.4给驱动端U8添加激励信号............................................................................................21 3.5设置激励信号的参数.......................................................................................................22 3.6执行反射仿真...................................................................................................................22 3.7仿真结果...........................................................................................................................22

1

1.仿真前的准备工作

1.1找到需要仿真的芯片的IBIS模型

一般可以从芯片制造商网站上找到,如果没有,可能要通过其它途径获得如从SPICE模型中提取。

1.2模型转换 (IBIS→DML)

将IBIS模型转换为DML模型,运用Cadence的Model Integrity工具将IBIS模型转化为Cadence能识别的DML模型,并验证仿真模型。

(1)单击“开始”按钮→“所有程序”→“Allegro SPB 15.5”→“Model Integrity”,如图1-1所示:

图1-1 Model Integrity工具窗口

(2)选择“File”→“Open”,打开一个IBIS模型如图1-2所示:

2

图1-2 打开一个IBIS模型

(3)在“Physical View”栏中,单击IBIS文件“sn74avca16245”→选择菜单栏里的“Options”→“Translation Options Editor”→弹出“Translation Options”窗口,如图1-3所示:

图1-3 Translation Options窗口

3

(4)默认选择“Make model names unique”,这个设置为每个IOCell模型名附加IBIS文件名。单击“OK”,关闭“Translation Options”窗口。

(5)在“Physical View”栏中,单击IBIS文件“sn74avca16245”→单击鼠标右键→选择“IBIS to DML”(如图1-4所示),系统会提示是否重写→选择“是”(如图1-5所示),重写文档。这时在原先IBIS文件的目录下面会生成相应的DML模型(如图1-6所示)。

图1-4 IBIS→DML转换窗口

图1-5 模型转换提示框

4

图1-6 转换好的DML模型

1.3添加模型到Cadence的模型库中

将转换好的DML模型加载到Cadence的模型库中,在Allegro PCB SI 610中,选择“Analyze”→“SI/EMI Sim”→“Library”,如图1-7所示。窗口分上下两个部分,上半部分是器件模型库;下半部分是互连模型库,包括传输线模型和Via模型。当提取网络的拓扑结构时,互连模型会自动创建。这里主要是加载器件的模型。

图1-7将DML模型加载到Cadence的模型库中

5

在这里要完成两项工作:

(1) 把所用到的模型加到模型库中。

󰂗 选择“Add existing library”→“Local Library”,如图1-8所示:

图1-8 添加模型(单个)

选择相应的模型后,选择“打开”,这种方法只能一个一个的添加。

󰂗 如果要添加的模型比较多可以选择“Add existing library”→“Local Library

Path”,如图1-9所示:

图1-9添加模型(批量)

选择模型所在的文件夹,选择“OK”,这样整个文件夹中的模型都会添加到模型库中。 (2) 创建自己的库文件,以后本次仿真新创建的信号模型如电阻、电容的模型会自

动保存到该库文件中。 选择“Create new library”,如图1-10所示:

图1-10 Create new library窗口 输入文件名,选择保存路径后,选择“保存”。新建的库也会被添加到模型库中。

6

2. 对电路板进行设置(Setup Advisor)

下面以UL2项目的PCB板为例介绍,对其中的地址信号A15进行信号完整性仿真。

2.1准备好要仿真的电路板

用Allegro PCB SI 610打开UL2的PCB板—BE7366MS01-11-9.brd。如图2-1所示:

图2-1 UL2的PCB板图

2.2调用参数设置向导

选择“Tools”→“Setup Advisor”,弹出“Database Setup Advisor”窗口,如图2-2所示:

图2-2 Database Setup Advisor窗口

7

2.3叠层设置

进行叠层设置,确定电路板层面,包括每层的材料、类型、名称、厚度、线宽和阻抗 信息,并确定PCB的物理和电气特性。

(1) 在图2-2中,单击“Next”弹出“Database Setup Advisor-Cross_section”窗口,

如图2-3所示:

图2-3 Database Setup Advisor-Cross_section窗口

(2) 单击“Edit Cross-section”弹出“Layout Cross Section”窗口,如图2-4所示:

图2-4 Layout Cross Section窗口

8

在系统中,整个电路板的厚度是一个固定值,所以不要改变它。在这里可以设置每一层的厚度,层面的类型,绝缘层的介电常数,线宽等等,并能计算出相应的特性阻抗值。

¾ Mode 当“Differential Mode”被选择时,线宽、阻抗、差分阻抗、差分间距、差分

耦合的模式都是相关联的。根据改变的值,编辑器都会弹出菜单,允许进一步进行准确设置。

¾ Material 从下拉菜单中选择材料。

¾ Loss Tangent 根据绝缘层的功率因数补偿角的正切,指定当前选择的绝缘层的介电

损失。

¾ Type 层面的类型,包含SURFACE、CONDUCTOR、DIELECTRIC、PLANE等。 ¾ Thickness 分配给每个层的厚度。 ¾ Line Width 确定布线层的布线宽度。 ¾ Impedance 分配给每个层的阻抗。 参数设置完成后,单击“OK”,关闭“Layout Cross Section”窗口。“Database Setup Advisor”窗口将再次显示。

2.4设置DC电压值

(1)点击“Next”弹出“Data Setup Advisor -DC Nets”窗口,如图2-5所示:

图2-5 Data Setup Advisor -DC Nets窗口

9

(2)单击“Identify DC Nets”,弹出“Identify DC Nets”窗口,如图2-6所示:

图2-6 Identify DC Nets窗口 (3)在“Net”列表中选择网络如“GND_EARTH”,在“Voltage”栏双击“NONE”输入相应的电压值如0,并按下“Tab”键。再如选择“VCC285”,在“Voltage”栏双击“NONE”输入相应的电压值如2.85,并按下“Tab”键。

(4)单击“OK”,关闭“Identify DC Nets”窗口。“Database Setup Advisor” 窗口将再次显示。

注意:如果有的网络与提取的网络无关,则可以不分配电压属性。

2.5器件设置(Device Setup)

(1)单击“Next”,弹出“Data Setup Advisor –Device Setup”窗口,如图2-7所示:

图2-7 Data Setup Advisor –Device Setup窗口

10

(2)单击“Device Setup”,弹出“Device Setup”窗口,如图2-8所示: 确定哪一个元件是连接器(Connectors),哪一个元件是分立元件(Discretes),并相应地确定器件的“Class”和“Pinuse”。 ¾ 器件类(Device Class)

󰂗 IC是能分配IBIS模型的有源器件

每个管脚的PINUSE必须是IN、OUT、BI、NC、GROUND、POWER、OCA、OCL

󰂗 DISCRETE是无源器件(电阻、电容、电导)

每个管脚的PINUSE必须是UNSPEC 󰂗 IO=INPUT/OUTPUT

每个管脚的PINUSE必须是UNSPEC

¾ PINUSE

󰂗 PCB SI使用PINUSE来确定Sigxplorer/Signoise仿真的缓冲器类型

Input、Output、Bidirectional、UNSPEC、Power、Ground 󰂗 对于IO和DISCRETE器件的PINUSE必须是UNSPEC

都是无源器件

图2-8 器件类设置窗口

PCB SI使用Device Class来确定元件类型。IC的类指定为有源器件,比如驱动器或接收器。DISCRETE的类指定为无源器件,比如电阻、电容、电感。IO的类指定为输入或者输出器件,比如连接器。在UL2项目中,连接器都是以CN标识的,因此在Connector栏中应输入CN*。

对于仿真,处理这些信息很重要。当执行仿真时PCB SI使用PINUSE属性值。例如,不小心把电阻PINUSE分配为OUT,PCB SI会假定电阻是一个驱动元件并为电阻分配一个默认的信号模型。在电阻的Allegro器件文件创建过程中,Device Class分配不正确,就能导致上述错误。

11

(3)设置完成后,单击“OK”,保存修改返回“Database Setup Advisor-Device Setup”窗口,并弹出一个元件变化的状态报告,如图2-9所示:

图2-9 元件变化的状态报告

2.6 SI模型分配

(1)单击“Next”,弹出“Data Setup Advisor –SI Models”窗口,如图2-10所示:

图2-10 Data Setup Advisor –SI Models窗口

12

(2)单击“Signal Model Assignment”→弹出提示信息(有的DC网络没有分配电压值),如图2-11所示:

图2-11

(3)单击“是”,弹出“Signal Model Assignment”窗口,如图2-12所示:

¾ Device 可以手动或自动为器件分配模型。

¾ Bond Wires 定位并为Bondwire连接分配Trace模型。 ¾ RefDesPins 为指定管脚分配IOCell模型。

图2-12 Signal Model Assignment窗口

13

(4)手动分配元件模型

这里只对地址线A15进行仿真,该网络连接了五个器件分别是U8、U32、U38、U40、U45。下面以U38为例,为其分配IBIS模型。

在“Device”列表中找到U38,如图2-13所示:

图2-13 Signal Model Assignment窗口

然后单击“Find Model”,出现“Model Browser”窗口,如图2-14所示:

图2-14 Model Browser窗口

14

在Model Type Filter栏中选择IbisDevice,在Model Name Pattern栏中输入*,如果知道对应的IBIS模型直接输入模型名称即可找到模型。然后在模型列表中找到对应的IBIS模型(U38对应的IBIS模型为S29GL128P)单击,如图2-15所示:

图2-15 在“Model Browser”窗口选中对应的模型

然后点击“Close”,回到“Signal Model Assignment”窗口,如图2-16所示:

图2-16 Signal Model Assignment窗口

由图知,U38已经分配了IBIS模型,同理给其余的器件分配对应的IBIS模型。

15

(5)模型分配完成后,单击“OK”,保存修改返回“Database Setup Advisor-SI Models”窗口。

2.7 SI检查(SI Audit)

点击“Next”进入“Database Setup Advisor-SI Audit”窗口,如图2-17所示:

图2-17 Database Setup Advisor-SI Audit窗口

SI Audit功能允许确认一个特殊的网络或一群网络是否能够被提取来分析。 (1)单击“SI Audit”,弹出“Net Audit”窗口,如图2-18所示:

图2-18 Net Audit对话框

16

(2)在“Net filter”栏中输入要“A15”→按下“Tab”(如图2-19所示)→单击“Audit selected net”,弹出“SigNoise Setup Report”窗口,如图2-20所示:

图2-19 Net Audit对话框

图2-20 SigNoise Setup Report窗口

17

这个报告显示了选择的网络的名称等信息。分配缓冲模型列表报告哪一个I0模型已经分配给驱动端和接收端。元件列表报告与这个网络有关的元件的CLASS属性和分配给每个元件的信号模型的名称。

󰂋 注意:在报告中有个错误信息,即U45的G15管脚没有缓冲模型。在提取拓扑结

构时,会有提示信息出现。

2.8完成参数设置

在“Database Setup Advisor-SI Audit”窗口中单击“Finish”,完成设置。然后在PCB SI 610中选择“File”→“Save”,保存所做的设置。

18

3.进行信号完整性仿真(反射)

3.1开始仿真

在PCB SI 610中选择“Analyze”→“SI/EMI Sim”→“Probe”或直接单击快捷键(如图3-1所示)出现”Signal Analysis”窗口,如图3-2所示:

图3-1 Signal Analysis快捷键

图3-2 Signal Analysis窗口

3.2选择所要仿真的网络

有三种方法来选择要仿真的网络:

󰂗 可以直接在Net栏中输入要仿真的网络名后按“Tab”键; 󰂗 直接用光标单击要仿真的网络;

󰂗 首先在PCB SI 610中,选择“Logic”→“Create List of Nets”创建要仿真的网络

列表文件,然后在“Signal Analysis”窗口中点击“List of Nets”导入网络表文件,然后选择要仿真的网络即可,如图3-3所示:

图3-3 “Signal Analysis”窗口

19

3.3提取网络的拓扑结构

单击“View Topology”,出现提示对话框(因为U45的G15管脚没有缓冲模型),单击“否”,如图3-4所示,软件会分配其默认的缓冲模型。

图3-4 提取拓扑结构时,如果网络中有没有分配模型的IC时,出现提示对话框 提取的拓扑结构如图3-5所示:

图3-5 A15网络的拓扑结构

󰂗 注意:窗口的下半部分有四个选项

¾ Parameters:参数设置如可以改变传输线的线宽,长度;端接电阻的大小等等 ¾ Measurements:选择仿真的类型,如反射、串扰及EMI等,如图3-6所示: ¾ Results:仿真的结果

¾ Command:命令行,可直接输入命令进行相应的操作

20

图3-6 选择仿真的类型

3.4给驱动端U8添加激励信号

在SigXplorer 610中,单击U8下面的“TRISTATE”,如图3-7所示,出现“IO Cell Stimulate Edit”窗口,选择所用的激励类型如Pulse,如图3-8所示:

图3-7 给U8加载激励信号

图3-8 选择激励信号的种类

设置完成后,单击“Apply”→“OK”退出。

21

3.5设置激励信号的参数

在SigXplorer 610中选择“Analyze”→“Preferences”→“Pulse Stimulus”,如图3-9所示:

󰂗 在“Measurement Cycle”栏中输入所用激励信号的周期数如3 󰂗 在“Switching Frequency”栏中输入所用信号的频率如50MHz

图3-9 设置激励信号的参数

设置完成后,单击“OK”,出现提示对话框如图3-10所示,单击“是”。

图3-10

3.6执行反射仿真

在SigXplorer 610中选择“Analyze”→“Simulate”或单击快捷键(如图3-11所示)开始仿真:

图3-11 执行仿真的快捷键

3.7仿真结果

仿真所得的波形如图3-12所示:

22

图3-12 仿真得到的波形

23

因篇幅问题不能全部显示,请点此查看更多更全内容

Top