IBIS建模——第2部分:为何以及如何创建您自己的IBIS模型
用于C_Comp设置的LTspice指令
LTspice指令用于设置电路的工作模式、测量变量和过程参数,以计算C_comp。以下是用来测量缓冲器的C_comp值的LTspice指令:
■ AC Lin 10 1k 10k:将电路的工作模式设置为从1 kHz至10 kHz的交流线性频率扫描。
■ .Options meascplxfmt:将.meas命令的默认结果更改为波特、奈奎斯特或笛卡尔模式。
■ .Options measdgt:设置.meas语句的有效数字位数。
■ .meas语句:这些指令用来找出电路中某些参数的值。
这些SPICE指令可以根据用户想要显示的参数进行修改。有关在LTspice中可使用的指令的详细说明,请参阅LTspice Help。测量语句的结果可以在工具 > SPICE错误日志中查看。
图18 SPICE错误日志中的测量语句结果
SPICE错误日志中显示的结果将采用笛卡尔形式。X坐标为电流和缓冲电容的实部,Y坐标为电流和缓冲器电容的虚部。如上所述,在测量缓冲器电容时,电流的虚部是缓冲器电容所需的部分,所以C_comp的实际值就是图18中突出显示的值。
[上升波形]和[下降波形]
什么是上升和下降波形?
[上升波形]和[下降波形]关键词模拟输出缓冲器的切换行为。对于输出模型,建议包含四个V-T数据集:上升和下降波形,以地为基准加载;上升和下降波形,以VDD为基准加载。
提取上升和下降V-T数据
要在LTspice中提取OUT1的上升或下降波形,以分段线性(PWL)信号或将脉冲电压电源的形式向输入引脚发送上升沿或下降沿输入激励。仿真中使用的输入刺激的转换必须要快,以便为模型提取出最快的输出转换。在测量输出引脚的电压时,将使用.TRAN命令对原理图进行瞬态分析。将一个50 Ω电阻用作负载,用于提取3态输出缓冲器的4个V-T波形的数据,但它可能会因缓冲器设计和驱动能力有所不同,以进行输出转换。50 Ω为V-T数据提取的默认加载值,因为它是PCB走线电阻的典型值。将50 Ω负载连接到缓冲器相对地(加载至接地)或VDD(加载至VDD)的输出引脚。
图19 使用脉冲电压电源的采样上升沿输入刺激
通过以地为基准50 Ω负载获取下降波形
为了产生一个以地为基准的下降输出波形,需要一个下降沿输入,并且50 Ω负载需要以GND为基准,如图20所示。得到的V-T波形如图21所示,其中输出稳定在16 ns到20 ns左右。需要注意的是,瞬态分析时间应足以捕捉下降波形(在稳定时)。
图20 通过以地为基准的50 Ω负载获取下降波形的ADxxxx设置
图21 通过以地为基准的50 Ω负载获取下降波形的ADxxxx结果
通过以VDD为基准50 Ω负载获取下降波形
图22显示通过以VDD为基准50 Ω负载获取下降波形的设置和结果。如图所示,要完全捕获输出的下降跃迁,需要50 ns瞬态时间。
图22 采用以VDD为基准50 Ω负载的ADxxxx设置和DOUT1下降波形图
通过以地为基准50 Ω负载获取上升波形
对于上升波形,采用PWL信号形式的上升沿输入刺激。图23中的设置显示,负载电阻连接至相对于地的输出引脚,这将产生上升负载对地的V-T数据。
图23 采用以地为基准50 Ω负载的ADxxxx设置和DOUT1上升波形图
负载连接至VDD时的上升波形
使用相同的上升沿输入刺激,但50 Ω需要以VDD为基准。
检查V-T数据正确性的一种方法是查看逻辑低电压和逻辑高电压。在VDD为基准波形应具有相同的逻辑低电压和逻辑高电压电平,并且逻辑高电压应与VDD相同。另一方面,以GND为基准波形也应具有相同的逻辑低电压和逻辑高电压,并且逻辑低电压电平应为约0 V。
图24 采用以VDD为基准50 Ω负载的ADxxxx设置和DOUT1上升波形图
导出波形
然后,必须执行以下步骤,以保存从四个设置中提取的V-T波形:
■ 右键单击图。
■ 将鼠标悬停在文件上,然后单击将数据导出为文本。
图25 将LTspice图保存为文本文件
■ 选择要导出的波形和导出波形的目录。
■ VX和VY:表示上升/下降转换沿的20%和80%点位置的电压。
■ dV和dT:这些是IBIS模型的[斜坡]关键字的计算值。
图26 选择走线,设置保存目录
使用LTspice提取斜坡数据
[斜坡]关键字是斜坡率(dV/dt),表示在上升或下降转换沿的20%到80%位置捕捉的上升和下降VT数据。此方法可以在LTspice上实现,因为它能够使用.MEAS和.PARAM指令计算这些参数。可以通过在VT波形设置上添加SPICE指令来完成斜坡提取过程。这意味着斜坡和VT波形可以同时提取。
图27 ADxxxx VT设置,以及用于提取上升波形的斜坡的附加指令
图27显示上升波形斜坡计算的设置。为了计算下降波形的斜坡,应该互换VLO和VHI的时间值,因为下降斜坡的输出波形从缓冲器的逻辑高电平开始,并转变为逻辑低电平。
用于斜坡提取的LTspice指令
用于斜坡提取的SPICE指令如下:.TRAN,这是用于VT上升/下降波形的SPICE指令;.OPTIONS,用于将SPICE错误日志上显示的输出设置为笛卡尔模式,并将其限制为所需的有效位数;.MEAS,用于斜坡的实际计算。
■ VLO:表示逻辑低电压。
■ VHI:表示逻辑高电压。
■ Diff:表示转换的20%点位置的电压,该电压将分别与VLO和VHI参数相加和相减,以得到转换的20%和80%点位置。
图28 上升斜坡波形描述
图29 SPICE错误日志,用于计算斜坡率
构建IBIS模型
所有提取的I-V和V-T数据都将编译到BIS模型(.ibs)文件中。以下是IBIS文件的实际模板,用户可以在构建IBIS模型时用作参考。
.ibs文件以[IBIS Ver]关键字开头,后接文件名和修订号。IBIS版本3.2将在[IBIS Ver]关键字中使用,因为它是构建3态输出缓冲器所需的最低版本。.ibs文件的文件名应和[文件名称]关键字中的文件名相同;否则,解析器会将其检测为错误。此外,文件名不得包含任何大写字母,因为解析器只允许文件名使用小写字母。有关其他重要的关键字,将在后面章节中讨论。
.ibs文件的下一部分包括[组件]、[制造商]、[封装]和[引脚]关键字。ADxxxx有两个输入缓冲器(DIN1和EN)和一个输出缓冲器(DOUT1),因此它的IBIS模型总共有三个缓冲器模型。[封装]关键字通过RLC封装寄生值作为器件的封装模型。所有器件缓冲器的模型名称在[引脚]关键字下定义,这与在[模型]关键字下定义命名变量类似。
在.ibs文件的下一部分,使用测量得出的I-V和V-T数据构建器件的数字缓冲器的模型。缓冲器模型的内容因Model_type变量中指定的缓冲区类型而异。由于模型cmos_di1是一个输入缓冲器,它的缓冲器模型只包含C_comp、[Power_Clamp]和[GND_Clamp]数据。输入缓冲器模型还包括VINH和VINL值,这两个值都可以在器件的数据手册中找到。由于DIN1和EN都是输入缓冲器,所以它们的缓冲器模型具有相同的结构。
另一方面,3态缓冲器模型包含一些与输入缓冲器模型类似的关键字,但包含额外的I-V和V-T数据。cmos_out1的缓冲器模型包括一个额外的子参数Cref,它代表输出电容负载,还包括Vmeas,它代表基准电压电平。通常情况下,使用的Vmeas是VDD值的一半。
除了C_comp、[Power_Clamp]和[GND_Clamp],3态缓冲器还包含额外的I-V数据:[上拉]和[下拉]。
最后,所有IBIS模型都应该用[结尾]关键字作为结尾。
IBIS模型验证
正如本系列文章的第1部分所述,IBIS模型验证由解析器测试和相关过程组成。这些是确保IBIS文件符合IBIS规范的必要步骤,并且模型的执行尽可能接近参考SPICE模型。
解析器测试
对于上一节中创建的IBIS文件,首先应进行解析器测试,然后再继续执行相关过程。ibischk是用于检查IBIS文件的Golden Parser。它用于检查IBIS文件是否符合IBIS协会设置的规范。有关更多信息,请访问ibis.org。在撰写本文时,使用的最新解析器是ibischk版本7。
在执行解析器测试时,最好使用集成了ibischk的IBIS模型编辑软件,例如Cadence Model Integrity和Hyperlynx Visual IBIS Editor。这些工具有助于简化语法检查。但是,如果用户没有这些工具,可以访问ibis.org免费下载可执行代码。它是在各种操作系统上编译的,所以用户不必担心应使用哪种操作系统。
相关程序
在这个验证阶段,需要检查IBIS模型的性能是否与参考模型(在本例中为SPICE模型)相同。表7显示不同的IBIS质量级别(从0级到3级)。它描述了经受不同程度测试后,IBIS模型的精确程度。在本例中,由于参考模型是ADxxxx SPICE模型,所以生成的IBIS模型的质量等级为2a。这意味着它通过了解析器测试,具有数据手册中所描述的一组正确完整的参数,并通过了相关程序。
表7 IBIS质量等级
质量等级 | 说明 |
0级 | 通过Golden Parser (ibischk) |
1级 | 与检查清单文件中一样完整、正确。 |
2a级 | 与仿真相关 |
2b级 | 与测量相关 |
3级 | 以上全部 |
要将IBIS模型与参考SPICE模型关联起来,可以按照一些常规步骤执行操作。图30中的流程图总结了这些步骤。
图30 IBIS与SPICE模型的关联流程图
设置品质因数
关联的基础是在相同的加载条件和输入刺激下,IBIS模型的行为应该与SPICE模型数字接口相同。这意味着从理论上,它们的输出应该重叠在一起。一般来说,有两种方法可以描述IBIS模型的输出与SPICE参考模型的接近程度:定性方法和定量方法。用户可以使用这两种方法来确定IBIS模型与SPICE模型之间的关系。
定性FOM测试需要依靠用户的观察能力。它要求对两个输出进行目视检查,以确定是否通过相关性检查。这可以通过叠加IBIS和SPICE的输出结果来实现,并使用工程判断来确定图形是否相关。在进行定量FOM测试之前,这可以作为相关性初步检查。当接口以相对较低的频率或比特率运行时,此测试就已足够。
IBIS IO缓冲器精度手册中提出了另一种定性FOM测试,即曲线包络度。它使用过程电压温度极值定义的最小和最大曲线。最小和最大曲线作为相关性的边界。要通过测试,IBIS结果中的所有点都应该在最小和最大曲线之内。这种方法在本文中不适用,因为它仅适用于典型条件。
定量FOM测试使用数学运算来衡量IBIS与SPICE之间的相关性。在IBIS IO缓冲器精度手册中也提出了曲线包络度,它使用IBIS和SPICE输出的数据点。它计算IBIS和参考数据点之间x轴或y轴差值的绝对值除以轴上使用的总范围和点数的乘积的总和。具体如公式3所示,此方法适合作为检测本文所示的应用案例的关联方法。但是,还需要考虑其他因素。方程3中给出的FOM要求将IBIS和SPICE的结果映射到一个通用的x-y网格上,这将用到数值算法和插值方法。如果用户想要执行快速定量FOM测试,本文提出了另一种方法,即使用曲线和x轴所限定的面积的曲线面积度量。
曲线面积度量以SPICE结果为参考,比较IBIS曲线下的计算面积。具体如公式4所示。但是,在进行曲线面积度量测试之前,所创建的模型必须通过定性测试。这确保了IBIS和SPICE曲线是同步的,并且相互叠加。在获取曲线下的面积时,因为对IBIS和SPICE结果使用了相同的方法,所以用户可以使用数值方法,例如梯形规则或中点规则。在使用这种方法时,建议使用尽可能多的点,以更接近该面积。
验证ADxxxx IBIS模型
IBIS模型验证的第一步是解析器测试。图31显示adxxxx.ibs IBIS模型文件的解析器测试结果,该文件是使用HyperLynx Visual IBIS Editor编写的。用户执行解析器测试时,目标是不会出现任何错误。如果出现任何错误或警告提示,模型构建人员需要加以解决。这样可以保证IBIS模型在仿真工具之间的兼容性。
图31 ADxxxx 解析器测试结果
下一步是设置FOM参数。本文仅使用定性FOM和曲线面积度量作为衡量相关性的方法。该测试可能会使用IBIS和SPICE在相同负载条件和输入刺激下的瞬态响应曲线。曲线面积度量FOM≥95%才能通过相关性测试。DOUT1、DIN1和EN的相关性如下所示。
DOUT1
图32显示了LTspice上用于检测DOUT1相关性的SPICE测试台。在原理图上提供适当的电压电源以使能驱动器,并且为DIN1引脚提供脉冲信号源来驱动DOUT1。要在LTspice中完成DOUT1驱动器模型,还需要使用额外的组件。C_comp代表芯片电容。将C_comp和C_load添加到LTspice模型后,继续加入RLC封装寄生(R_pkg、L_pkg、C_pkg)和C_load。
图32 LTspice DOUT1相关性测试台
DOUT1 IBIS模型相关性测试台建立在Keysight先进设计系统(ADS)上,如图33所示。与LTspice测试台一样,使用相同的输入激励、C_load、电压电源和瞬态分析。但是,未在原理图中显示C_comp和RLC封装寄生,因为它们已经包含在3态IBIS模块中。
图33 ADS OUT1相关性测试台
瞬态响应曲线根据C_load测量得出。我们比较LTspice和ADS结果,并将它们叠加在一起实施定性FOM分析。如图34所示,LTspice和ADS DOUT1的响应非常相似。可以使用曲线和度量来量化它们之间的差异。计算1 µs瞬态时间内曲线下的面积。计算得出的曲线面积度量为99.79%,满足设置的≥95%的通过测试条件。所以,DOUT1 IBIS模型与SPICE模型相关。
图34 LTspice与IBIS模型OUT1响应
DIN1和EN
在验证输入端口时,通过定性FOM和曲线面积度量来关联LTspice和ADS的瞬态响应曲线。LTspice中的测试台如图35所示。这适用于DIN1和EN引脚。与DOUT1一样,将提取的C_comp置于DIN1端口位置,后接RLC封装寄生效应。然后,连接50 Ω R_series电阻,该电阻后接输入刺激脉冲电压电源。测量响应的探头点在DIN1_probe位置。
图35 LTspice DI1相关性测试台
用于验证输入端口的Keysight ADS测试台如图36所示。同样,在输入端口前放置一个R_series 50 Ω电阻,并使用相同的输入脉冲刺激。此处未显示C_comp和RLC寄生效应,因为它们已经包含在IBIS模块中。用于测量瞬态响应的探头位于DI1_probe位置。
图36 ADS DI1相关性测试台
将LTspice和ADS的瞬态响应曲线叠加在一起进行FOM定性测试。如图37所示,曲线是相同的,LTspice曲线完全与ADS曲线重叠。计算得出的DI1的曲线面积度量为100%,满足所设置的≥95%的通过测试条件。EN引脚相关性结果也给出了相同的图形和曲线面积度量。
图37 LTspice与IBIS模型的DI1响应
总结
本文介绍如何使用LTspice来提取数据和构建IBIS模型。还提出通过定性FOM和曲线面积度量的定量FOM将IBIS模型与参考SPICE模型关联起来的方法。这样就可以让用户确信IBIS模型的行为与SPICE模型类似。尽管还有本文未介绍其他类型的数字IO,但提取C_comp、I-V数据和V-T数据的程序可以作为创建其他类型IO模型的基础。
您可以免费下载和安装LTspice,并开始创建自己的IBIS模型。
参考资料
Casamayor, Mercedes.“AN-715应用笔记:走近IBIS模型:什么是IBIS模型?它们是如何生成的?”ADI公司,2004年。
IBIS。I/O缓冲器精度手册。IBIS开放论坛,2000年4月。
Roy Leventhal和Lynne Green。半导体建模:用于信号、功率和电磁完整性仿真。Springer,2006年。
Michael Mirmak、John Angulo、Ian Dodd、Lynne Green、Syed Huq、Arpad Muranyi、Bob Ross。IBIS建模手册(IBIS 4.0版)。IBIS开放论坛,2005年9月。
作者简介
Rolynd Troy Aquino是ADI公司新技术集成团队的产品应用工程师。主要负责对ADI产品进行IBIS、IBIS-AMI和LTspice建模和仿真。他于2014年成为ADI的实习生,并于2016年正式加入ADI。他于2015年毕业于玛布亚大学(马尼拉),获电子工程学士学位。联系方式:rolynd.aquino@analog.com。
Francis Ian Calubag是ADI公司的系统应用工程师。他于2019年进入ADI公司的系统应用团队实习,并于2020年正式加入ADI的新技术集成团队。主要负责对ADI产品进行IBIS和LTspice建模和仿真。他于2020年毕业于菲律宾莱西姆大学(甲米地),获电子工程学士学位。联系方式:francisIan.calubag@analog.com。
Janchris Espinoza是ADI公司新技术集成团队的产品应用工程师。主要负责对ADI产品进行IBIS建模和仿真。他于2019年在ADI的Analog Garage团队实习,并于2020年9月正式加入ADI。他于2020年2月毕业于德拉萨大学,获电子工程学士学位。联系方式:janchris.espinoza@analog.com。
[HA1]
[HA2]
[HA3]拥有
评论