高速数字设计仿真模型专刊.docx
《高速数字设计仿真模型专刊.docx》由会员分享,可在线阅读,更多相关《高速数字设计仿真模型专刊.docx(83页珍藏版)》请在冰豆网上搜索。
高速数字设计仿真模型专刊
高速数字设计专刊1
HIGH-SPEEDDIGITALDESIGN
2003年9月
高速数字设计专刊第一期
-------仿真模型专刊
IBIS&SPICE模型的验证与管理
朱顺临
摘要:
本文阐述了仿真模型在高速设计中的重要地位,从目前常用的IBIS模型和SPICE模型入手,介绍了这两种模型的特点和适用范围,分析了IBIS模型和SPICE模型对仿真速度与仿真结果的影响。
根据网络事业部高速仿真设计的实际情况,提出了基于Cadence硬件设计平台的仿真模型一体化验证与管理、项目模型库的管理的思路,提出了仿真设计模块化在高效率硬件开发中的技术优势与具体的实施办法。
关键词:
IBIS模型、SPICE模型、模型验证、模型管理、仿真设计模块化
一、IBIS模型与SPICE模型
1、IBIS模型的产生与发展
在IBIS出现之前,人们用晶体管级的SPICE模型进行系统的仿真,这种方法有以下三个方面的问题:
第一,结构化的SPICE模型只适用于器件和网络较少的小规模系统仿真,借助这种方法设定系统的设计规则或对一条实际的网络进行最坏情况分析。
第二,得到器件结构化的SPICE模型较困难,器件生产厂不愿意提供包含其电路设计、制造工艺等信息的SPICE模型。
第三,各个商业版的SPICE软件彼此不兼容,一个供应商提供的SPICE模型可能在其它的SPICE仿真器上不能运行。
因此,人们需要一种被业界普遍接受的、不涉及器件设计制造专有技术的、并能准确描述器件电气特性的行为化的、“BlackBox”式的仿真模型。
1990年初,INTEL公司为了满足PCI总线驱动的严格要求,在内部草拟了一种基于LOTUSSPREAD–SHEET的列表式模型,数据的准备和模型的可行性是主要问题,由于当时已经有了几个EDA厂商的标准存在,因此邀请了一些EDA供应商参与通用模型格式的确定。
这样,IBIS1.0在1993年6月诞生。
1993年8月更新为IBIS1.1版本,并被广泛接受。
此时,旨在与技术发展要求同步和改善IBIS模型可行性的IBIS论坛(IBISOPENFORUM)成立,更多的EDA供应商、半导体商和用户加入IBIS论坛。
由于他们的影响在1994年的六月在V1。
1规范的基础上加入了很多扩展的技术后出台了IBISV2。
2规范。
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版本。
2、IBIS模型与SPICE模型的比较
在以前的仿真设计中,SPICE的模型的建立是以电路为基础的,仿真模型能够提供很高的精确度,但是SPICE模型由于版本众多,获取困难的诸多因素不能完全满足现在的仿真需求,SPICE与IBIS模型的各自特点为:
SPICE模型
IBIS模型
基于结构
基于表格数据(行为级)
数字、模拟电路分析
数字电路分析
适于时域、频域和瞬态分析
时域分析
每个器件分别被描述/仿真
其中没有没有包括电路细节
建立在低级数据的基础上
建立在VI/VT数据曲线上
仿真速度太慢,实用于电路级的设计者
仿真速度快,适用于系统设计者
描述电路细节,揭示IC内核IP
没有包括电路描述细节
包含了详细的芯片内部设计信息
不包括芯片内部的设计信息
表1-1IBIS模型与SPICE模型的比较
3、IBIS模型的来源
目前,IBIS模型的来源主要有以下四个:
1从IC的测量数据中生成IBIS模型,一般由IC生产商提供。
2由供应商提供IBIS模型。
3通过EDA工具,如:
S2IBIS/S2IBIS2将SPICE模型转换成IBIS模型。
4通过网站等公开渠道获得。
4、Cadence的Signoise采用的模型分类:
Cadence的Signoise采用的器件模型分类表
模型类型
使用范围
IbisDevice
AssignedtoICsandconnectorswiththeSIGNAL_MODELproperty.(AnIbisDevicemodelforaconnectorhaspackageparasiticsbutnoIOCellmodels.)
IbisIOCell
ReferencedfromanIBISDevicemodel.Usedtomodeldriverandreceiverbuffersatthepinlevel.ThedifferenttypesofIOCellmodelsare:
IbisOutput--Drivermodel.
IbisOutput_OpenPullUp--Drivermodelwithnopulluptransistor.
IbisOutput_OpenPullDown--Drivermodelwithnopulldowntransistor.
IbisInput--Receivermodel.
IbisIO--Bidirectionalbuffermodel,whichcandriveorreceive.
IbisIO_OpenPullUp--Bidirectionalbuffermodelwithnopulluptransistor.
IbisIO_OpenPullDown--Bidirectionalbuffermodelwithnopulldowntransistor.
AnalogOutput--Modelsthebehaviorofananalogdevicepin.
IbisTerminator--Modelsterminationinternaltothedevicepin.
PackageModel
ReferencedfromanIbisDevicemodel.Modelsthepackageparasiticsoftheentirecomponentpackage,canbeanRLGCmatrixmodelorSpicesub-circuits.
ESpiceDevice
AssignedtodiscretepartslikeresistorsandcapacitorswiththeSIGNAL_MODELproperty.ContainsSpicesubcircuits.
SystemConfiguration
Usedtospecifysystem-levelconnectivity,likemulti-boardoradvancedpackage-on-boardscenarios.
Note:
Systemconfigurationscreatedpriortorelease14.0ofSPECCTRAQuestappearasDesignLinkmodels.
Cable
Referencedfromasystemconfiguration.Modelscablesinterconnectingmultipleboards.CanbeaRLGCmodelorSpicesub-circuits.
BoardModel
Referencedfromasystemconfiguration.ModelsentireboardsforsituationsinwhichthephysicalAllegrodatabaseisnotavailable.ContainsSpicesubcircuits.
Cadence的Signoise采用的互连模型分类表
模型类型
使用范围
Trace
Geometry-basedmodelthatrepresentsasingletransmissionlinewithnocoupling.Canhavefrequency-dependentloss.
MultiTrace
Geometry-basedmodelrepresentingmultiple,coupledlosseytransmissionlines.Canhavefrequency-dependentloss.
Shape
Modelsacoppershapeencounteredinaphysicaldesign.
Via
Modelstheparasiticsofaviaprovidingz-axisconnectivitybetweentraces.
表1-2Cadence的Signoise采用的模型分类
二、IBIS模型与SPICE模型的验证
IBIS模型的版本从version1.0到version3.2,在建立IBIS模型库和使用IBIS模型时要注意模型生成日期和更新(Reversion)版本号,以优先采用新版本模型为原则。
1、IBIS模型的检查与验证
IBIS模型的检查通常使用EDA工具完成,主要依据模型文件中[VER]的版本号采用不同的语法检查器,可以[VER]的版本号选择不同的语法检查,检查中必须及时查阅器件的数据手册,主要的IBIS的工具有下列几种:
1IBISCHK,是IBIS模型的语法分析器,用来检查IBIS模型的语法错误,目前有IBISCHK2+和IBISCHK3,分别用于1.1至2.1及3.0以上版本的IBIS模型;
2S2iplt,此工具可以以图形方式显示IBIS模型的V/I曲线,它是属于UNIX版本的;
3S2IBIS,此工具可以将现有的HSPICE、PSPICE或SPICE3模型转换为IBIS模型;
4VisualIBISEditor,是Hyperlynx公司开发的基于Windows平台的IBIS模型编辑、语法检查及V/I曲线显示工具。
2、IBIS模型的检查结果分析
IBIS模型的检查的错误信息一般分为:
语法错误与数据错误两类,表2-1以IBIS2.1的语法检查器为例,列举了常见的IBIS模型语法错误:
1
使用Tab键,问题较难发现,建议改为SPACE空格键。
2
文件中一行超过80个字符
3
注释符“|”的乱用,注意|后为注释
4
[]内不是关键词
5
[Filename]指定的文件名与实际的.ibs文件名不一致,文件名超过8个字符。
6
PIN的定义与手册不一致,PIN大小写不一致,同类pin定义为不同模型名。
7
Input模型,DC参数Vinh和Vinl缺少。
8
Output模型,Vmeas,Rref,Cref和Vref等时序参数缺少。
9
模型缺少END的结束符。
10
Vmeas测试电压及温度范围有时与手册中的不一样,以手册为准。
11
关键字与下面的描述不相符。
12
电源地钳位至少需要2个以上的电压值。
13
R_pkg、L_pkg或C_pkg未按照“typ”,“min”和“max”的顺序排放。
表2-1常见的IBIS模型语法错误
另一方面是模型中的数据问题,由于V/I和V/T曲线的非单调性或者数据的错误,造成仿真器不收敛,不同的仿真器对非单调性的允许程度不同。
在分析过程中若出现仿真器不收敛,应该检查模型的V/I和V/T曲线的非单调性,在无法获得更好的模型的情况下,可以采用屏蔽数据错误或非单调的曲线部分的方法,以得到参考的仿真结果。
主要是检查V/I数据表格,包括[Pullup]、[Pulldown]、[POWERClamp]和[GNDClamp],[Ramp]数据表,以及V/t数据表格中数据的合理性。
[Pullup]和[POWERClamp]中的电压值是相对于电源的,即Vtable=VDD-VOutput;而[Pulldown]和[GNDClamp]中的电压值Vtable是相对于地的,即Vtable=VOutput。
表中电流的方向,规定流入器件的方向为正,流出为负。
2、在SigXplor中进行模型格式转换
SigXplor是一个以图形化的表达方式显示模型及其互连关系的仿真工具,而分析的基本要素之一是器件的模型,CADENCE仿真用的IBIS模型是CADENCE专用的.dml文件格式,因此需要将标准的.ibs文件转化为.dml文件,转化完成后,SigXplor会提供一个错误信息文件,SigXplor会根据IBIS的版本号运行IBIS模型和DML文件的检查,分别说明IBIS模型中和DML文件中的一些问题。
Error是一定需要修改的,而warning中的大部分是可忽略的,有些需要修改。
SigXplor提供了单独的DML文件检查器,可以用DMLCHECK检查验证一个或更多个库文件、模型、仿真。
在操作系统命令下,键如DMLCHECK命令:
DMLCHECK[选项]<库文件名>。
。
。
当从IBIS格式转换模型时,在转换过的文件中运行DMLCHECK。
必须排除DMLCHECK产生的所有错误,否则回引起库管理程序失败,如:
-------不能把几个Signoise库文件压缩成一个单个的库文件。
-------因语法错误引起从IBIS转换模型失败。
DMLCHECK检查库文件的语法和完整性。
在命令行中执行DMLCHECK的命令选项为:
选项
描述
-o
在每个转换成的输出文件附加一个特定的扩展名
-delay
仿真每个IOCELL和计算标准的补偿延时
-wave
仿真每个IOCELL和显示脉冲波形
-CRV
为仿真测试设备负载设置缺省的电容、电阻、电压值
Library_filename
列出一个或多个器件模型
表2-2DMLCHECK的命令选项表
3、SPICE模型的验证与使用:
目前,分立器件的模型一般通过ESPICE直接生成,在ESPICE中可以采用一部分其他格式的SPICE模型,如IO器件的HSPICE模型,分立器件SPICE模型,对于模型中一些特别的语法和元素(Element),在SigXplor中可能不能识别,采用BlackBox的HSPICE模型文件在SigXplor下TLSim下无法仿真,必须采用外挂其它仿真器仿真,现在最常用的是高速连接器的HSPICE多线模型,通过3D建模工具生成的过孔HSPICE文件,这些模型的使用可以通过DML文件中子电路的调用来完成。
关于IC的HSPICE模型的加密部分目前无法直接验证,要通过实际仿真结果与测量结果来验证。
三、仿真模型的层次化管理
1、仿真模型库在SI设计不同阶段的应用:
2、IBIS/SPICE模型建库流程与管理
第一阶段:
IBIS模型/SPICE模型的收集整理
工作要点:
与代理商联系,获得IBIS模型文件,通过网站等其它渠道收集IBIS模型文件,与代理商签定SPICE模型使用协议,定期更新模型文件,对模型验证过程中出现的问题反馈给代理商。
第二阶段:
IBIS模型/SPICE模型库的验证
工作要点:
使用器件的数据手册与EDA软件验证模型,主要工作有以下几个方面:
1模型名称与元件库的统一,按照公司的命名规范重新定义模型名称。
2模型封装与器件的对应,同一器件的不同封装应在IBIS模型中使用不同的封装参数(RLC)或PKG文件。
3物理参数与器件手册的一致,如:
管脚PIN与手册的一一对应,缺少管脚与模型的对应关系表要补上,缺少DC参数Vinh和Vinl,要重新按手册填写等。
4模型版本的更新,优先采用版本较高的IBIS模型。
5模型的语法与数据检查,采用EDA软件验证模型,修改模型语法错误,数据错误的可以反馈给代理商修改。
6建立分立器件,连接器的ESPICE或IBIS模型库,电阻、电容、电感等直接按ESPICE直接修改数值,连接器的RLC参数需要查阅厂家提供的DATASHEET。
第三阶段:
在Cadence基础硬件设计平台中加入经过第二阶段验证的IBIS模型库/SPICE模型库、与对应的器件手册库。
第四阶段:
产生SigXplor采用的DML模型文件库。
1通过SigXplor转换IBIS模型,生成Cadence的DML格式文件,按照一定的分类方式将同类的模型归类成Cadence的SigXplor的DML文件,创建元件的分类索引NDX清单文件。
(NDX为模型列表,可参照Cadence分类)
2根据器件手册进一步编辑DML文件的时序参数,如:
Output模型的Vmeas,Rref,Cref和Vref等时序参数。
第五阶段:
生成板级DML模型文件并与PCB设计文件一起归档。
板级DML模型文件主要是以后改板的需要,因为重新调入网表会丢失原来赋予的模型,同时最好能备份器件与模型的MAP文件(.DAT文件),免得为重新调用模型和设置工作条件浪费时间,另外,拓扑与约束条件也应归档。
第六阶段:
生成项目DML模型文件库,将板级DML文件合并成整个项目模型库,这样做最大的好处是项目组成员可以调用同一模型库,共享拓扑与约束条件。
3、仿真模型及拓扑的层次化管理
在现阶段,首先应做好基础平台的建设,及主要工作应集中在第一阶段至第四阶段,目前网络南研开展的几个项目中已经采用单板级及项目级模型库与拓扑库,这样做主要目的一方面是文件归档的需要,另一方面是为了缩短仿真项目的设计周期,实行最大限度的技术共享与资源共享。
图3-2仿真设计的层次化流程图
由图3-2可以看出:
一个设计从收集模型开始与直接读取板级设计文件中的布局、拓扑、约束条件来用于自己的设计,所需要的设计周期是相差很大的,所以,做好设计文件的分类与共享对提高仿真设计周期是非常重要的,目前,网络事业部南研的做法是:
对仿真常用的拓扑文件归类,如时钟设计、MPC8240典型设计、MPC850/MPC860最小系统设计、MPC8260最小系统设计的拓扑文件分类,一部分升级为硬件仿真设计模块,模型的收集与整理,尤其在整个设计周期中也占有相当比重,尤其是SPICE模型,IBIS模型验证后出现问题返回给代理商修改数据往往需要不少时间,所以,基础模型平台的建立,由专人负责管理模型可以节省大量时间,避免重复劳动。
目前,SPICE模型主要用于GHz以上的系统设计,厂家提供器件的HSPICE加密文件,HSPICE是业界共同遵循的工业标准,可信度较高,系统级仿真的技术发展趋势是建模与仿真设计的模块化,往往一类芯片组的SERDES收发器的仿真结果直接可以应用于其它系统设计,建立PCB设计参数如叠层设计参考,线宽、差分间距选择的设计模板可以省去仿真设计不少时间,过孔的建模问题也是高速背板设计的一个环节,如硬件设计平台能提供一系列的过孔SPICE文件,可以和模型收集与验证一样,由专人负责,可以大大缩短设计周期,系统级仿真的模块大致可分为以下几个:
●PCB的设计参数模块:
根据公司目前背板的设计情况和要求,建立PCB的不同层次的叠层方案,PCB材料选用等统一模块。
●过孔与传输线的SPICE模型的模块:
在确定上述叠层方案的基础上,建立各类过孔三维、传输线的SPICE模型,包括单线、差分线、单过孔、差分线过孔等SPICE模型,过孔和传输线的组合电路,以便在电路仿真时调用。
●收发器的SPICE模型库:
在高速背板的设计中,仅仅依靠IBIS模型不能完全满足仿真的精度要求,必须使用SPICE模型完成,厂家一般会提供加密的HSPICE模型,用HSPICE工具可以打开,极少数厂家会提供SPICE模型,公司应建立统一的SPICE模型库。
●接插件的SPICE模型库:
高速接插件的多线HSPICE模型一般由器件厂家提供,可以直接调用,接插件的SPICE模型库和IBIS模型一样,应建立统一的模型库。
●拓扑与子电路模块:
在仿真设计软件中建立工程文件,根据系统设计方案和器件DATASHEET的要求,建立由线卡到背板到线卡的仿真拓扑或SPICE子电路,子电路的模块可以被其他同类设计中调用,避免了大量的设计工作量和建模时间,这些模块可以编辑使用与类似设计。
●系统设计方案模块:
是最高级设计模块,包括整个系统仿真的设计参数、仿真结果,可以根据仿真结果在系统设计时选用合适的器件、PCB物理参数、PCB布局、布线参数。
结束语
本文介绍了目前常用的IBIS模型和SPICE模型的特点和适用范围,根据网络事业部高速仿真设计的实际情况,提出了基于Cadence硬件设计平台的仿真模型一体化验证与管理,项目模型库的管理的思路,指出了仿真设计模块化对缩短单板开发周期的重要意义,最后,介绍了高速互连系统的模块化设计的设想,由于篇幅和时间的关系,不可能面面俱到,详细的操作过程将在以后作介绍。
IBIS模型初探
文艺潼
摘要:
本文描述了用于仿真的IBIS模型的背景和时代意义,IBIS模型的核心内容,
IBIS模型与SPICE模型的比较,IBIS模型的验证,及IBIS模型的使用。
关键字:
IBIS模型,SPICE模型,仿真,信号完整性
一、IBIS模型的背景
随着数字系统性能的不断提升,信号输出的转换速度也越来越快,在信号完整性分析中,不能简单的认为这些高速转换的信号是纯粹的数字信号,还必须考虑到它们的模拟行为。
同时,时钟频率也越来越高,PCB的密度也越来越高,为了确保产品的质量、缩短研发周期,在PCB进行生产前必须进行精确的信号完整性仿真并解决设计中存在的问题,这就要求建立能描述器件I/O特性的模型。
Intel公司于1990年为开发PCI总线驱动器最早提出并采用IBIS仿真,最初提出了IBIS的概念,IBIS就是I/O Buffer Information Specification的缩写。
为了制定统一的IBIS格式,许多EDA公司、IC供应商和最终用户成立了一个IBIS格式制定委员会,IBIS公开论坛也随之诞生。
在1993年,格式制定委员会推出了IBIS的第一个标准Version 1.0,为了进一步推广和完善IBIS仿真,1995年12月IBISversion2.1被美国国家标准协会采纳为国家标准ANSI/EIA-656。
以后不断对其进行修订,现在的版本是1999年公布的Version 3.2。
每一个新的版本都会加入一些新的内容,但这些新内容都只是一个IBIS模型文件中的可选项目而不是必须项目,这就保证了IBIS模型的向后兼容性能。
现在,已经有几十个EDA公司成为IBIS公开论坛的成员,支持IBIS的EDA公司提供不同器件的IBIS模型以及软件仿真工具,并且有越来越多的半导体厂商开始提供自己产品的IBIS模型。
二、IBIS模型模型文件的核心内容
通常,一个IBIS模型文件包括三方面的描述:
第一方面是文字方面的信息(制造商名、器件名、IBIS版本、文件版本、否认声明等);第二方面的描述重点是针对器件数据手册的参数(管脚的映射关系、门限值等);第三方面是针对缓冲器的描述。
因此,一个IBIS模型的核心内容是需要描述