IBIS模型及其应用CDMA事业部眭诗菊摘要:本文介绍了用于高速系统信号完整性分析的IBIS模型的历史背景、IBIS模型的结构、IBIS模型的建模过程、IBIS模型的参数、语法格式,以及在使用IBIS模型时常遇到的问题和解决方法。关键词:IBIS模型、EDA、信号完整性、缓冲器、单调性、收敛高时钟频率下运行的并行处理系统或其它功能更加复杂的高性能系统,对电路板的设计提出了极其严格的要求。按集总系统的方法来设计这些系统的线路板已不可想象。许多EDA(电子设计自动化)供应商都提供能进行信号完整性分析和EMC分析的PCB设计工具。这些工具需要描述线路板上元器件的电气模型。IBIS(I/OBufferInformationSpecification)模型是EDA供应商、半导体器件供应商和系统设计师广泛接受的器件仿真模型。一、IBIS的背景及其发展在IBIS出现之前,人们用晶体管级的SPICE模型进行系统的仿真,这种方法有以下三个方面的问题:第一,结构化的SPICE模型只适用于器件和网络较少的小规模系统仿真,借助这种方法设定系统的设计规则或对一条实际的网络进行最坏情况分析。第二,得到器件结构化的SPICE模型较困难,器件生产厂不愿意提供包含其电路设计、制造工艺等信息的SPICE模型。第三,各个商业版的SPICE软件彼此不兼容,一个供应商提供的SPICE模型可能在其它的SPICE仿真器上不能运行。因此,人们需要一种被业界普遍接受的、不涉及器件设计制造专有技术的、并能准确描述器件电气特性的行为化的、“黑盒”式的仿真模型。1990年初,INTEL公司为了满足PCI总线驱动的严格要求,在内部草拟了一种列表式的模型,数据的准备和模型的可行性是主要问题,因此邀请了一些EDA供应商参与通用模型格式的确定。这样,IBIS1.0在1993年6月诞生。1993年8月更新为IBIS1.1版本,并被广泛接受。此时,旨在与技术发展要求同步和改善IBIS模型可行性的IBIS论坛成立,更多的EDA供应商、半导体商和用户加入IBIS论坛。1995年2月IBIS论坛正式并入美国电子工业协会EIA(ElectronicIndustriesAssociation)。1995年12月,IBIS2.1版成为美国工业标准ANSI/EIA-656。1997年6月发布的IBIS3.0版成为IEC62012-1标准。1999年9月通过的IBIS3.2版为美国工业标准ANSI/EIA-656-A。目前大量在使用中的模型为IBIS2.1、IBIS3.2版本。二、IBIS模型IBIS模型是一种基于全电路仿真或者测试获得V/I曲线而建立的快速、准确的行为化的电路仿真模型。它的仿真速度是SPICE模型仿真速度的25倍以上。人们可以根据标准化的模型格式建立这种模拟IC电气特性的模型,并可以通过模型验证程序型验模型格式的正确性。IBIS模型能被几乎所有的模拟仿真器和EDA工具接受。由于来自测量或仿真数据,IBIS模型较容易获得,IBIS模型不涉及芯片的电路设计和制造工艺,芯片供应商也愿意为用户提供器件的IBIS模型。所以IBIS模型被广泛应用于系统的信号完整性分析。IBIS模型是以I/O缓冲器结构为基础的。I/O缓冲器行为模块包括:封装RLC参数,电平箝位、缓冲器特征(门槛电压、上升沿、下降沿、高电平和低电平状态)。图1为IBIS模型结构。图1:IBIS模型结构说明虚线的左边为输入的模型结构,右边为输出的模型结构电路的输入输出行为可定义为一个简单的功能集,以便生成IBIS模型。缓冲器的主要构成部件是封装的寄生RLC参数、电源和地箝位、门槛电压以及使能逻辑、上升沿、下降沿、高电平和低电平状态、摆率(dv/dt)。输入的模型结构可以细化用图2表示。图2:输入的模型电路图其中:C_pkg,R_pkg,L_pkg为封装参数C_comp为硅片上脚的压焊盘电容Power_Clamp为低端ESD结构的V/I曲线GND_Clamp为低端ESD结构的V/I曲线类似输入的模型,输出的模型结构可以细化用图3表示。图3:输出的模型电路图其中:Pullup,Pulldown为高电平和低电平状态的V/I曲线。Ramp为上升沿和下降沿的摆率(dv/dt)。指的是输出电压从20%--80%的电压输出幅度所用的时间。为了更加准确地描述上升沿和下降沿的过程,有上升沿和下降沿的V/T曲线。三、IBIS模型的建模过程IBIS模型的建模方式有两种:一是通过SPICE仿真结果转换;另一种是通过对器件进行测量而获得建模所需的参数进行建模。见图4。图4:IBIS模型的建模过程四、IBIS模型参数及模型示例IBIS模型中包含了一些基本的参数,同时也给用户选择参数的机会。C_pkg,R_pkg,L_pkg:封装的RLC参数C_pin,R_pin,L_pin:引脚的RLC参数C_comp:硅片上引脚的压焊盘电容[PullUp]:输出高电平状态的V/I曲线。示例见图5。[PullDown]:输出低电平状态的V/I曲线。示例见图6。[Power_Clamp]:高端ESD的V/I曲线。示例见图7。[GND_Clamp]:低端ESD的V/I曲线。示例见图8。[RisingWaveform]:输出上升沿的V/T曲线。示例见图9。[FallingWaveform]:输出下降沿的V/T曲线。示例见图10。dV/dT_r,dV/dT_f:输出上升沿和下降沿的摆率。即:从20%~80%,或从80%~20%电压输出幅度所需的时间。在测定V/I曲线时,电压的扫描范围,见表1:表1:电压的扫描范围关键词下限上限[PullDown]-VCC+2VCC[PullUp]+VCC+2VCC[Power_Clamp]-VCC+2VCC[GND_Clamp]+VCC+VCC[PullUp],[Power_Clamp]曲线中,电压是以VCC作为电压参考点。所以在IBIS模型中相应的电压值要作以下调整:Vtable=VCC-Vmeasured图5:PullUpV/I曲线示例图6:PullDownV/I曲线示例图7:Power_ClampV/I曲线示例图8:GND_ClampV/I曲线示例图9:RisingWaveform]V/T曲线示例图10:FallingWaveform]V/T曲线示例IBIS模型示例:器件的IBIS模型至少包含文件头、器件描述、模型描述三个部分,复杂的模型还可以包含子模型、封装模型。第一:文件头部分。所用的关键词及示例如下:[IBISVer]2.1[Commentchar]|_char[Filename]lx16244t.ibs[FileRev]3.1[Date]August31'98[Source]SPICE-to-IBIStranslation(Benchcorrelatedmodel)|Temperature:25Ctyp,-40Cmax,85Cmin.[Notes]GeneratedbyPeterR.LaFlamme(BackplaneandModelingApplicationsEngineer)[Disclaimer](C)CopyrightFairchildSemiconductorCorporation1998Allrightsreserved第二:器件描述部分。所用的关键词及参数示例如下:|******************************************************************************|COMPONENT:LCX16244MTD|******************************************************************************[Component]74LCX16244MTD[Manufacturer]FairchildSemiconductorCorp|[Package]|variabletypminmaxR_pkg0.10.10.1L_pkg2.0n1.37n4.2nC_pkg.15p.1p.2p[Pin]signal_namemodel_nameR_pinL_pinC_pin1OE1cntrlNA4.16n0.20p2O0data_oNA3.57n0.15p第三:模型描述部分。所用的关键词及参数示例如下:|*******************************************************************|Modeldata_o|*******************************************************************|[Model]data_oModel_type3-statePolarityNon-InvertingEnableActive-LowVmeas=1.5000E+00Cref=3.0000E-11Rref=5.0000E+02Vref=0.000C_comp8.0000pFNANA|[TemperatureRange]25.000085.0000-40.0000[VoltageRange]3.3000V3.0000V3.6000V[Pulldown]|voltageI(typ)I(min)I(max)|-3.30000.000-1.0000E-020.000……[Pullup]|voltageI(typ)I(min)I(max)|-3.30002.3300E-011.8300E-013.2300E-01……[GND_clamp]|voltageI(typ)I(min)I(max)-3.3000-1.7020E+01-1.7320E+01-1.6710E+01……[POWER_clamp]|voltageI(typ)I(min)I(max)-3.30000.0000E-000.0000E-000.0000E-000.00000.0000E-000.0000E-000.0000E-00|[Ramp]|variabletypminmaxdV/dt_r1.6476/0.5610n1.3728/0.7770n1.8924/0.4241ndV/dt_f1.7691/0.6726n1.5094/0.9466n1.9952/0.4795nR_load=75.0000[RisingWaveform]R_fixture=75.0000V_fixture=0.000|timeV(typ)V(min)V(max)|0.0003.5245E-043.5835E-041.6265E-04……[FallingWaveform]R_fixture=75.0000V_fixture=3.3000|timeV(typ)V(min)V(max)|0.0003.2995E+003.0570E+003.5650E+001.2000E-103.3000E+003.0580E+003.5650E+00……|End[Model]data_o||End[Component]LCX16244|[End]五、在使用IBIS模型中常遇到的问题和解决方法IBIS模型的来源有以下四种:1、器件供应商提供;2、从专业的IBIS模型公司购买所需的器件模型;3、自己从网上下载;4、自己根据测试数据或根据资料的数据建模。在使用模型中常遇到两个方面的问题。一是模型中含有语法错误,ibischk3程序运行出错,使得模型无法使用。最常见的错误是模型中[Filename]指定的文件名与实际的.ibs文件名不一致。其次是注释符“|”的乱用。当模型出现语法错误时,可以借助于IBIS检查程序,定位错误并将其改正。另一方面是模型中的数据问题,由于V/I和V/T曲线的非单调性或者数据的错误,造成仿真器不收敛,不同的仿真器对非单调性的允许程度不同。在分析过程中若出现仿真器不收敛,应该检查模型的V/I和V/T曲线的非单调性,在无法获得更好的模型的情况下,可以采用屏蔽数据错误或非单调的曲线部分的方法,以得到参考的