微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 信号完整性分析 > 信号完整性分析讨论 > SpecctraQuest/Sigxplorer仿真指南

SpecctraQuest/Sigxplorer仿真指南

时间:10-02 整理:3721RD 点击:
2.1.1  获取元件的IBIS模型
SPECCTRAQuest和任何其他电路分析软件一样,要得到精确的仿真结果,必须给电路元件提供准确的电气模型。这些模型可能是由元件的制造商提供,也可能设计者按照一定的条件下的测试结果以正确的格式制定出来。一般情况下,我们无法得知元件的测试结果,所以我们需要获得由元件制造商提供的模型。
通常我们在SPECCTRAQuest中使用的是元件的IBIS模型。必须明确,选用任何不同厂商提供的相同型类或不同类型的元件,都必须找到此元件对应的IBIS模型。一旦选择的模型不正确,那么此后的任何分析仿真都是毫无意义的。在某些不得已的情况下,例如无法找到某一元件对应的IBIS模型,我们可能使用类似的元件模型来进行仿真,以得到近似的仿真结果。但是我们仅能验证大多数情况下相似的模型能得到相似的波形,却无法排除出现不相似波形的可能性。
2.1.2  转换IBIS文件格式及调入模型
进入SPECCTRAQuest,并打开需要分析的“.brd”文件。
SPECCTRAQuest 仿真工具虽然不是直接读取IBIS文件,但它能将IBIS模型能转换为软件本身支持的dml格式进行调用。具体操作步骤为:
在SPECCTRAQuest界面下,点击Analyze->SI/EMI Sim->Library;弹出的窗口的右下方有一个“Translate”功能按键,单击选中“ibis2signoise”,在目录路径里选择你想转换的Ibis模型文件,转换完成之后可以在你的library browse里看到相应的dml文件。如果已经存在转换好的dml文件,也可以通过单击“Add Existing Library->”,在目录路径里直接添加相应的dml文件。

2.1.3  给元件加载对应的模型
这一步的目的是将各模型加载到相对应的元器件上,具体步骤是:
a.        在SI/EMI Sim菜单下选择model assign;
b.        这时会出现Signal Model Assignment窗口。 选中元器件,点击Find model;
c.        在出现的Model Browser窗口中选择你所需要的模型即可。其中Show Model From一栏可选择模型所在的库,Model Type Fitter一栏可选择模型的类型,而Model Name Pattern输入“*”即可显示在所选择的库和类型中所有的模型。有些元件,比如电阻、电容等无源器件,需要自己建立模型,点击create model(对于无源器件选择Espicemodel,其他I/O模型用IBISdevice模型),然后按提示输入value及各管脚的功能即可,同时可以存盘生成*.dat文件,这样以后进行仿真时直接load即可,可避免重复上述过程。

2.1.4  定义电源电压
这里的电源也包括地。只有定义了电源电压和地电平,才能在提取拓扑结构模型时将电源的模型调出来。这一步骤对于前后仿真而言都不是必需的,只要所需仿真分析的信号线中与电源和地均没有关联。具体操作步骤为:
a.        在SPECCTRAQuest中选择Logic->Identify DC Nets;
b.        这时会出现Identify DC Nets对话框,选择电源信号,在Voltage一栏中填上对应的电压,并确认(“OK”或“Apply”)即可。

2.1.5  PCB叠层设置
通过调整PCB的每一层的物理厚度和走线层的线宽,使PCB各层上的走线的特征阻抗符合设计的要求,以确保仿真结果的精确性。具体操作步骤为:
a.        在SPECCTRAQuest中选择Setup->Cross-section或快捷按钮
b.        这时会弹出Layout Cross Section对话框。此对话框中,可以添加或删除叠层,也可以更改每一层的类型、材料、厚度、电导率、介电常数、线宽、特征阻抗等参数。一般而言,PCB叠层的数量和顺序以及每一层的类型、材料、电导率、介电常数等已经确定了,需要按照给定的要求设置。而为了达到要求的特征阻抗,对于前仿真,一般调整的是线宽(一定的范围内)和介质厚度,对于后仿真,由于走线已经结束,能调整的主要就是介质的厚度。
另外,我们在使用Cadence PSD 14.2版本做叠层设置时,常常会出现程序的不正常退出,这可以通过使用Script指令代替手工设置来解决
2.1.6  仿真参数的确定
在进行仿真前,需要对各种不同的仿真参数进行设定,以使仿真结果能够更精确的反映设计者的要求。当然,如果需要的话,仿真分析过程中也可以调整仿真参数。具体操作步骤为:
a.        在SPECCTRAQuest中选择Analyze->SI/EMI Sim->references(或是在Sigxplore中选择Analyze->references);
b.        这时会弹出Analysis Perferences对话框。这里可以设置的参数包括器件模型参数,互联模型参数,仿真设置参数,单位,EMI参数和电源完整性参数等。其中常用的大致有:仿真的周期数(measurement cycle),时钟频率(Clock frequency),占空比(duty cycle),偏移量(offset),固定仿真时间(fixed duration),波形取样时间(waveform resolution), 截止频率(cutoff frequency),仿真模式(FTS mode),驱动激励(drive excitation),测量模式(measurement mode)等等。一般可以使用默认值,各人根据自己的要求进行个别调整。

