CADENCE 仿真流程Word文档格式.docx
《CADENCE 仿真流程Word文档格式.docx》由会员分享,可在线阅读,更多相关《CADENCE 仿真流程Word文档格式.docx(23页珍藏版)》请在冰点文库上搜索。
CADENCE中得信号完整性仿真就是建立在IBIS模型得基础上得,但又不就是直接应用IBIS模型,CADECE得软件自带一个将IBIS模型转换为自己可用得DML(DeviceModelLibrary)模型得功能模块,本章主要就IBIS模型得转换及加载进行讲解。
1、IBIS模型到DML模型得转换
在Allegro窗口中选择Analyse\SI/EMISIM\Library,打开“signalanalyzelibrarybrowser”窗口,在该窗口得右下方点击“Translate→”按钮,在出现得下拉菜单中选择“ibis2signois”项,出现“SelectIBISSourceFile”窗口(图1),选择想要进行转换得源IBIS文件,按下“打开”按钮,出现转换后文件名及路径设置窗口(缺省设置为与源IBIS文件同名并同路径放置,但此处文件名后缀为dml),设置后按下“保存”按钮,出现保存确定窗口(图2),点击OK按钮即可,随后会出现一个“messages”窗口,该窗口中得报告文件说明在模型转换过程中出现得问题,对其中得“warning”可不用在意,但如果出现“error”则必须进行修改后重新进行模型格式转化直到没有“error”出现为止,此时转换得到得dml文件才就是有效得。
注:
若已有规范得完整DML模型库,我们可以直接将需要得模型库加入到工作库中,即可跳过第一步直接执行第二步。
图1:
IBIS模型转换源文件设置窗口
图2:
输出dml文件确认窗口
2、将转换后得dml模型加载到模型库
在signalanalyzelibrarybrowser窗口中,按下“AddExistingLibrary→”按钮,出现下拉菜单,选择“LocalLibrary”出现“打开”窗口,选择您放置dml文件得路径并选中要加载得dml文件点击“打开”按钮就将dml文件加载到了模型库中。
3、分配DML文件给特定得器件。
在Allegro窗口中选择Analyse\SI/EMISIM\Model,打开“SignalModelAssignment”窗口(图3所示),在该窗口中所有使用到得器件就是按序排列得。
可以点击“AutoSetup”进行器件模型得自动分配,此时得分配原则就是如果器件得名称与模型得名称完全一致,则该模型自动分配给这个元器件。
也可以选中某一元器件,点击“FindModel…”按钮,出现“ModelBrower”窗口,在“ModelNamePatter”一栏中填入“*”号,一些模型得名称进入下面得列表框,在列表框里选中您需要得模块后,在“SignalModelAssignment”窗口中得对应器件得“SignalName”列里就会出现它得模型名称。
在“SignalModelAssignment”窗口中选中某些器件后,还可点击“CreateModel…”按钮进入创建模型得界面(图4所示)。
对于定义了value值得无源器件(包括电阻、电容、电感),系统会自动生成在仿真中使用得Espice模型。
对于没有自动生成模型得无源器件,在模型创建窗口选择“CreateEspiceModel”,而对于其她没有模型得有源器件则选择“CreateIBISModel”,然后按提示输入value值及各管脚得功能即可,同时可以存盘生成*、dat文件以备后用,此时这个新生成得模型就出现在所选器件得“SignalName”栏中。
特别注意准备进行仿真得网络上所有器件都需要有模型,不要遗漏电阻、电容、电感、测试点、接插件等元件模型,否则在提取网络拓扑时会出错。
图3:
模型分配窗口
图4:
创建新模型窗口
第三章提取网络拓扑结构
在对被仿真网络提取拓扑之前需要对该板得数据库进行设置,整个操作步骤都在一个界面“DatabaseSetupAdvisor”中进行,之后就可进行拓扑得提取。
1、“DatabaseSetupAdvisor”得设置。
●在Allegro中选择Tools/SetupAdvisor…命令进入到“DatabaseSetupAdvisor”界面(在SpecctraQUEST界面中选择Board/SetupAdvisor…命令)。
●选择“Next”出现“DatabaseSetupAdvisor—CrossSection”窗口,点击该窗口中得“EditCrossSection”按钮进入叠层设置窗口“LayoutCrossSection”(图5所示),在这个类似Excel表格式得窗口里,输入需要得各种参数,在表格得最后一栏就直接计算出该层得阻抗值。
图5:
叠层设置窗口
●选择“Next”出现“DatabaseSetupAdvisor—DCNets”窗口,点击该窗口中得“IdentifyDCNets”按钮进入直流网络设置窗口“IdentifyDCNets”(图6所示)。
在这个窗口中,可以对所有直流网络设置具体得电压值。
图6:
直流网络设置窗口
●选择“Next”出现“DatabaseSetupAdvisor—DeviceSetup”窗口,点击该窗口中得“DeviceSetup”按钮进入直流网络设置窗口“DeviceSetup”(图7所示)。
在这个窗口中,可以对所有器件设置正确得分类属性。
正确得CLASS属性对于仿真就是很重要得,如果设置不正确,提取出得拓扑将会有严重得错误。
接插件得CLASS属性为IO,分离器件(电阻、阻排、电容、电感等)得CLASS属性为DISCRETE,集成电路得CLASS属性为IC。
除了器件得CLASS属性以外,器件管脚得PINUSE属性也同样很重要。
所有CLASS属性为IO与DISCRETE得器件其管脚得PINUSE属性均应为UNSPEC,而CLASS属性为IC得器件其管脚得PINUSE属性示功能不同可以为:
IN、OUT、BI。
器件得CLASS属性还可通过SpecctraQUEST主窗口中Logic/PartList命令调出PartList窗口进行设置(图8所示)。
而器件管脚得PINUSE属性只能在创建原理图库得地方设置与修改。
图7:
器件属性设置窗口
图8:
器件属性修改窗口
●选择“Next”出现“DatabaseSetupAdvisor—SIModels”窗口,点击该窗口中得“SIModelsAssignment”按钮进入分配模型窗口“SignalModelAssignment”,这一部分得设置见第二章。
●选择“Next”出现“DatabaseSetupAdvisor—SIAudit”窗口,这一部分通常不用设置直接点击“Finish”按钮结束DatabaseSetupAdvisor得设置。
●以上每一步完成后都有一个Message窗口显示该部操作引起数据库得变化,可以仔细察瞧一下Message窗口得报告就是否与您所期望得要求相互一致。
2、提取拓扑
拓扑结构得提取可以在Allegro得主界面也可以在SpecctraQUEST得主界面进行。
在Allegro得主界面执行Analyse\SI/EMISIM\Probe…命令调出“SignalAnalyse”窗口(或者就是在SpecctraQUEST得主界面,两者操作相同)(下图9所示),在Net栏中填入您想要进行仿真得网络,回车后与该网络相关得管脚就都出现在DriverPins、LoadPins、OthersPins这三栏中,(在数据库设置正确得情况下)点击“ViewTopology”按钮就会将该网络得拓扑结构在SigXplorer调出。
图9:
“SignalAnalyse”窗口
图10:
ConstrainManager得主界面
还可以从Allegro得主界面(或者SpecctraQUEST得主界面)进入ConstraintManager从而进行拓扑结构得提取。
在Allegro主界面进入得路径就是Setup/ElectricalConstraintSpreadsheet(或者就是从SPECCTRAQUEST得主界面进入,两者得操作相同)。
ConstrainManager就是Cadence得约束管理器,所有连线得拓扑抽取以及对网络赋拓扑都可以在这儿进行得。
操作如下:
打开ConstrainManager得主界面(图11所示),在Net栏点击SignalIntegrity、Timing、Routing得任何一个,右边就会将本板得全部网络显示出来,如图3、7所示。
各个网络按字母排列,其中前面有“+”好得表示就是总线或Xnet。
右击所选网络选择SigXplorer,就将拓扑抽取出来并进入SQsignalexplorerexpert界面图12,所有网络得前仿真就是在这个界面中进行
图11:
ConstraintManager中得网络
图12:
SQsignalexplorerexpert界面
还有一种建立拓扑结构得方法就就是直接在SigXplorer中创建拓扑结构。
打开SigXplorer,执行Anslyse/Library实行库文件得加载,操作类似于第二章得操作。
点击工具按钮“AddPart”执行放置传输线、放置驱动与接收器件、放置无源器件等操作(图13所示),最后连接结构体完成仿真拓扑图。
图13:
添加模型窗口
第四章前仿真
前仿真就是指在布局与布线之前得仿真,目得为布局与布线作准备,主要在SQsignalexplorerexpert中进行,主要有以下几个步骤:
1、设置拓扑结构得仿真参数
因为对各个器件及阻容器件得模型已经全部指定,所以抽取出来得拓扑上面得各IO都有相应得IO模型,对那些没有指定模型得管脚,Cadence会赋给它缺省得模型。
Cadence抽取出得拓扑结构就是根据各元器件得相对位置并考虑到布线方便抽取得,其中互连线得距离就是它计算得曼哈顿距离(即Δx+Δy)。
仿真得主要目得就就是根据仿真得结果来优化网络得拓扑结构,用来约束PCB布线,使布线按照最优结果方向进行。
SQSignalExplorerExpert界面除了菜单与工具栏以外分为两个部分,即上面得拓扑示意图与下面得参数、测量选择以及结果、控制得标签窗口。
在下面得Parameters标签窗口中得白色区域就是可以编辑得,而灰色区域就是无法编辑得,CIRCUIT就是整个参数得总标题,下面得tlineDelayMode栏可以选择就是用时间还就是用长度表示传输线得延时(若用长度表示,则缺省得单位就是mm,若用时间表示,则缺省得单位就是ns,其中传输线得缺省传输速度就是140mm每ns);
userRevision表示目前得拓扑版本(第一次一般就是1、0,以后修改拓扑时可以将此处得版本提高,这样以后在ConstraintManage里不用重新赋拓扑,只要升级拓扑即可)。
点击开单板名称后,下面就列出本拓扑得内各个元件(包括器件、阻容、电源、传输线),可以编辑各个元件得特性;
对器件,可以选择对应管脚得IOBUFFER模型,但一般不推荐去更改它得模型,因为已经赋给器件整体模型了,相应得IOBuffer得模型也就确定了。
对阻容器件,可以更改它们得阻容值;
对电源,可以更改电源值;
对传输线,可以更改以下几项:
impedance,即传输线得交流阻抗,可以根据叠层情况在适当范围内更改它;
propDelay,即传输线得延时来表示得长度;
traceGeometry,传输线得类型,即就是微带线或带状线,由于在前仿真中传输线就是用一个集中式得无损耗模型来表示得,所以这边选择微带线或带状线得关系并不大;
velocity,传输线得信号传输速度,这边一般不去改变它,用它得缺省值,即5567、72mil/ns,约14cm/ns。
为了得到更大范围内得仿真结果,扩大参数得选择范围,我们一般对阻容器件得阻值、传输线得阻抗、传输线得长度选择多个值进行扫描仿真(sweepsimulation)。
2、设置激励源
在各个元件得参数设定后,接着进行激励源设置。
点击作为驱动源得模型上面、位号下面得Tristate,出现图14所示得窗口进行选择:
在Cadence中共有7种激励:
Pulse:
脉冲方波,就就是时钟源性质得波形,如果选择Pulse,整个界面中得其她选项就是灰得,不允许再选;
Rise:
表示一个上升沿;
Fall:
表示一个下降沿;
Custom:
表示一种可以自定义得波形激励,这就是最常用得波形,在这种形式下,首先在Frequence中输入信号得频率,在Pattern中输入波形得形状。
其它得填缺省即可;
QuiteHi:
稳定高电平;
QuiteLo:
稳定低电平;
Tristate:
三态,对非驱动源,都选择三态。
设置完成后点击ok即可。
图14:
激励源设置窗口
3、整个仿真参数得设置
在SQsignalexplorerexpert主界面选择Analyze/Preference,弹出图15所示得窗口
●其中标签PulseStimulus设置驱动源类似时钟波形仿真时得仿真参数,在SwitchingFrequence中填入时钟得频率,其它项保持它们得缺省值;
●在标签SimulationParameters中设置仿真得时间、精度等,如果您对FixedDuration选中,则仿真时间长度就就是后面空格中得值,否则它将对您在激励源中填入得所有波形进行仿真。
对WaveformResolution中就是指仿真得精度,即每隔多少时间取一点进行仿真,如果这儿用得就是Default,那么Cadence自动认定精度就是仿真总时间得百分之一,也就就是说它总共抽取100个点进行仿真。
对CutoffFrequency中就是指选定范围内对互连线得寄生参数进行计算,这主要就是指在拓扑中具有真实得传输线线段时,在前仿真中可以不管这一项。
对BufferDelays就是指如何从仿真中得到BufferDelay,若选择FromLibrary则就是指它从仿真模型里得到得,而选择On-the-fly则就是从实际仿真数据中得到得,这儿必须选择On-the-fly,以使结果得正确性。
●SimulationModes就是指仿真得快慢方式,在FTSMode中共有5种模式可以选择:
Fast(驱动、接收都在快模式下)、Typical(正常模式)、Slow(慢模式)、Fast/Slow(驱动在快模式、接收在慢模式)、Slow/Fast(驱动在慢模式、接收在快模式)。
为了在WorstCase下仿真,我们一般选择Fast与Slow两种模式进行仿真,最后两种模式因为在实际中不容易遇到,所以我们一般不选。
DriverExcitation就是指对驱动源进行选择,如选择ActiveDriver则表示只将拓扑中指定得驱动源作为驱动进行一次仿真,而如选择All-Drivers则就是对拓扑中得每个能作为驱动源得器件作为驱动轮流仿真一次,如在图中四个器件都可以作为驱动源(因为都就是IO类型得Buffer),则会仿真4次,注意在这种情况下拓扑中得所有器件都必须设成Tristate模式,而且对驱动源就是当成Pulse进行仿真得,所以在这种方式下对驱动源得参数设置在PulseStimulus中。
●在MeasureMode中主要设置测量得一些选择,对MeasureDelaysAt:
如选InputThreshold表示以输入Buffer得Vil与Vih进行BufferDelay测量得,如选Vmeas则表示以输出Buffer得参考电压进行测量得,我们应该选择InputThreshold。
对ReceiverSelection,如选All表示所有非驱动得器件都作为接收,如选SelectOne则在仿真开始时它会让您选择其中得一个作为接收源。
在我们得实际仿真中,对这两个选择得意义并不大,因为无论选哪一种,在仿真后数据报表中都会列出所有非驱动源得数据结果。
在CustomSimulation中选择仿真得类别,Reflection表示时域发射仿真,Crosstalk表示串扰仿真,EMI表示电磁干扰仿真。
●在EMI标签窗口中,主要设定EMI得规则,及接收天线得距离(Cadence对EMI仿真只能瞧它得EMI能不能符合设定得规则)。
图15:
仿真参数设置窗口
4、仿真结果得设置
在SQsignalexplorerexpert主界面下部分中得Measurement标签窗口(图16所示)中选择Reflection,在Reflection下面将需要显示结果得值选中。
图16:
SQsignalexplorerexpert主界面下得Measurement标签栏
5、仿真
在拓扑上各元件得参数设定以后以及仿真参数设定以后,即可以进行仿真。
仿真可以点击工具图标或执行命令Analyse/Simulation。
仿真完成后,根据设置得仿真模式与仿真次数,在下面得Result栏中就会显示出相应得仿真结果数据。
右击某一个数据后选择ViewWaveform,就可以进入Sigwave界面瞧波形。
如图17所示:
双击左边波形名称中任何一个波形符号即可打开或关闭相应得波形,选中波形后还可以更改波形得颜色。
对左边得一些波形名称解释如下:
ODTAD4K3表示拓扑中D4器件K3Pin处得波形;
ODTAD4K3_buffdly表示接测试负载时K3Pin处得波形;
ODTAD4K3_buffdlyi表示接测试负载时K3Pad处得波形;
ODTAD4K3i表示拓扑中D4器件K3Pad处得波形;
注意对buffdly与buffdlyi得波形只有驱动端才有,对接收端,都只有输入端Pin与Pad得两个波形。
在波形图上打开测试负载曲线与所关心得接收曲线,同时打开Vmeas与接收端得Vil、Vih,就可以进行SwitchDelay与SettleDelay等数值实际测量,测量得结果应该与主界面Result栏中得数据一致。
图17:
波形窗口
目前,Cadence还不能从PCB预布局或PCB板图中直接抽取出差分线进行,对于差分线得仿真必须在SQSignalExplorerExpert中手工加入元件与互连线来模拟实际得板图结构来进行仿真。
手工加入元件得方法就是Edit/AddPart,即可以加入各种IOBuffer,分立得ESPICE器件,互连线(包括TLINE与TRACE)等。
6、给拓扑加约束
在仿真中,需要根据仿真结果不断修改拓扑结构以及预布局上元器件得相对位置,得到一个最优得拓扑结果,就需要在拓扑中加入约束,并将有约束得拓扑赋给板中得网络,用以指导与约束随后得PCB布线。
加约束得方法:
在SQsignalexplorerexpert主界面选择Set/Constraint,就可以在弹出得图18所示框中加入各种约束,下面分别介绍:
●在Switch-Settle栏,可以填入从各发送端到各接收端得MinSwitchDelay与MaxSettleDelay,这就是对时钟同步信号而言得,就是根据芯片Datasheet上得AC参数及公式计算得到得;
这一栏得数据对布线而言没有任何作用,它就是作为后仿真检查得参考用得;
●在PropDelay栏,填入拓扑中各个Pin到Pin、Pin到T点以及T点到T点得传输延时规则,直观地说,也就就是对拓扑中各传输线长度得限制,这一栏得规则就是最重要得规则,它将直接约束PCB得布线;
●在Impedance栏,它就是对拓扑中各段传输线阻抗得约束,约束了各段传输线得阻抗变化范围,若这一栏不填,则表示对传输线得阻抗无要求;
●在RelPropDelay栏,可以定义一些传输线得长度匹配规则,其中Scope得选项有两个:
Local与Global,Local表示只对本条Net/Xnet有效,而Global则对本拓扑对应得所有Net/Xnet在整体得长度匹配上都有约束。
●在MaxParrallel栏,它进行了平行长度得约束,即它允许在两条线得间距多大时最长能平行多长。
这就是需要进行串扰仿真后才能得到得数据。
●在Wiring栏,它约束了拓扑与网络得对应关系,注意在MappingMode中,我们一般选择PinuseandRefdes,表示在赋拓扑得时候可以通过管脚得IOBuffer类型与参考位号将拓扑中Pin与实际网络中得Pin对应起来;
对Physical中得各项主要现在线得总长、过孔数、端接长度等;
对EMI中可以限制在表层走线得最大长度;
●在SignalIntegrity栏,可以加入对信号得过冲电压、串扰电压、SSN等得限制;
●在User-Defined栏,可以输入用户自己得其她约束。
●对以上各栏中,我们用到最多得就是PropDelay,对线长有匹配需要得,也需要用到RelPropDelay,对高速信号,也需要用到MaxParallel这一栏得约束。
图18:
设置拓扑结构约束得界面
7、赋拓扑
对关键网络得拓扑仿真结束后,就可以把已经完成得拓扑赋给具体得网络。
赋拓扑得过程也就是在ConstraintManager中进行得(见图19),赋拓扑得过程如下:
●将拓扑文件输入进来,操作:
File/Import/ElectricalCSets…,把仿真完成得拓扑文件输入进来;
●将拓扑文件赋给网络,在Objects栏中选中所要得网络(可以多个选),然后选择菜单Object/ElectricalCSetsReference,在弹出得对话框中将选择相应得拓扑即可。
如果赋拓扑得过程中出错,那么它会提供出错信息。
图19:
赋加拓扑得操作界面
第五章布局布线
将关键网络得拓扑全部赋完后即可将、brd文件交给PCB工程师进行布线。
在设置了约束得网络布线时,会有一个动态得小标尺出现在屏幕上以显示所布线与约束之间得区别。
当布线满足约束条件时,小标尺显示为绿色,当布线不满足约束条件时,小标尺显示为红色,并可通过显示得红色数字得正负号表示出布线就是超过最长布线长度还就是小于最短得布线长度。
这种实时动态得显示可以使PCB工程师随时对布线进行调整以达到最佳得布线情况