模型仿真培训教材.docx
- 文档编号:6137797
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:13
- 大小:41.26KB
模型仿真培训教材.docx
《模型仿真培训教材.docx》由会员分享,可在线阅读,更多相关《模型仿真培训教材.docx(13页珍藏版)》请在冰豆网上搜索。
模型仿真培训教材
IBIS模型培训
要点:
模型的概论
模型的分类
模型的基本理论
模型的检查
连接器和过孔的模型
一.模型的概论
仿真的第一步离不开IBIS模型的收集,下面是关于模型的一些基本知识:
模型产生的流程:
模型的转换工具:
上图中的IBIStoDML的转换的工具已经整合到Cadence的仿真工具中,DML是指DEVICEMODELLanguage
模型的精度:
模型是否能够准确反映器件BUFFER的工作状态,直接关系到仿真的准确性,因此模型内部的检查是必须的:
下面是一个模型的BUFFER的图与实际测量的结果对比:
(二)模型的分类:
模型的分类方式有两种:
以文本格式的分类和以器件类型的分类
以文本格式的分类:
SPICE(典型的晶体管模型)同类的模型有PSPICEHSPICE
IBIS(行为极的模型)
器件类型分类的模型:
DEVICEMODEL
IOBUFFER(Drivereceive)
Discretedevice
Boardmodel
INTERCONNECTMODEL
Transmissionline
Connector
Cable
Package
Via
IBIS模型的定义:
IBIS模型的作用:
SPICE模型与SPICE模型的比较:
三.IBIS的基本理论
IBIS模型的几种等效电路:
IBIS模型版本的区别
IBIS版本的时候,仅仅只是CMOS的电平无边沿控制,对于高速芯片的由电平的上升沿及下降沿控制的电路,显然不适用。
IBIS模型版本最主要增加包括ECL的多总线支持,终端和漏极开路模型,差分I/O及复杂包装参数定义。
模型3。
2版本主要增加的是FBGA的PIN模型选择,及多级驱动和动态箝位(所以特别注意的是当你拿到厂家给你的模型,首先要检查模型的版本信息,当然观察模型的曲线,版本越高级,曲线的精度越高,但是可能有些芯片的IBIS模型版本没有升级到那麽高,但是也要看是否可用,比如我这次有一个器件的模型中Buffer的类型是差分I/O,但是供应商给的版本是,模型中没有定义差分的关键字,由于差分模型是在以上版本才有,所以就必须和厂家联系重新给你更新版本的IBIS模型。
还有如果板上有FBGA器件也应该使用版本的IBIS模型,因为只有这个版本的模型才有FBGA的PIN模型的选择。
E0所以了解器件的特性,才能一开始就向厂家素要正确版本IBIS模型。
,由于器件的特性,并不是个版本的模型所增加的内容,都得到体现)
拿到模型后,预先要熟悉的信息:
文件头
文件头包含有关于IBIS版本、文件名以及资料来源、修订等信息。
下面是文件头的例子。
图2-2是文件头的示例。
[IBISVer]
[FileName]
[FileRev]
[Date]10/24/00
[Source]xyzdatebook
IBIS文件头需要下列关键字:
[IBISVer]——本文件的IBIS版本。
[FileName]——IBIS的文件名(文件名不多于80个字母,包括注释在内)
[FileRev]——IBIS文件或模型的修订级别。
下列关键字在IBIS头部分为可选项:
[CommentChar]——用于改变注释符。
默认的注释符为管状线(|)。
[Date]——文件创建日期。
[Source]——模型数据的来源。
[Note]——涉及到文件及元件的相关信息。
[Disclaimer]——任何法律的放弃。
[Copyright]——任何版权信息。
元件描述
在IBIS文件元件描述包含有从数据手册中得到的元件引脚、封装电特性等信息。
在此部分中可定义管脚到缓冲器(模型)的映射。
[Component]256Kx16_4M
[Manufactuer]Motorola
[Package]
|typminmax
R_pkg100m40m200m
L_pkg
C_pkg
|
[Pin]signal_namemodel_nameR_pinL_pinC_pin
1DQ/io_exNANANA
2DQio_exNANANA
…
44ANCNANANA
图2-3:
元件描述部分
在元件描述中IBIS需要下列部分关键字
[Compoent]——标志元件描述的开始,为元件定义一个唯一的名字。
一般推荐使用标准名称作为元件名。
[Manufacture]——声明元件生产商的名称。
[Package]——包括组件导线电阻、电感、电容的变化范围,有典型值、最小值、最大值。
IBIS需要典型值,它必须在最小值和最大值前说明。
[Pin]——将引脚号映射到信号名和模型名上。
IBIS需要信号
注意的是:
[FileName]和[Compoent]的名字可以不一样的,但是[FileName]后的文件名必须是小写,而且必须与IBIS模型的名字完全相同。
模型描述中关注的参数:
注意的是Tco的测量是时序测量的条件:
Cref,Rref,Vref,是芯片内部的负载,我们在仿真参数的选择的时候,如下图:
FromLibrary的选择是考虑到了芯片的负载上的传输延迟,而ONthedelay是没有考虑芯片内的负载的。
而我们在计算SWICHDELAY和settledelay的时候,必须考虑芯片的负载。
模型的内部电路9
上图中,左边的电路为INPUT电路,后边为驱动电路,其中的驱动电路中,PULLUP及PULLDOWN的结型场效应管,不同的电路模型中,可以有不同,可以是上面为P型MOS,下面是N型MOS,也可以反之。
所以不同的PULLUP及PULLDOWN的电路波形可能是反向的。
典型的三态电路如下
上图是一个I/O模型,通过Input及Enable电平变化来实现两个MOS管的导通和截止,输出不同电平测量V-I曲线,三态时,IBIS仅需要四个设定的I-V关系曲线,一个是下拉接通(输出为低)的关系曲线,另一个是上拉接通(输出为高)的关系曲线。
下拉的I-V关系数据以地为参考源定义为[Pulldown],上拉的I-V关系数据以器件供给正电源为参考源定义为[Pullup]。
当不使能时,两管截止测量二极管的箝位特性,可以使用[POWERClamp]和[GNDClamp]说明二极管的钳位特性。
当信号电压高于器件的电源电压时为电源钳位[POWERClamp],信号电压低于参考地时为地钳位[GNDClamp]。
而对于这四个设定I/V曲线有分别在MIN,MAX,TYP测量情况,因此3-states有12条I/V曲线设置。
OutputOnllyBuffer
在这种模型中,IBIS仅需要两个设定的I-V关系曲线,即上拉MOS管导通,或下拉MOS管导通时,测量的Pull-down和Pull-up的I-V曲线,同样它们也MIN,MAX,TYP测量情况,因此Output的模型应该有6条I/V曲线设置。
这种模型需要使用C_comp说明驱动器的管芯电容。
Output模型中逻辑状态的转换(低到高或高到低)与下图所示的线性斜率近似。
斜率不包括封装影响,只包括驱动电容的影响。
[Ramp]描述了两个参数,dV/dt_r说明上升时间,dV/dt_f说明下降时间。
dV/dt_r–dV是信号上升沿由20%至80%的幅度范围,dt_r是指此上升范围所用的时间。
dV/dt_f–dV是信号下降沿由80%至20%的幅度范围,dt_f是指此下降范围所用的时间。
R_load–确定斜率的测试负载。
对于上面的V/T曲线只有I/O,三态和Output的模型才有,而斜率的测试负载R_load一般是50om,如果驱动能力差,那麽50欧姆可能不满足要求,那麽会加入更大一些的电阻,来提高驱动能力。
而对于后面提到的OpenDrain或是ECL类型的Buffers,负载电阻和电压是特定的。
InputBuffers
一个Input模型与其它基本IBIS模型的区别仅在模型部分不同。
Input有两个I-V关系曲线的集合,一个是地钳位,一个是电源钳位。
汇集的地钳位数据
指信号电压相对于参考源地的电压电流关系数据;汇集的电源钳位数据指信号电压相对于参考源供电电源的电压电流关系数据。
仅在器件中有钳位特性时,IBIS需要电流输入表建模。
IBIS需要C_comp参数描述接收器的管芯电容。
对于所有的Input模型,IBIS需要Vin1和Vin2参数,这两个参数描述了缓冲器的开关阀值电压。
同OutputBuffer模型一样也6条I/V曲线设置。
OpenDrainBuffers
一个OpenDrain模型有三个I-V关系曲线的集合,一个是一个是下拉接通(输出为低)的关系曲线(Pull-down),一个是地钳位(Gndclamp),一个是电源钳位(Powerclamp),由于OpenDrainBuffers没有接上拉MOS管,所以没有Pull-up的I/V曲线,同样它们也有在MIN,MAX,TYP测量情况,所以共有9条I/V曲线设置。
上面所描述的模型都是TTL类型的,它们的驱动方式是行为极,主要通过CMOS的导通和关断方式来完成。
而这种模型的扫描电压范围是-Vcc到 2*Vcc.但是对于OpenDrainBuffers的扫描电压范围不是由内部的工作电压决定的,而是由外加的上拉电阻的电压决定,所以它的扫描电压范围是V-ref到2Vref
对于Pull-up和Powerclamp的数据是与内部工作电压Vcc相关的,当Vcc变化时,扫描范围也是随Vcc变化的。
如下数据是很多IBIS模型中经常可见的,如一个器件的工作电压为+/-10%,因此扫描的范围是
typminmax
tototo
一般情况下,扫描电压的范围在-Vcc到2*Vcc.但是在混合电压的情况下,我们应该使用大的电压值做为扫描范围。
如一个电压为容余最大值为5v的Buffer,那它的扫描范围在-5vto+10v.
OpenDrain器件的扫描范围是由外接上拉电阻的电压决定的,与内部的工作电压Vcc无关,扫描电压的范围在-Vpullupto2*Vpullup.同时还要注意的模型中的[Pullup]和[POWERClamp]中的电压值[Pullup]和[POWERClamp]中的电压值V是相对于电源的,即V=VDD-VOutput;而[Pulldown]和[GNDClamp]中的电压值V是相对于地的,即V=VOutput。
图表中电流Itable的方向,规定流入器件的方向为正,流出为负。
终上所述模型的定义有模型名、模型类型、C_comp、DC参数或时序参数、V/I数据表(包括Pullup、Pulldown、POWERClamp和GNDClamp)、Ramp数据表(包括测试的温度范围、电压范围、dV/dt,以及参考负载R_load)和V/t数据表(通常给出4个Waveform数据表,即参考电压为供电电源时的RisingWaveform和fallingWaveform数据,以及参考电压为地电平时地RisingWaveform和fallingWavefor,同时每个数据表还常常给出了参考负载R_fixture[5])等信息。
模型类型可以是Output,Input,3-state,Output-Ecl以及Open-drain等I/O属性。
模型类型的I/O属性不同,对DC参数或时序参数以及数据表要求的内容也不同。
以模型类型是Input为列,只需要DC参数Vinh和Vinl值,以及V/I数据表的POWERClamp和GNDClamp数据。
而模型I/O类型,除DC参数Vinh和Vinl,还需要时序参数Vmeas,Rref,Cref和Vref,以及完整的V/I数据表、Ramp数据和V/t数据表等信息。
需要说明的是,对于Output类型的模型,该部分中时序参数Vmeas,Rref,Cref和Vref是必须的,而Vinh和Vinl不要求。
我们可以举列对上面的模型电路进行进一步解释:
下面模型的波形是上研所提供,模型文件名为如图所示
分别抽取的模型名为输出模型OUTB,和输入模型输入ING
[PULLUP]波形如下:
[PULLUP]和[POWERGLAMP]时,记住在分析电路的驱动电压时,Vout=Vcc-Vtable,所以上图对应的-3。
3V,在实际电路中,应为6。
6V左右,电压应反向分析。
而且模型中一定会提供电源电压Vcc,的值,理论上[PULLUP]的扫描电压应是-Vcc到2Vcc,但不排除,有些模型的电压范围没有完全包涵,或超过扫描范围。
上面的就是电压范围不够。
但是在这个范围内取样点足够也是可以的。
上面的曲线,我们可以看出在对应的时,电流最大,当正向电压逐渐降低时,电流减小,所以可以判定,上拉的MOS管为典型N型MOS管正向电压导通。
电流为正。
下面是对应的[PULLDOWN]的波形:
从上面的波形,我们可以看到,导通后,当电压为-3。
3v时,对应的电流为最大,当负向电压减小时,电流值减小,所以是很明显的P型MOS管福向电压导通,电流方向为负。
[PULLUP]及[PULLDOWN]对应的波形状况,取决于不同类型的MOS管,这里没有一个固定的规律可寻。
下面是输入模型对应的[POWERGLAMP]和[GNDGLAMP]
[POWERGLAMP]
[POWERGLAMP]的时候,两个MOS管截止,输入电压高于电源电压,产生电源嵌位。
同样的电压分析,要反向分析。
图上电压-3。
3V对应实际电压为6。
6V,当外接电压为最大6。
6V时高于电源电压,上面的二极管正向导通,电流流向由高电势向低电势,电流流进为正。
当电压减小时,与电源电压的差值减小,电流越小,是很典型的二级管正向导通特性。
[GNDGLAMP]
可以看到当[GNDGLAMP]时,外接电压小于地电平的时候,下面的二极管正向导通,对地电压越小,从地电平向外流的电流越大,因此方向为负。
当电平高于地电位后,二极管截止,电流趋向为零。
对于V-I曲线,我们分析的就是MOS管和二极管的特性,当你分析[PULLUP]和[PULLDOWN]的时候,要分清的是接的什麽类型的MOS管,P型和N型是正好反向的。
而[POWERGLAMP]和[GNDGLAMP]的波形是有规律的,因为两个二极管的连接方式是固定的。
[POWERGLAMP]单调递减,[GNDGLAMP]单调递增。
可能有些模型的波形不是太好,但嵌位的特性是不变的。
(四)模型的检查
IBIS模型文件中基本问题的检查
模型文件整理中的最基本的问题如下:
1)“tab”转“space”。
仿真时,CADENCE要将标准的IBIS模型文件(.ibs文件)转化.dml文件格式,由于CADENCE对.ibs文件中字符串之间的间隔只认识“space”形式的,对于tab形式的,在转化时将出错[5]。
所以整理模型的第一步工作是将整个文件作一次由“tab”→”space”的转化,以排除.ibs文件中可能出现的’tab”形式的空格。
推荐的文本编辑软件为UltraEdit32。
2)物理量单位的检查。
IBIS标准支持国际单位制,支持十进制记数法和科学记数法。
注意电阻的单位符号Ω是用ohms表示的,另外μ用u代替。
文件头部分的检查
主要是检查由关键词[Filename]定义的文件名是否与存在磁盘中的模型文件名一致,若不一致,CADENCE转化此模型时会报错。
另外此文件名的首字母不能大写(磁盘中的文件名无所谓),否则也会报错的。
封装描述部分的修改
主要是修改由[Component]定义的器件名,使之与原理图库中由default_signal_model定义的内容一样;R_pkg、L_pkg或C_pkg的取值范围是否按“typ”,“min”和“max”的顺序排放,如表2所示。
文件中其它各处的物理量或数据的“typ”,“min”和“max”数据也应按上述顺序排放,否则要予以调整,下面不再赘述。
需要注意的是,“min”和“max”的值可以缺省,用NA表示,但“typ”值是必须的。
4.4管脚描述部分的检查
检查文件中PIN的定义是否与datasheet一样,检查同类pin是否被定义为同一模型名。
而来的,其中某些pin的信号的命名与实际不符,少数几个pin的所属模型名有出入。
4.5模型类型描述部分的检查
主要是检查模型检查DC参数或时序仿真参数、电压范围、温度范围以及各数据表是否正确或异常。
下面分述之。
DC参数或时序仿真参数的检查
对于Input类属性的模型,DC参数Vinh和Vinl是必须的,若文件中缺失,应该补上,它们的值可分别由datasheet提供的Vinhmin和Vinlmax得到。
如表4所示的INP模型。
对于Output类属性的模型,时序参数Vmeas,Rref,Cref和Vref是必须的,若缺失,应补上。
其中,
Vmeas—─输出电压测量参考值;
Rref—─测试电路的负载电阻;
Cref—─测试电路的负载电容;
Vref—─测试电路的负载参考电压
上述参数也可从datasheet中关于AC特性表格的负载条件上查到,有时这些参数只在AC特性表格下面的Notes中说明,因此需要仔细阅读datasheet;有时Rref,Cref和Vref也可以从测试电路中获得,图3和图4所示是两种比较典型的测试电路。
由图3可知:
Cref=30pF,Vref=0V,由于测试电路中没有电阻,可认为是高阻,故Rref=1MΩ。
由图4可知:
Rref=50Ω,Vref=,由于电路中没有电容,故Cref=0pF。
一般而言,Vmeas的典型值为VDD/2,当无法从器件的datasheet上查到确定的Vmeas时,可将Vmeas的值设为VDD/2进行仿真,不过,仅作权宜之计,本文作者不推荐这么做。
检查电压范围、温度范围的检查
IBIS模型文件给出的测试电压及温度范围有时与datasheet中的不一样,这时需要根据datasheet予以更正。
检查数据表的检查
主要是检查V/I数据表,即[Pullup]、[Pulldown]、[POWERClamp]和[GNDClamp]数据表,Ramp数据表,以及V/t数据表中数据的合理性。
[Pullup]和[POWERClamp]中的电压值Vtable是相对于电源的,即Vtable=VDD-VOutput;而[Pulldown]和[GNDClamp]中的电压值Vtable是相对于地的,即Vtable=VOutput。
表中电流Itable的方向,规定流入器件的方向为正,流出为负。
通常,V/I数据要求单调,具体办法有三中:
一是在模型文件中直接检查数据;二是借助CADENCE的SPECCTRAQuest通过观察V/I曲线来实现;三是利用SPECCTRAQuest转化.ibs文件为.dml文件时,阅读转化信息的message文件,该文件的”warning”会指出非单调点。
在初步的模型检查中,大多采用第一种方法,若发现有异常的数据,则一般根据物理规律加以修改,或去掉。
V/I数据的非单调点一般不会影响.dml文件的成功转化和仿真,但是在仿真时模型不收敛或稳态电压值不正常时,才需要认真地检查和推敲非单调点。
V/t数据表可以使仿真时上升和下降波形更加准确,其出现应该成对[5],即[RisingWaveform]和[FallingWaveform]在文件中成对出现。
一般应特别注意它的时间起点是否从0开始,否则进行.dml转化时会出错。
V/t数据也会影响稳态电压值的。
V/t数据表在文件中可以删掉,不过作为描述上升沿和下降沿特性的Ramp数据表是必须有的。
V/t数据表更准确些。
模型格式的转化
CADENCE仿真用的IBIS模型是CADENCE专用的.dml文件格式,因此需要将标准的.ibs文件转化为.dml文件,具体办法可以采用如下步骤:
进入SPECCTRAQuest环境→点击按钮LIB,进入signalanalysislibrarybrowser窗口→点击按钮Ttranslate→点击按钮ibis2signoise,进入文件选择窗口→选择要转化的.ibs文件→选择保存.dml文件的目录和文件名→点击按钮ok。
转化结束后,SPECCTRAQues还会提供一个message文件,说明该IBIS模型中的一些问题。
Error是一定需要修改的,而warning中的大部分是可忽略的,但有些是需要修改的。
在仿真过程中发现模型有问题时,可仔细分析warning,从中可得到很多帮助。
模型收敛性的验证需要利用该模型进行仿真,具体的仿真步骤可以参考CADENCE的help文件。
在仿真时,经常会出现不收敛的情况,原因有很多,这时应该首先根据提示,打开工程下的tlsim文件,查看是在DC阶段还是transient阶段出的错,如在DC阶段,可检查V/I数据表中各组数据以及V/t数据有无异常,该有的直流偏置有没有加;如在transient阶段,还可尝试通过修改仿真的分辨率、匹配电阻的大小、传输线的长度等来解决。
稳态电压值的检查也需要进行仿真。
一般在typical时,稳态电压值应为接近VDDtyp,fast时接近VDdmax,slow时接近VDdmin。
稳态电压值偏离正常值一般是V/I数据表中各组数据以及V/t数据的异常造成的。
这时需要针对message文件提供的warning信息,逐个检查,修改和去掉异常数据。
有时删掉部分或全部V/t数据可以立竿见影地解决上述问题,不过代价是仿真波形的精确性受影响。
正常的V-T曲线举列:
我们看到上升和下降曲线,在一段时间后,电压会收敛在一个值附近。
下面是一个不收敛的模型举例:
另一方面是模型中的数据问题,由于V/I和V/T曲线的非单调性或者数据的错误,造成仿真器不收敛,不同的仿真器对非单调性的允许程度不同。
在分析过程中若出现仿真器不收敛,应该检查模型的V/I和V/T曲线的非单调性,在无法获得更好的模型的情况下,可以采用屏蔽数据错误或非单调的曲线部分的方法,以得到参考的仿真结果。
例如,我们曾对MPC860的时钟网络进行信号完整性分析时就遇到不收敛问题。
网络的电路示意如下:
图11:
MPC860的时钟网络示意图
MPC860的时钟通过一个串阻驱动两片SDRAMKM416S4030和一片FPGAFLEX10K30E。
完成PCB布线后,该网络的拓扑如图12。
在做分析时仿真器报告如图13的不收敛错误。
分析MPC860时钟860CLK的模型,发现该模型的上升沿和下降沿的V/T曲线存在严重的非单调性和数据错误。
上升沿和下降沿的V/T曲线分别见图14、图15。
图12:
MPC860的时钟网络拓扑
图13:
不收敛错误报告
图14:
原860CLK的上升沿V/T曲线
图15:
原860CLK下降沿V/T曲线
从图14、图15显而易见原860CLK的上升沿和下降沿V/T曲线存在问题。
由于无法获得更准确的模型。
我们采取将上升沿和下降沿V/T曲线屏蔽掉的措施。
得到50MHZ时钟的仿真结果如图16。
图16:
仿真结果
使用TEKTDS3032300MS示波器在实际在PCB板上测得的波形读入仿真的SigWave中的效果见图17。
将仿真波形与实测的波形叠加比较效果见图18。
由图可见,定性的来说,仿真波形与实测波形比较接近,仿真结果具有参考价值。
两种结果存在一些偏差,造成偏差的原因可能来自三个方面:
一是,模型本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 仿真 培训教材