如何使用IBIS模型进行分析

描述

当半导体厂商被索要SPICE模型时,他们并不愿意提供,因为这些模型会包含有专有工艺和电路信息。这个问题已经通过采用IBIS模型来 (输入/输出缓冲器信息规范)解决,IBIS也被称为ANSI/EIA-656,这是一个建模的新标准,在系统设计人员中越来越流行。

它相对于其它传统模型(例如SPICE)有几项优势。例如,仿真时间最多可缩短25倍,IBIS没有SPICE的不收敛的问题。此外,IBIS可以在任何行业平台运行,因为大多数电子设计自动化(EDA)供应商都支持IBIS规范。

1.IBIS模型的文件结构

IBIS模型是一种以扩展名为“.ibs”的ASCII格式文本文件。它由关键字、子参数和定义值组成。

晶体管

晶体管

这个文本大致分为以下几个部分。 文件头信息部分包含文件名、日期、版本等信息组件描述部分 默认包模型引脚列表等(可以有多个定义)

模型声明部分电压/电流特性、过渡特性等(可以有多个定义)

子模型部分电压/电流特性、过渡特性等(可以有多个定义)

包建模部分更详细的包模型

[结束]

IBIS模型由除了.ibs文件之外,还包括以下扩展名的文件组成。

拓展名         内容

.pkg            包模型文件被.ibs文件引用。

.ebd          电子板描述文件用于描述DIMM等电路板级别的连接。不被.ibs或.pkg引用,独立存在。

.ami         算法建模接口文件用于定义高速设备(如SerDes)的模型。被.ibs文件引用。

输出模型

以三态为例,三态输出的结构;模型可视为一个驱动器。它包含一个PMOS晶体管和一个NMOS晶体管,两个ESD保护二极管,芯片电容和封装寄生电容。

晶体管

输出模型通过以下直流电气数据、交流或转换数据以及参数进行表征:

1. 上拉和下拉曲线

2. 电源和GND钳位曲线

3. 斜坡速率

4. 上升和下降波形

5. C_Comp

6. 封装参数

上拉和下拉曲线

上拉和下拉数据决定器件的驱动强度。这些曲线通过特征化输出中的两个晶体管来获得。上拉数据描述当输出为逻辑高电平状态(PMOS晶体管导通)时的I/V行为。反之,下拉数据表示当输出为逻辑低电平状态(NMOS晶体管导通)时的直流电气特性。

C_Comp

这是硅芯片电容,不包括封装电容。它是焊盘与驱动器之间的电容,可以理解为输出pad、钳位二极管和输入晶体管的总电容。那么对于封装参数则是管脚出线的电容、电感和电阻。这两个电容要区分开。C_Comp是关键参数,特别是对于接收器的输入。C_Comp对于每个不同转折点(最小、典型和最大)都有一个对应值。C_Comp最大的值应在最大转折点之下,最小值应在最小转折点之下。

封装参数 

R_Pin、L_Pin和C_Pin是每个引脚到缓冲器连接的电阻、电感和电容的电气特性。R_Pkg、L_Pkg和C_Pkg是整个封装的集总值。与C_Comp参数一样,最大的值以最大值列出,最小的值以最小值列出。

差分信号定义

有些模型没有差分信号定义,很简单,自己打开模型在[Pin]结束后加上你需要的差分信号就可以。

[Diff Pin] inv_pin      vdiff     tdelay_typ     tdelay_min     tdelay_max
     5           6             NA          NA              NA                  NA

差分电压阈值的定义是什么?阈值取决于[Diff Pin]的vdiff子参数。如果vdiff是NA(未定义),则不是0,而是默认值200mV。

上升下降时间

上升时间/下降时间的定义是什么?分为两种情况:[Ramp]关键字和[RisingWaveform]、[Falling Waveform]关键字。

仿真中我们要设置的Source源上升/下降时间,并不是IBIS模型中的。

晶体管

上图的上升下降时间,并非指IBIS"真实输出"信号的上升下降时间(50~100ps),而是指激发IBIS模型的"理想输入"驱动信号的上升下降时间(1~10ps)。输出信号真正的上升下降时间应该是由IBIS模型内所定义的Rising Waveform/Falling Waveform属性所决定,而不是由使用者输入来决定。所以上图输入的Tr/Tf要远小于真正输出信号的Tr/Tf,才不会影响模拟结果,这是初学者很容易误解的地方。