2.2  设计后仿真的过程
由于设计后仿真更为普遍,其执行过程也更为公式化,所以在此我将后仿真的过程提到前面来阐述。
2.2.1  确定准备工作已经做好
一般来说,做仿真前还是先检查一下准备工作是否做好了,否则当仿真做到一半,才发现原来叠层没有设置(还是默认的),或者有哪个模型没有设置正确,先前做的仿真就白费了,一切只有重头来过。
2.2.2  选择信号线
在Signal Analysis对话框里选择需要仿真的信号线。其实Signal Analysia对话框中有很多比较有用的功能,稍后会讲到。具体操作步骤为:
a.        选择AnalyzeàSI/EMI SimàProbe(或者快捷键 ),这时会出现Signal Analysis对话框。在Net一栏中填入*,这样所有的net会出现在左方的框里,用户可以选择其中任一信号线进行仿真。当然,也可以通过点击List of Nets,调入已存在的网表文件(网表文件可以通过在SPECCTRAQuest中选择Logic->Create List of Nets创建),或点击Net Bowser,选择自己所希望显示的Nets。
b.        在Driver Pins,Load Pins,和Other Pins中,会按输入输出关系分类显示所选中的Net的管脚。但这不是必然的,是否能显示Net的管脚在对应的框里,取决于在做原理图的器件封装时是否准确器件管脚类型;或者,设计者也可以在SPECCTRAQuest的Logic->in Type中编辑各器件的管脚类型。
2.2.3  提取电路拓扑结构
这是我们后仿真中最常用的方式,选择目标Net,提取它的拓扑结构,进入Sigxplorer中分析仿真。具体步骤为:
a.        在Signal Analysis对话框中选择好目标Net后,点击右下方的View Topology。这时SPECCTRAQuest进入Sigxplorer,并在Sigxplorer界面中显示所提取电路的拓扑模板。所以,我们也可以把View Topology按键当作连接SI Expert和Sigxplorer的桥梁。
b.        观察提取出来的电路拓扑模板是否正确。由于某些我们尚未明了的原因,偶尔会出现仅仅提取出电路上各元件的模型(驱动器,接收器,传输线等),但没有这些元件的连接关系。个人猜想可能是过孔(Via)模型不全或是PCB设计中过多使用任意角度走线的缘故。
c.        在Sigxploer界面,电路拓扑模板的下方,是一个电子表格。这个电子表格有几栏,分别是Parameters,Measurements,Results和command,点击它们就会在表格中显示对应的模块。
2.2.4  选择不同的驱动激励和元件参数进行仿真
分析仿真应该在设计者要求的设置环境下进行,Sigxplorer提供了多种驱动激励模式,以及各种元件比较细致全面的可编辑的参数,而且还允许参数扫描分析。对于目前我们后仿真的设计要求,Sigxplorer提供的功能是强大而有效的。具体步骤为:
点击此电路驱动源的上方第二行白字“TRISTATE”,会出现如下窗口:
在此窗口中给驱动源选择正确的驱动模式(我们通常激励类型选为Pulse,脉冲激励),某些模式参数如需更改需要在Analyze->references中进行。
如果需要对传输线模型和电路上一些例如电阻电容的元件的参数进行调整,可以点击此元件的第一行文字,即元件名,这时Sigxplorer的电子表格会自动跳到Parameters一栏,并展开此元件的所有参数;
然后根据需要在电子表格中更改参数的值。
参数设置完毕后,选择Analyze->Simulate或快捷按钮 执行仿真。这样Sigxplorer的电子表格界面会自动跳到Results一栏并显示仿真结果,而且在没有执行参数扫描仿真的情况下(即所有参数都是某一个定值),还会自动调入SigWave显示仿真结果的波形。
2.2.5  仿真结果的分析
对于仿真结果,以反射分析为例,
它包含的信息有:SIM ID(模拟的次数),diver(驱动源),receiver(接收端),cycle(测量的周期),FTS MODE(仿真模式),monotonic(单调性),Noise Margin(噪声裕量),overshoothigh(上过冲),overshootlow(下过冲),PropDelay(传输延迟,驱动端到接收端),switch delay(开关延迟),settle delay(建立时间)等。而很多的情况下,我们更看重以SigWave显示的结果波形图,可以结合波形图一起分析。一般要求噪声裕量足够大,上冲和下冲不要超过规定电压,没有明显的振铃现象,波形没有严重失真,波形上下升沿要保持单调性等等。但对于不同的电路,有时对于传输延迟时间的长短,或者上升时间的快慢有特别的要求,这就需要设计者具体问题具体分析了。
2.2.6  SigWave的使用
SigWave波形显示器的作用是把仿真结果(其实就是一种电子数据表文件)以波形图的形式直观的显示出来。SigWave支持多种格式的仿真结果输入,例如Hspice、Quad等;同时也可以将当前波形存为.sim格式文件或以Bitmap(位图)、JEPG等图形格式及Spreadsheet表格文本格式输出。对于显示功能而言,SigWave也是比较强大而易用的,波形的缩小和放大、显示和隐藏,测量标记和注释的添加和删除,显示颜色的更改等等,都能够轻松实现,还提供了诸如频谱图、眼图等显示模式。

