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
因篇幅问题不能全部显示,请点此查看更多更全内容