另外,如果出现Over Clocking问题,此时可以选IBIS模型中的Ramp模式。

在相同的频率下,fast corner眼图正常,slow corner眼图不正常。

使用相同的PRBS输入模式,低频率下眼图正常,高频率下眼图不正常。

在相同的高频率下,clock pattern眼图“看似”正常,PRBS输入模式眼图不正常。

输入模型

它包括两个ESD保护二极管、芯片电容和封装寄生电容。

晶体管

这些元件形成表征输入特性的V/I曲线。在这种情况下,除了封装寄生和C_Comp参数外,输入端模型包括从ESD二极管获得的电源和GND箝位数据。

几组参数

PVT(Process, Voltage, Temperature)模型过去通常是在“角点”构建的。所有缓冲特性都被认为是相对于PVT的依赖参数。

FastCorner = 快工艺,高电压,低温。

SlowCorner = 慢工艺,低电压,高温。

这些可以在IBIS模型的“Min”和“Max”列中输入。在最大列中是Fast/strong,在最小列中是Slow/weak。

在最近的几代中,我们发现只提供快角和慢角不能充分覆盖所有效应。在这些情况下,可以给出其他模型类型(例如“max ringback”模型)。

Packagedefinition and pin allocation

晶体管

转化到原理图里面

晶体管

2.使用IBIS模型进行分析

模型检查

Hyperlynx自带的这款软件比较推荐,编辑、修改、检查都比较方便。

晶体管

IBIS模型是如何運作的:

那么这些IBIS模型里IV/IT/VT的波形信息又是如何在仿真器里运用的呢?为简化起见,先不管静电保护电路(ESD)的PC/GC电路部分,它们在大多数的操作情形都是在反向偏压区而有极小的漏电电流。对于主要的上拉(PU)及下拉(PD)电路而言,可以把它们看作是非线性电阻;就好比是场效应体的P/N通道般,其电阻值随着端电电压值而改变。这两组电路之相互同时运作,便决定了在不同输出负载情况下的缓冲器的瞬态反应VT及IT。

晶体管

在瞬间的上升期间,上拉电路PU可以视为由完全断路变成完全通路,而下拉电路是由完全通路变成完全断路。由于接到地线的通路成为断路,导致输出电压升高到逻辑1状态。瞬间的下降期间则是相反地运作。因此我们可以定义一个"切换系数(Ku(t), Kd(t))",来乘以对应的PU/PD电流的输出。这个切换系数的X变量是时域的,就像VT/IT中的时域变量一样。Ku(t)=1表示PU完全通路。反之,Kd(t)=0表示PD完全断路。这Ku(t)及Kd(t)的组合即可用以说明VT/IT的相应变化情况。

Ku(t)及Kd(t)的两个变量,需要有两组方程式才能对其求解。假设IBIS模型里有至少两组的VT波形及其负载测试情况,则我们恰用这两组数据来对Ku(t)及Kd(t)进行求解。因为Ku(t)及Kd(t)只和缓冲器里的场效应晶体管切换的经过时间有关,而和其负载无关,所以我们恰可用两组方程来得到Ku(t)及Kd(t)的真解。这也就是为什么一般的IBIS模型里需要至少有两组的VT波形的原因了。

晶体管

实际操作中,如果我们无法获得两组波形,仿真器也可以做出另一个假设:即在每个时间点上满足Ku(t) + Kd(t) = 1。总体上说,这个假设在缓冲器的稳态高电位或稳态低电位输出时是成立的,但在其间的瞬态转换期间不一定成立。另一种可能是仿真器可以利用IBIS模型中的斜率(Ramp rate)数据来生成假设的上升/下降VT波形,以达到对切换系数求解的目的。

IBIS模型验证

1.ROUT

如何从IBIS文件中找到驱动器阻抗信息?”大多数时候,我们想要这些信息,以便控制传输路径阻抗不连续引起的反射。

当驱动端的输出阻抗与传输线特性阻抗(Zo)不匹配时,会出现反射,导致接收端出现振铃。

使用上下拉电阻在接收处端接传输线以匹配Zo是解决这一问题的一种方法。尽管这种方法工作良好,但它不是优选的方法,因为电阻值将在45-70欧姆范围内,以匹配现代PCB设计中发现的典型单端传输线阻抗。这样的低电阻导致驱动器上的额外负载,从而导致更高的功率耗散。