2.2.7  后仿真的收尾工作
当在Sigxplorer中完成一条Net的仿真,可以关闭Sigxplorer程序再退回到SI Expert中。如果想仿真新的信号,并和前面的信号仿真波形在同一个示波器窗口比较,则可以通过窗口切换,在SI Expert的Signal Analysis对话框中选择另一Net并提取,出现提示时选择“Yes”,这样新的结构被提取的同时,示波器窗口不会被关闭。但有的时候,这样做会造成Sigxplorer中造成模型混乱而导致新Net拓扑模板的仿真无法进行,这大概是SPECCTRAQuest的一个Bug。
在关闭Sigxplorer之前,出于为方便仿真报告的撰写和以后查证等方面考虑,一般需要把提取出来的拓扑模板以.top的文件格式存盘,连同.sim格式图形格式的波形文件储存在易于查找和管理的地方。

[此贴子已经被阿鸣于2002-10-29 0:14:34编辑过]

请问小编有没有作过差分传输的信号分析,或者多板仿真的信号分析?
IBIS模型的语法规范是不是不支持差分传输的定义?请小编指点迷津。

IBIS支持差分对的定义,语句格式为:
[Diff_Pin]  inv_pin  vdiff   tdelay_typ  tdelay_min  tdelay_max
|
| The '+' pin is   Diff_pin,   the '-' pin is the   Inv_pin
|
| Receiver Pins  |  Receiver Vth = +/-200mV
13          14        0.2    0ns         0ns         0ns     | CLK  / CLK-   
36          35        0.2    0ns         0ns         0ns     | FBIN / FBIN-   
|                                                      
| Driver Pins    |  Rload = 60 OHM to VCC/2 termination
|
32          33        NA     0ns         0ns         0ns     | FBOUT / FBOUT-  
3           2         NA     0ns         0ns         0ns     | Y0 / Y0-     
5           6         NA     0ns         0ns         0ns     | Y1 / Y1-     
10          9         NA     0ns         0ns         0ns     | Y2 / Y2-     
20          19        NA     0ns         0ns         0ns     | Y3 / Y3-     
22          23        NA     0ns         0ns         0ns     | Y4 / Y4-     
46          47        NA     0ns         0ns         0ns     | Y5 / Y5-     
44          43        NA     0ns         0ns         0ns     | Y6 / Y6-     
39          40        NA     0ns         0ns         0ns     | Y7 / Y7-     
29          30        NA     0ns         0ns         0ns     | Y8 / Y8-     
27          26        NA     0ns         0ns         0ns     | Y9 / Y9-

