IBIS建模——第1部分:为何IBIS建模对设计成功至关重要
IBIS建模——第1部分:为何IBIS建模对设计成功至关重要
什么是IBIS模型?
IBIS表示输入/输出缓冲器信息规范。它代表了IC供应商提供给客户进行高速设计仿真的器件的数字引脚的特性或行为。这些模型使用IBIS开放论坛——负责管理和更新IBIS模型规范与标准的行业组织——所规定的参数模仿器件的I/O行为。IBIS模型使用ASCII文本文件格式,提供表格化的电压-电流和电压-时间信息。它们不包含专有数据,因为模型中没有披露IC原理图设计信息,如晶体管尺寸、缓冲器原理图设计中使用的器件模型参数和电路等。此外,IBIS模型获得了大部分EDA供应商的支持,可以在大多数行业级平台中运行。
为何使用IBIS模型?
想象一款IC通过了测试。然后,使用该IC设计电路板,并且立即获批进行制造。电路板制造出来后,发现其性能不达标,原因是一些信号完整性问题,其导致了串扰、信号过冲/欠冲或不匹配阻抗引起的反射。您认为接下来会发生什么?当然,电路板必须重新设计和制造。此时,时间已被浪费,成本上升,所有这一切都是因为有一个重要阶段没有进行:预仿真。在此阶段中,系统设计人员使用仿真模型验证其设计的信号完整性,然后才会构建电路板。SPICE和IBIS等仿真模型现已广泛开发用于仿真当中,帮助系统设计人员在预仿真阶段预见到信号完整性问题,从而在制造之前予以解决。此阶段有助于减少测试期间电路板失败的可能。
历史
20世纪90年代,随着个人计算机日渐流行,Intel®开始为其工作频率约为33 MHz的低功耗ASIC开发一种新的I/O总线。为此需要确保信号完整性没有受到损害,IBIS因此而诞生。Donald Telian所领导的团队提出了一个想法:为I/O缓冲器创建一个信息表,并使用此信息测试Intel的电路板。很快,Intel与其客户共享这些信息表以帮助后者进行电路板设计,但不提供任何专有信息。为了能够可靠地将纸张形式的表格中的信息传送到客户的仿真器,Intel决定与EDA供应商和其他计算机制造商合作。他们创建了IBIS开放论坛,以帮助标准化基于文本的计算机可读格式的缓冲器信息。IBIS最初称为Intel缓冲器信息表,后来更改为I/O缓冲器信息规范。IBIS 1.0版于1993年发布。从那时起,IBIS开放论坛持续推广IBIS,提供工具和文档,并改进标准以增加专业领域的能力。2019年,IBIS 7.0版被批准。这表明,IBIS在继续推进并满足新技术要求。
如何生成IBIS模型?
IBIS模型一般模拟器件的接收器和驱动缓冲器行为,而不透露专有工艺信息。为此需要提取标准IBIS缓冲器元件的行为,并通过表格形式的V-I和V-t数据来表示它。
为了生成IBIS模型,数据收集通常是开发过程中的第一步。图1显示了生成IBIS模型的三个主要阶段。
数据收集
收集IBIS模型的数据有两种方法:
- 仿真方法
- 该方法需要获取器件的设计原理图、数据手册和集总RLC封装寄生效应。
- 基准测量方法
- 该方法需要实际的器件和/或评估板、数据手册以及集总RLC封装寄生效应。
图2是IBIS模型所描述的四个主要元素/组成部分的图示。
连接到引脚的两个二极管负责在输入超过工作范围或缓冲器限值时保护缓冲器。根据设计工作方式,缓冲器限值可以是功率箝位基准值,通常为VDD,或是地箝位基准值,通常为地或-VDD。这些二极管用作ESD箝位保护,在需要时导通,而上拉和下拉元件负责高电平和低电平状态期间的缓冲器驱动行为。因此,上拉和下拉数据是在缓冲器处于工作模式时获得。
在模型中,这四个主要元素以电压-电流(V-I)数据的形式表示,分别列在关键词[Power Clamp]、[GND Clamp]、[Pullup]、[Pulldown]之下。I/O缓冲器的切换行为也以电压-时间(V-t)的形式在模型中表示。
电压-电流行为关键词
- [Power Clamp]表示数字I/O引脚的功率箝位ESD保护二极管在高阻抗状态期间的V-I行为,其相对于功率箝位基准电压。
- [GND Clamp]表示数字I/O引脚的地箝位ESD保护二极管在高阻抗状态期间的V-I行为,其相对于地箝位基准电压。
- [Pullup]表示I/O缓冲器的上拉元件驱动高电平时的V-I行为,其相对于上拉基准电压。
- [Pulldown]表示I/O缓冲器的下拉元件驱动低电平时的V-I行为,其相对于下拉基准电压。
这些关键词的数据是在-VDD至2×VDD的推荐电压范围内和三个不同拐角(典型值、最小值和最大值)中获得。典型值拐角表示缓冲器在标称电压、标称工艺和标称温度下工作时的行为。最小值拐角表示缓冲器在最小电压、最弱工艺和最高工作结温(CMOS)/最低工作结温(BJT)下工作时的行为。最大值拐角表示缓冲器在最大电压、最强工艺和最低工作结温(CMOS)/最高工作结温(BJT)下工作时的行为。
对于引脚中扫过的每个电压,测量其相应的电流,从而获得根据IBIS规范对缓冲器进行建模所需的电压-电流行为。图3显示了三个拐角中获得的这四个V-I曲线的波形例子。
图3.V-I曲线的波形示例:(a) 电源箝位数据,(b) 接地箝位数据,(c) 上拉数据,(d) 下拉数据。
切换行为
除了V-I数据之外,V-t数据表中还包括上升(低至高输出转换)和下降(高至低输出转换)波形形式的I/O缓冲器切换行为。此数据利用一个连接到输出的负载测得。使用的负载通常为50Ω,代表典型的传输线路特性阻抗。此外,使用输出缓冲器实际驱动的负载仍然是最好的。该负载与系统中使用的传输线路阻抗相关。例如,如果系统将使用75Ω走线或传输线,则获得V-t数据所使用的推荐负载为75Ω。
对于标准推挽式CMOS,建议在IBIS模型中包含四类V-t数据:
- 上升波形,负载以VDD为基准
- 上升波形,负载以地为基准
- 下降波形,负载以VDD为基准
- 下降波形,负载以地为基准
两个上升波形包含在模型关键词[Rising Waveform]之下。它描述当负载分别连接到VDD和地时I/O缓冲器的低到高输出转换。另一方面,模型关键词[Falling Waveform]之下的两个下降波形描述当负载同样分别连接到VDD和地时I/O缓冲器的高到低转换。应当注意,由于输出端连接有负载,输出摆幅不会全面转换。与电压-电流行为一样,电压-时间数据也是在三个不同的拐角中获得。这些转换的例子如图4所示。
图4.I/O缓冲器切换行为的波形示例:(a) 上升波形,负载以VDD为基准,(b) 上升波形,负载以地为基准,(c) 下降波形,负载以VDD为基准,(d) 下降波形,负载以地为基准。
在得到V-t表的同时,提取斜坡速率值。斜坡速率是电压从一个状态切换到另一个状态的速率,取上升或下降转换沿的20%至80%这一段。在IBIS模型中,斜坡速率以dV/dt比率的形式列在[Ramp]关键词之下,通常显示在V-t表之后。此值不包括封装寄生效应的影响,因为它仅代表内在输出缓冲器的上升时间和下降时间特性。
IBIS模型还包括一些数据手册规格,仿真以此为基础进行,例如工作电压和温度范围、输入逻辑电压阈值、时序测试负载值、缓冲器电容和引脚配置。模型中还有集总RLC封装寄生效应,这在数据手册中是找不到的,但对高速设计系统的走线仿真非常重要,因为这些寄生效应会给仿真带来负载效应,从而影响通过传输线路的信号的完整性。
IBIS格式化
本节介绍第二阶段,即构建模型,也称为IBIS格式化。收集所有必要的数据之后,现在可以创建模型。IBIS模型主要包括三部分:主要头文件、元件描述和缓冲器模型。
主要头文件包含有关该模型的一般信息。它指定以下内容:
- IBIS版本
模型关键词:[IBIS Ver]
这是模型所基于的版本。它告诉仿真器的解析器检查程序,文件中会出现什么类型的数据;因此,它对判断模型能否通过解析器检查发挥着重要作用。
- 文件名
模型关键词:[File Name]
文件的实际名称,应为小写形式,并使用正确的文件扩展名 .ibs。
- 版本号
模型关键词:[File Rev]
帮助跟踪文件的修订情况。
- 日期
模型关键词:[Date]
显示模型的创建时间。
- 注释
模型关键词:[Notes]
向客户提供关于模型的参考信息,即数据是从仿真中获得,还是从基准测量中获得。
- 来源
模型关键词:[Source]
模型来自何处,或模型提供商是谁。
- 免责声明
模型关键词:[Disclaimer]
- 版权
模型关键词:[Copyright]
请注意,主要头文件下列出的前三项必须提供。其他项目不是必需的,但最好包括,以便提供有关该文件的其他细节。
图5.使用Cadence Model Integrity的IBIS模型中的主要头文件示例
IBIS模型的第二部分描述元件。此部分需要以下数据:
- 元件名称
模型关键词:[Component]
顾名思义,这是所建模的器件的名称。
- 引脚列表
模型关键词:[Pin]
在模型中,此部分至少有三列:引脚编号、引脚名称和模型名称。此列表基于数据手册。它应该反映引脚编号和引脚名称的正确匹配,以免混淆。同样需要注意的是,在IBIS模型中,每个引脚具有一个专用模型名称。此模型名称不一定与数据手册中给出的引脚名称相同,因为引脚的模型名称由模型制造商自行决定。此外,有些引脚可能指向同一模型名称。具有相同设计原理图的缓冲器就是这种情况。预计它们会有相同的行为,因此一组数据足以代表它们。
- 制造厂商
模型关键词:[Manufacturer]
识别所建模的元件的制造商。
- 封装寄生效应
模型关键词:[Package]
此项目说明元件封装的电气特性,包括集总电阻、电感和电容值。如果还知道引脚的RLC寄生效应,应将其与引脚列表一起列在模型中[Pin]关键词之下。它能提供一个更精确的模型,会覆盖[Package]关键词下列出的RLC值。
图6.使用Cadence Model Integrity的IBIS模型中的元件描述示例
IBIS模型的第三部分描述缓冲器模型。这里呈现I/O缓冲器的行为,特别是其I-V和V-t数据。它首先使用[Model]关键词给出模型名称。模型名称应与[Pin]关键词下的第三列中列出的名称一致。对于每个缓冲器模型,必须指定参数Model_type。缓冲器电容也必须在参数C_comp下给出,以说明从焊盘回看缓冲器所看到的电容。
可以建模的缓冲器有不同类型,每种类型适用不同的特殊规则。下面说明IBIS模型中四种最常见类型的缓冲器及其要求:
- 输入缓冲器
模型类型:输入
此模型类型需要输入逻辑阈值,列在参数Vinl和Vinh之下。如果未定义,仿真器将使用分别为0.8 V和2 V的默认值。这些参数帮助仿真器执行时序计算并检测信号完整性违规。
图7.使用Cadence Model Integrity的输入缓冲器模型的表示示例
- 双态输出缓冲器
模型类型:输出
此模型类型表示始终使能的输出缓冲器,要么驱动为高电平,要么驱动为低电平。它包括时序测试负载值,列在参数Vref、Rref、Cref和Vmeas之下。这些参数不是必需的,但它们在模型中的存在有助于仿真器执行电路板级时序计算。
请注意,由于不能禁用此类缓冲器,因此不会列出关键词[Power Clamp Reference]和[GND Clamp Reference],也不会给出[Power Clamp]和[GND Clamp]的V-I表格数据。
图8.使用Cadence Model Integrity的双态输出缓冲器模型的表示示例
- 三态输出缓冲器
模型类型:三态
该模型类型表示输出缓冲器,它不仅有驱动高电平和驱动低电平状态,还有高阻抗状态,因为此类缓冲器可以禁用。与输出模型类型一样,它也包括时序测试负载值,列在参数Vref、Rref、Cref和Vmeas之下。在模型中添加这些参数有助于仿真器执行电路板级时序计算。
图9.使用Cadence Model Integrity的三态输出缓冲器模型的表示示例
- I/O缓冲器
模型类型:I/O
此模型类型是输入和输出缓冲器的组合。因此,该模型包含的参数有Vinl、Vinh、Vref、Rref、Cref和Vmeas。
模型制造商在生成IBIS模型时必须注意这些指南。更多指南可以在IBIS开放论坛网站上的IBIS手册中找到。必须遵循适当的建模指南,否则模型将无法通过验证。
图10.使用Cadence Model Integrity的I/O缓冲器模型的表示示例
模型验证
验证IBIS模型分为两部分:解析器测试和相关处理。
解析器测试
构建模型时,最好使用已经具有Golden Parser的软件,该程序用于执行语法检查,并参考模型版本规范验证所创建的IBIS模型的数据是否匹配。具备此功能的一些软件有Cadence Model Integrity和Hyperlynx Visual IBIS Editor。
如果模型通过了解析器测试,则意味着所生成的模型遵循标准格式和规格,V-I数据与V-t数据匹配。如果未通过,最好找出错误原因。最简单的可能原因是模型使用的格式或关键词不符合IBIS规范,这很容易纠正。其他类型的错误有V-I和V-t数据不匹配。发生这种情况时,错误可能位于上拉或下拉V-I数据中,或位于V-t数据中。V-I数据表示的行为与V-t数据表示的行为不匹配时,就是这种情况。要解决此问题,可能需要重新仿真。但在此之前,首先应检查放在模型中的电压和负载值,看它们是否正确。如果错误原因是错误定义了电压值之类的简单原因,那么就不必花费更多时间去重新仿真。
图11和图12分别显示了通过和未通过解析器测试的IBIS模型示例。
在图11中,注意在解析器测试期间,软件如何标记导致模型未通过测试的错误。这使得模型制造商很容易纠正模型错误,纠正之后才进入下一验证步骤。此示例的错误原因是缓冲器使用的模型类型不对。IBIS规范要求以大写格式输入I/O模型类型,但此图使用了小写格式。
图11.使用Cadence Model Integrity的未通过解析器测试的缓冲器模型
图12显示的模型通过了解析器测试。注意在Model_type关键词中,I/O已更改为大写格式,这就解决了错误。
请注意,只有通过验证的模型才能进入相关处理。
相关处理
人们可能会问,如何确保所生成的模型与实际器件具有完全相同的行为?答案是相关处理。
IBIS模型存在不同的质量等级/相关性:
质量等级 | 说明 |
0级 | 通过Golden Parser (ibischk) |
1级 | 与检查清单文件中一样完整、正确。 |
2a级 | 与仿真相关 |
2b级 | 与测量相关 |
3级 | 以上全部 |
本文介绍了一个质量等级为2a的IBIS模型。通过解析器测试之后,将对模型进行仿真,包括RLC封装寄生效应和外加负载。负载通常是在数据手册中找到的时序测试负载值,用于表征I/O缓冲器。类似地,器件的设计原理图将使用相同的设置和负载进行仿真。两种仿真的结果将叠加,以验证所生成的模型是否与基于原理图的结果行为一致。下一篇文章将使用开源软件介绍一个生成IBIS模型的用例。
为何IBIS模型对仿真至关重要
IBIS模型受到大多数EDA供应商的广泛支持。它们易于使用,文件较小,因而仿真时间更快。它们不包含专有工艺和电路信息,大多数半导体供应商都愿意向其客户提供IBIS模型。它们不仅具备所有这些优点,还能精确模拟器件的I/O行为。
利用IBIS模型,设计人员可以预见并解决信号完整性问题,而不必等到电路板原型制作或制造阶段。这使得他们可以缩短电路板开发周期,进而有助于加快产品上市时间。
简言之,客户之所以使用IBIS模型,是因为在仿真中使用它们不仅有助于节省成本,而且能节省设计和调试时间,从而更快地从电路板设计中产生收入。
这里有ADI公司产品的 IBIS仿真模型 集合。
参考电路
Casamayor, Mercedes。AN-715—走近IBIS模型:什么是IBIS模型?它们是如何生成的?。ADI公司,2004年。
IBIS建模手册(IBIS 4.0版)。IBIS开放论坛,2005年9月。
IBIS 7.0版。IBIS开放论坛,2020年4月。
Roy Leventhal和Lynne Green。 半导体建模:用于信号、电源和电磁完整性仿真。Springer,2006年。