0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用IBIS模型进行分析

高频高速研究中心 来源:高频高速研究中心 2023-10-31 09:44 次阅读

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

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

1.IBIS模型的文件结构

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

1e8ffb26-7719-11ee-939d-92fbcf53809c.png

1e97ed86-7719-11ee-939d-92fbcf53809c.png

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

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

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

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

[结束]

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

拓展名 内容

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

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

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

输出模型

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

1ea340e6-7719-11ee-939d-92fbcf53809c.png

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

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模型中的。

1ea896fe-7719-11ee-939d-92fbcf53809c.png

上图的上升下降时间,并非指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保护二极管、芯片电容和封装寄生电容。

1eb77f98-7719-11ee-939d-92fbcf53809c.png

这些元件形成表征输入特性的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

1ec1f23e-7719-11ee-939d-92fbcf53809c.png

转化到原理图里面

1ecc7be6-7719-11ee-939d-92fbcf53809c.png

2.使用IBIS模型进行分析

模型检查

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

1ed878f6-7719-11ee-939d-92fbcf53809c.png

IBIS模型是如何運作的:

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

1ee87e86-7719-11ee-939d-92fbcf53809c.png

在瞬间的上升期间,上拉电路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波形的原因了。

1ef48546-7719-11ee-939d-92fbcf53809c.png

实际操作中,如果我们无法获得两组波形,仿真器也可以做出另一个假设:即在每个时间点上满足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欧姆负载的组合形成了由以下等式描述的简单分压电路:

1f041fb0-7719-11ee-939d-92fbcf53809c.png

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,如等效电路所示。

1f0e994a-7719-11ee-939d-92fbcf53809c.png

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

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。

1f191c80-7719-11ee-939d-92fbcf53809c.jpg

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

1f20e1b8-7719-11ee-939d-92fbcf53809c.png

DQ_34_4800 driving DQ_34_4800 at 4.8Gbps

1f27b4a2-7719-11ee-939d-92fbcf53809c.png

DQ_34_4800 driving DQ_IN_ODT60_4800 at 4.8Gbps

1f3ac2ae-7719-11ee-939d-92fbcf53809c.png

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

编辑:黄飞

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

    关注

    147

    文章

    9644

    浏览量

    166554
  • eda
    eda
    +关注

    关注

    71

    文章

    2759

    浏览量

    173301
  • 晶体管
    +关注

    关注

    77

    文章

    9694

    浏览量

    138229
  • ASCII
    +关注

    关注

    5

    文章

    172

    浏览量

    35109
  • IBIS
    +关注

    关注

    1

    文章

    53

    浏览量

    19891

原文标题:再看IBIS模型

文章出处:【微信号:si-list,微信公众号:高频高速研究中心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IBIS模型如何导入到LTspice中?

    IBIS模型如何导入到LTspice中
    发表于 01-03 06:23

    IBIS 模型

    IBIS 模型IBIS 的应用场合任何电路都可以用下面的模型(好像是Shannon 模型我不知道。。。)来描述Driver
    发表于 07-30 23:07

    IBIS模型

    IBIS模型,便于理解器件等效模型
    发表于 11-06 11:11

    请问有人知道IBIS模型怎么使用吗?

    请问有人知道IBIS模型怎么使用吗?想用MULTISIM仿真AD7683,结果库里面没有,官网只有IBIS模型,但不知道怎么用。有人知道吗?
    发表于 02-13 22:15

    跪求ibis仿真模型

    最近学习信号完整性分析,急需6N137、OP17、SN74LVC4245A、INA128等元件的IBIS模型,在网上浏览了几天一无所获,跪请大神恩赐
    发表于 12-06 10:02

    跪求IBIS模型

    最近学习信号完整性分析,急需6N137、OP17、SN74LVC4245A、INA128等元件的IBIS模型,在网上浏览了几天一无所获,跪请大神恩赐
    发表于 12-06 10:03

    高速互连IBIS仿真模型概述

    的电气组成。IBIS模型主要用于板极的系统仿真,可以帮助设计者在存在高速设计规则约束的设计中获取准确的信息以进行分析和计算。由于它不涉及芯片内部的结构信息,因此得到了众多厂商的支持。 
    发表于 09-03 11:18

    IBIS模型对高速PCB进行信号完整性分析,出现报错显示没有有效的连接器插针模型

    器件官网的IBIS模型,引脚类型和模型参数都是从官网的IBIS模型的copy下来的;在进行信号完
    发表于 05-26 15:45

    生成IBIS模型错误

    的5)按“生成IBIS模型”并出现 - 错误哪里不对?谢谢以上来自于谷歌翻译以下为原文1) create by MIG 3.1 ddr2 controller2) create ISE project
    发表于 05-27 09:48

    哪里可以找到IBIS模型

    嗨,IBIS型号不适用于此部件号。 L9663-1我在哪里可以找到IBIS模型?我可以使用这个部件号的I / O型号吗?感谢致敬Arunkumar K. #l9663-1以上来自于谷歌翻译以下为原文
    发表于 07-19 06:05

    如何将CML逻辑添加到IBIS模型中?

    海,我们为我们的项目采购了Kintex 7(XCKU115-1FLVA1517I)。在那里,我需要模拟从FPGA到连接器的PCIe(5 Gbps)线路的SI分析,因为使用了CML逻辑,但在IBIS
    发表于 04-13 09:58

    关于virtex-5的IBIS模型的问题如何解决

    ......并且IBIS模型中的信号名称是BLVDS_25_N,D_HSTL_I_DCI_18_I_IN ...但在数据表中是IO_L0P_11,IO_L0P_17 ..问题是如果我想选择E25(IO_L0P_11)引脚,我怎样才能在
    发表于 06-03 10:38

    求助,请发送在Hyperlynx软件中进行SI分析所需的IBIS模型

    我们正在为我们的项目使用 T2080NXE8TTB QorIQ 处理器。 请发送在Hyperlynx软件中进行SI分析所需的IBIS模型
    发表于 04-03 08:47

    AN-715: 走近IBIS模型:什么是IBIS模型?它们是如何生成的?

    AN-715: 走近IBIS模型:什么是IBIS模型?它们是如何生成的?
    发表于 03-21 13:59 10次下载
    AN-715: 走近<b class='flag-5'>IBIS</b><b class='flag-5'>模型</b>:什么是<b class='flag-5'>IBIS</b><b class='flag-5'>模型</b>?它们是如何生成的?

    使用IBIS模型进行时序分析

    电子发烧友网站提供《使用IBIS模型进行时序分析.pdf》资料免费下载
    发表于 10-21 10:00 0次下载
    使用<b class='flag-5'>IBIS</b><b class='flag-5'>模型</b><b class='flag-5'>进行</b>时序<b class='flag-5'>分析</b>