谢谢小编的回复。
不过,我从网上下载的有关Cadence的资料上阐述的观点让我有些疑惑。这些资料说明了Cadence的SQ可以用来做差分传输的分析(计算上升或下降沿的延时),但是同时指出IBIS模型并不能完全的支持这方面的计算,需要使用SQ对它的有关参数定义进一步的指定。我依照它图样上提供的有关示例进行了几次简单的仿真,但每一次都出现了错误。
我开始调用National Semiconductor公司提供的差分器件的原始模型仿真,可是没有成功;
后来按照说明进行了相关参数的指定,但是仍旧出错,无法显示Sigwave。我采用的是最简单的点到点连接,即从发送端直接到接收端的连接方式,可以抽取网络拓扑,但是无法进行仿真,郁闷中...............
[upload=gif]uploadImages/200210309322871278.gif[/upload][upload=gif]uploadImages/200210309323848124.gif[/upload][upload=gif]uploadImages/200210309325747858.gif[/upload][upload=gif]uploadImages/200210309331388536.gif[/upload][upload=gif]uploadImages/200210309333469858.gif[/upload][upload=gif]uploadImages/200210309335173800.gif[/upload][upload=gif]uploadImages/20021030934422650.gif[/upload][upload=gif]uploadImages/200210309342271310.gif[/upload]

提示什么错误?

用cadence的SigXP做差分线的拓扑分析遇到的问题
用cadence的SigXP做差分线的拓扑分析时,对指定了信号模型的收发两个驱动芯片,在生成观察信号波形的过程中出现了错误提示,具体内容如下,哪位大虾来诊断一下是什么原因造成的:
* WARNING: Convergence Problem detected *
*********************************************
Solution did not converge during dc initial analysis
No of iterations = 41
Time = 0
Max Residue = 240.076
Matrix Size = 12
*** ABORT: DcInit Convergence Problem Is Severe***
Since there are bhvr models try the following options
Multiple Options are okay
-BhvrDcModifyNewtonOff
-BhvrConvertVIToCondOn

请小编过目,麻烦小编了

好像是说数据收敛性的问题,你先用IBSI模型编辑器进行语法检查,换其它的IBIS模型还是同样的提示错误吗?我在Sigxplorer里面提取差分对没见到这个错误,只是Cadence在仿真差分对的时候,会由于上升和下降沿的起点偏移,造成交点偏低,要解决这个问题,需要对IBIS模型进行处理,设置一定的offset量,比较复杂,如果用Quad模型转入就不会出现这个问题。

好像是说数据收敛性的问题,你先用IBSI模型编辑器进行语法检查,换其它的IBIS模型还是同样的提示错误吗?我在Sigxplorer里面提取差分对没见到这个错误,只是Cadence在仿真差分对的时候,会由于上升和下降沿的起点偏移,造成交点偏低,要解决这个问题,需要对IBIS模型进行处理,设置一定的offset量,比较复杂,如果用Quad模型转入就不会出现这个问题。

我再试试看吧,多谢小编!

小编,我还是没有能够完成仿真;
你说的QUAD2SIGNOISE的模型我在哪里可以找到呢?
再就是你能不能上载一份可以进行仿真的TOP文件给我呢?谢谢小编了........

请问小编这个软件哪里可下载?我感激不尽!

不知有那位大虾做过ibis模型?
我想自己测
测参数的时候,该怎么侧呢?
可是我的芯片放在pcb外面的
不知如何加上去

最简单的拓扑提取方法是在PCB editor 约束管理器CMGR 的net列表里面选择net,右键点击Sigxplorer

然后在Sigxplorer里面修改默认模型为正确的芯片模型,即可仿真

14楼的对PCB仿真了解如何?现正对仿真郁闷中....

你再换其他厂商的差分器件模型试试,如果还有,要不就是你的仿真参数有误,要不就是你的软件有问题?。

sigxP对SDRAM的地址线仿真时错了,咋办哩?数据线仿真倒是正常的,错误信息:

Using SigNoise run directory 'E:/work/apaa/SI/ibis/sigxp.run'
Reading report definition file 'd:/Cadence/SPB_15.5.1/share/pcb/signal/reports.dat'.
Finished reading report definition file successfully.
Reading report definition file 'd:/Cadence/SPB_15.5.1/share/pcb/signal/custom_rep.dat'.
Finished reading report definition file successfully.
*Error* atof: argument #1 should be a string (type template = "t") - nil

谢谢小编

多谢小编

谢谢小编资料

thanks

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top