资源描述
PCB预仿真
PCB预仿真是指在没有完成布线的情况下对预布局阶段的重要信号进行仿真,通过仿真分析来调整布局,从而达到利用约束来驱动布局。
1、 打开仿真文件
选择“开始/程序/Allegro SPB15.5.1/PCB SI”,打开仿真分析工具,选择“File/Open”命令,选择打开要进行仿真的PCB文件。
2、 打开仿真设置
Cadence的PCB SI工具提供了一个仿真的设置向导,在工作界面的菜单栏中选择Tools/Setup Advisor命令,打开仿真设置向导,界面如图1所示。
图1
信号仿真设置向导提供了一个完整的仿真分析前的准备工作流程,为“叠层设置—>设置DC电压—>元件设置—>赋予SI模型—>SI检查—>完成仿真设置”。
1) 叠层设置
单击图形1中的“Next”按钮,弹出叠层设置界面,如图2所示。
图2
单击“Edit Cross-section”按钮,打开叠层设置窗口进行叠层的设置工作,如图3所示。
图3
Subclass Name:印制电路板层名。
Type:层的类型。
Material:每一层的材料。
Thickness:每一层的厚度,要根据实际情况进行设置。对于信号层和平面层的厚度就是敷铜的量。一般是通过调整层与层之间的填充的厚度来满足整个板厚以及阻抗匹配的要求。
Conductivity:敷铜层的导电特性。
Dielectric constant:绝缘材料的介电常数。
Loss Tangent:绝缘层的介电损耗。
Negative Artwork:正片、负片光绘。
Shielel:为喜好层选择参考层或者屏蔽层。
Width:线宽的设置。
Impedance:阻抗控制。它是由印制电路板中的介质厚度、线宽及板厚自动计算出来的。
Total Thickness:总的板厚。
在图3所示的叠层设置栏还提供了针对差分信号设置线宽和线间距的差分模式,在图3中勾选“Diffential Mode”选项,显示差分模式叠层设置,如图4所示。
图4
在差分模式下,多了Coupling Type、Spacing、DiffZO三个设置栏:
Coupling Type:选择对线的类型。
Spacing:设置线与线之间的间距。
DiffZO:差分阻抗显示值。
单击叠层设置栏中的“Ok”按钮完成叠层的设置,回到图2所示界面。
2) 设置DC电压
完成了叠层设置之后,单击“Next”按钮,弹出DC电压的设置窗口,如图5所示。
图5
单击“Identify DC Nets”按钮,打开Identify DC Nets窗口,如图6所示。
图6
在Net栏中选择出要设置的电压网名,在Net selected栏的Voltage处给出其电压值。在Pins in net中显示当前算中的网络所连接的所有引脚,在此区域可选择一个引脚作为电压源引脚在Voltage source pins中显示。
在进行设置直流电压值时,对于没有引脚的网名会弹出提示框,只需单击“确定”即可。
设定完成后,单击“Ok”按钮完成对直流电压值的设定,回到图5所示窗口。
3) 元件设置
完成直流电压设置之后,单击“Next”按钮,弹出元件设置窗口,如图7所示。
图7
此过程主要用来设置元件的分类及其元件的引脚定义。PCB SI工具在进行仿真的时候,是使用Device Class来确定元件类型的:如驱动器或接收器为IC类;电阻、电感和电容属于DISCRETE类;连接器属于IO类等。
单击“Device Setup”按钮,弹出元件设置窗口,如图8所示。
图8
在此需要设置的类都是分立的元件如连接器、电阻、排阻、电容、电感等。在“Default Value“中可以更改其默认的值,如果全部空白的话就表示不使用值,使用原理图中所标的值。
单击“Ok“按钮完成元件的设置,会弹出元件设置更改提示框。提示框把我们所选中的R、C等分立元件都罗列出来并显示其引脚定义,如果发现有的PIN USE属性变了,说明在原理图设计的时候指定错误。
4) 赋予SI模型
完成元件设置之后,单击“Next“按钮,弹出模型分配窗口,如图9所示。
图9
单击图9中的SI Model Assignment按钮,弹出信号模型分配窗口,如图10所示。
图10
Create Model:创建模型。一般阻容元件模型和插接件模型使用该功能产生。
Find Model:模型分配。
Edit Model:编辑模型参数。
Auto Setup:自动分配模型。当模型名与元件的位号相同时,执行Auto Setup命令可以自动将模型分配给该元件。
Save:保存文件。
Load:调入文件。
Preference:仿真参数设置。
在执行模型分配之前,先要设置模型库文件的路径。方法如下:选择Analyze/SI/EMI/Library命令,打开信号仿真库路径设置窗口,如图11所示。
图11
单击“Add existing library“按钮,添加已经存在的库。
如果是IBIS模型,Cadence是无法直接识别的,需要将其转化为DML模型,单击图11中右下角“Translate“按钮将其转换。
转换完成后,单击“Add existing library“按钮,弹出下拉菜单,有四个选项:
Local Library:直接指定一个确定的库文件。
Local Library Path:指定一个目录并将目录中所有库文件调入。
Standard Cadence Library
Optional Cadence Library
加载成功之后,点击“Set working“按钮,将其设置为工作库。
完成了库路径设置之后,接下来进行模型分配。选中一个元件单击“Find Model“按钮,弹出Model browser界面,如图12所示。
图12
对于阻容类没有模型库的元件,选中之后,单击“Create Model“按钮,弹出创建元件模型对话框,如图13所示。
图13
选择创建EspiceDevice模型,单击“Ok“按钮,弹出设定值窗口。如图14所示。
图14
在输入相应的模型名称和值后,单击“Ok“完成设置。
单击信号模型分配窗口中的“Ok“按钮完成赋予模型工作。
5) SI的检查
在Database Setup Advisor窗口中,单击“Next“按钮,弹出SI检查窗口,如图15所示。
图15
单击图15中的“SI Audit“按钮,打开网络设置检查窗口,如图16所示。
图16
此部分的功能就是对网络设置进行一个检查,如叠层是否设定、模型是否赋予等,在选中一个要仿真的网名后,单击“Audit selected net“按钮进行检查即可,如果有问题就回到上面的过程中进行重新设置。检查完毕之后,弹出报告。
完成所有的设置后,回到Database Setup Advisor窗口,单击“Finish“按钮,完成仿真前的设置工作。
3、 基本仿真参数设置
在正式进行仿真之前,还需要对各参数进行设置,以便使最终结果更加准确的反映设计者的要求。具体要设置的参数根据不同仿真有不同的要求,大致如下:
仿真的周期数(measurement cycle);时钟频率(clock frequency);占空比(duty cycle);偏移量(offset);固定仿真时间(fixed duration);波形取样时间(waveform resolution);截止频率(cutoff frequency);仿真模式(FTS mode);驱动激励(drive excitation);测量模式(measurement mode)。
选择工作界面中的“Analyze/SI/EMI Sim/Preferences” 命令,弹出Analysis Preferences窗口,如图17所示。
图17
默认将图17中的“Use Defaults For Missing Components Models”选中,表示对没有模型的元件将自动为其赋上一个默认的模型。
图17显示的是Devices Models界面,各选项的意义如下:
Default Model:设定当仿真遇到没有指定model的元件时,选择默认的model类型。
Browse Models:调入当前元件库区域内的model库。
Buffer Models:设置仿真如何获取缓冲延时,默认从库中获得。
在图17中点击Interconnect Models选项卡,打开Interconnect Models栏的设置对话框,如图18所示。
图18
对话框中各选项设置说明:
Percent Manhattan:设定未连接的传输线的哦曼哈顿距离的百分比,默认100%。
Default Impedance:设定传输线特性阻抗,默认60ohm。典型值为50ohm。
Default Prop Velocity:默认传输速度,默认值为1.4142e+008m/s。
Default Diff-Velocity:设定差分信号线的默认差分阻抗,默认为100ohm。
Default Diff-Velocity:差分信号线的默认差分传输速率。
Routed Interconnect Models:对于PCB中已连接信号的参数设置。
Cutoff Frequency:设定截止频率,默认为0Ghz。
Shape Mesh Size:表明将线看成铜皮的边界尺称范围,即标明作为场分析的最大铜箔尺寸。
Via Modeling:表明所采用的过孔模型。
Diffpair Coupling Window:设定差分模式。
Geometry Window:设定在仿真是距离主网络的导线边缘多少范围内(横向和纵向均考虑)的网络需要作为干扰源来考虑。
Min Coupled Length:最小耦合长度。设定两根相邻线多长的平行导线距离时才考虑它们的串扰。
Min Neighbor Capacitance:最小耦合电容,设定线与线之间的最小电容耦合程度。
Differential Extraction Mode:设定差分提取模式。
Diffpair Topology Simplification:差分信号拓扑简化。
SSN:选中Plane Modeling对平面建模。
单击“Ok”按钮完成仿真参数设置。
4、 仿真信号的提取
在一个预布局的PCB中,可以在约束管理器中很方便地将要仿真的信号拓扑提取出来。步骤如下:
1、 选择菜单栏中的Setup/Electrical constraint Spreadsheet命令,弹出约束管理器窗口,如图19所示。
图19
2、 在图19中选择Net/Routing/Wiring,打开网名列表。
3、 在约束管理器菜单栏中,选择菜单命令Tools/Options命令,弹出Options设置对话框,如图20所示,选中Automatic topology update,默认选择此项。
4、 单击Ok完成设置,回到图19所示约束管理器界面。在约束管理器Objects栏中的网名列表中,选择要进行仿真分析的网名,单击鼠标右键从弹出的菜单中选择SigXplorer命令,选择后,在SigXplorer中打开选择网络的拓扑结构,如图21所示。SigXplorer 是Cadence的信号仿真工具SPECCTRAQuest中的一个组件。
5、 在SigXplorer中,选择File/Save as菜单命令,保存拓扑结构,完成仿真信号的提取。
图20
图21
5、查看提取出来的仿真信号参数
在SigXplorer窗口底部的标签栏中选择Parameters,单击CIRCUIT前面的加号,将此项展开,如图22所示。
图22
展开后,有两项设置:1、tlineDelayMode:用来设置延时模式,可以选择用时间(time)或长度(length)来表示。使用时间,默认单位为ns;使用长度,默认单位为mm;2、userRevision:表示目前的拓扑版本号,第一次是1.0,以后如果更改了拓扑结构可以将版本提高。
单击DEMO前面的加号,将此项展开是从lianxi.brd印制电路中提取出来的信号拓扑的信息,如图23所示。
图23
6、SigXplorer中仿真前的参数设置
当将拓扑结构抽取到SigXplorer工具中后,在进行正式的仿真分析之前,要首先对SigXplorer工具中的仿真参数进行设置。
在SigXplorer工具中,选择Analyze/Preference命令,打开仿真分析设置(Analysis Preferences)窗口,如图24所示。
图24
Pulse Stimulus设置:
Measurement Cycle:设置仿真周期。一般情况下,对时钟信号从第三个时钟周期进行测量,对于其它的信号从第一个周期进行测量。
Switching Frequency:设置脉冲频率。
Duty Cycle:设置占空比,默认设置为0.5。
Offset:设置脉冲偏移量。仿真信号的驱动端与其它信号驱动的偏移。
Simulation Modes设置:
图25
FTS Mode(s):设置仿真模式。
Fast:以快模式进行仿真。
Typical:以典型模式进行仿真。
Slow:以慢模式进行仿真。
Fast/Slow:驱动器使用快模式,接收器使用慢模式。
Slow/Fast:驱动器使用慢模式,接收器使用快模式。
Driver Excitation:驱动的激励方式。
Active Drive:以设定的激励源为驱动源。
All Drives:如果是双向驱动和接收,两个方向分别作为驱动端。
Measurement Modes设置:
Measure Delays At:设置延时测量的参考点。选择Input Thresholds表示输入门限值;选择Vmeas表示以输出Buffer的参考电压进行测量。
Receive Selection:设置接收器。选择All表示所有非驱动的元件都作为接收;选择Select One表示在仿真开始时选择其中的一个作为接收源。
Custom Simulation:设置仿真内容。包括Reflection(反射仿真分析)、Crosstalk(串扰仿真分析)和EMI(电磁干扰分析)。
Report Source Sampling Data:设定是否报告出源采样数据。
图26
Simulation Parameters设置
图27
Fixed Duration:设定是否指定仿真的持续时间长度。选中表示指定仿真的持续时间长度,不选中则表示动态地为每一次仿真选择时长。注意:当选中且给一个时间值后,仿真运行的时间就为该项中所确定的时间长度。这项值的大小决定波形的长短。
Waveform Resolution:设定波形分辨率。使用Default时,分辨率为传输线的1/100。
Cutoff Delays:表明互连线寄生参数提取所适应 的频率范围,默认为0GHz。
Buffer Delays:缓冲器延时选择。缓冲器延时有三种选择:On-the-fly、From Library和No Buffer Delay。
Save Sweep Cases:当选择时保存仿真波形和数据。
EMI设置:
此栏主要是关于EMI仿真分析的一个设置,在一般性的仿真分析中,此项可以不进行设置。
图28
EMI Regulation:选择EMI的分析规则。
Design Margin(dB):对设计设定损耗限度。
Analysis Distance(m):设定分析距离。
仿真分析模式
单击Analysis Preferences窗口中的Fast/Typical/Slow Definitions按钮,可以对仿真模式进行详细的设定,如图29所示。
图29
注意:此栏中的设置为Cadence认为的最差情况下设置,建议一般不要更改。
单击仿真分析参数设置完成按钮,完成仿真分析前参数的设置。
在设定了仿真参数以后,对一个拓扑还要设定驱动端的状态,操作如下:
在拓扑结构中,选择驱动端的模型,单击其模型上面的其模型上面的TRISTATE字符,在弹出的对话框中可以进行对驱动的设置。
7、设置仿真分析内容
对所有的都设定好以后,就要设定仿真项,就是要对哪些方面进行仿真分析,如:要对信号的反射问题进行仿真就要设置反射中的仿真项,设置方法如下:
1、 在SigXplorer窗口中,选择底部的Measurements栏。
2、 单击前面的加号,打开进行仿真分析的内容,现对信号反射做分析,就打开反射栏设置。
反射栏中各项描述如下所述:
BufferDelayFall:BufferDelay曲线从高电平下降到测量电压值时的延时值。
BufferDelayRise:BufferDelay曲线从低电平上升到测量电压值时的延时值。
FirstIncidentFall:第一次开关下降时间。
FirstIncidentRise:第一次开关上升时间。
Monotonic:输入波形的单调性检查。
MonotonicFall:输入波形的下降沿的单调性检查。
MonotonicRise:输入波形的上升沿的单调性检查。
NoiseMargin:噪声容限。
NoiseMarginHigh:高电平噪声容限。
NoiseMarginLow:低电平噪声容限。
OvershootHigh:高电平过冲。
OvershootLow:低电平过冲。
PropDelay:传输线的传输延时。
SettleDelay:SettleDelayFall和SettleDelayRise两者的最大值。
SettleDelayFall:最后一次穿过低电平阈值相对于BufferDelay下降沿的测量点延时。
SettleDelayRise:最后一次穿过高电平阈值相对于BufferDelay上升沿的测量点延时。
SwitchDelay:SettleDelayFall和SettleDelayRise两者的最小值。
SwitchDelayFall:最后一次穿过高电平阈值相对于BufferDelay下降沿的测量点延时
SwitchDelayRise:最后一次穿过低电平阈值相对于BufferDelay上升沿的测量点延时。
设置完成之后,选择“File/Save”命令,保存拓扑及其设置项,然后进行分析。
8、使用Sigwave工具查看波形
在执行了仿真分析之后,SigXplorer会自动在Sigwave仿真出波形文件,来供分析查看,在SigWave界面中,可以给很方便地查看噪声容限、延时及过冲值。
展开阅读全文