一个更好的方法是在Buffer的末端添加一个串联电阻,以弥补阻抗的差异。例如,如果缓冲器的输出阻抗为20欧姆,驱动50欧姆的传输线,则需要添加一个30欧姆的电阻与输出串联。

因为Buffer是半导体,它的输出阻抗可能会根据上升沿/下降沿转换、PVT(缓慢、典型、快速)及其驱动的负载而变化。由于IBIS模型是基于ASCII的,当使用四个V-T波形表中的两个驱动50欧姆时,我们可以简单地使用文本编辑器来查看和快速估计输出阻抗。

与下降沿相比,上升沿的输出阻抗通常不同。要确定从低到高转换的输出阻抗,可以使用下拉[上升波形];R_fixture=50;V_fixture=0.000表。此表的示例如下所示:

[Rising Waveform]

R_fixture = 50.0000

V_fixture = 0.000

| time           V(typ)                V(min)               V(max)

|

0.000S          0.000V              0.000V                0.000V

0.2000nS      0.000V              0.000V              -1.7835uV

0.4000nS      -1.1143mV       -8.0018uV        -7.8340mV

0.6000nS       0.1336V           -5.4161mV         0.9354V

0.8000nS       1.1220V           -12.5300mV       2.3940V

*                   *                        *                        *

*                   *                        *                        *

9.6000nS       2.5680V             2.1880V            2.7880V

9.8000nS       2.5680V             2.1880V            2.7880V

10.0000nS     2.5680V             2.1880V            2.7880V

表的前三行告诉我们,上升波形有一个50欧姆的电阻连接到缓冲输出,并向下拉至0伏,如下等效电路所示。

输出阻抗(Zs)和50欧姆负载的组合形成了由以下等式描述的简单分压电路:

晶体管

V0=VDC*50/(Zs+50)

VO=Buffer输出引脚处的电压

VDC=电源电压

Zs=缓冲器阻抗

Zs=50*( VDC-V0)/V0

如果使用上面V-T表中10nS的典型电压,VDC为3.3V,VO为2.568V,则50欧姆上升沿的输出阻抗等于14.25欧姆。

要确定高到低转换的输出阻抗,使用上拉[下降波形];表类似于以下示例:

[Falling Waveform]

R_fixture = 50.0000

V_fixture = 3.3000

V_fixture_min = 3.0000

V_fixture_max = 3.4500

| time           V(typ)              V(min)              V(max)

|

0.000S       3.3000V         3.0000V         3.4500V

0.2000nS       3.3000V             3.0000V             3.4500V

0.4000nS       3.2995V             3.0000V             3.4500V

*                   *                        *                        *

*                   *                        *                        *

9.4000nS       0.5598V             0.6824V             0.4812V

9.6000nS       0.5598V             0.6824V             0.4812V

9.8000nS       0.5598V             0.6824V             0.4812V

10.0000nS     0.5598V             0.6824V             0.4812V

这一次,表格告诉下降的波形有一个50欧姆的电阻器连接到缓冲输出,并向上拉至V_fixture,如等效电路所示。

晶体管

输出阻抗由以下公式计算:

Zs=50*V0/( V_fix- V0)

式中:VO=Buffer吸收电流时的输出电压 V_Fix=测试夹具的电压在10nS时使用 V_Fix的典型值=3.3V VO=0.5598V,Zs=10.21欧姆。

对于这个特定的IBIS模型,输出阻抗根据边缘过渡而变化。对于上升沿,当使用典型值时,输出阻抗为14.25欧姆,下降沿为10.21欧姆。阻抗也将在最小/最大条件下变化。

如果负载不是50欧姆,不能依赖这种简单的方法来进行计算。相反,要通过仿真来确定。

对于输出端的新模型,搭建链路如下所示,LPDDR4模型,我们可以通过波形的反馈验证出芯片的ROUT。

晶体管

2.镁光的DDR模型通常会提供很详细的IBIS Quality Report

晶体管

DQ_34_4800 driving DQ_34_4800 at 4.8Gbps

晶体管

DQ_34_4800 driving DQ_IN_ODT60_4800 at 4.8Gbps

晶体管

实线是Hspice,虚线是IBIS,无论是输出,还是输入,吻合度是非常高的。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分