1.1 IBIS 模型的定义和用途
IBIS(Input/Output Buffer Informational Specifation),表示输入/输出缓冲器信息规范。它代表了IC供应商提供给客户进行高速设计仿真的器件的数字引脚的特性或行为。这些模型使用IBIS开放论坛(负责管理和更新IBIS模型规范与标准的行业组织)所规定的参数模仿器件的I/O行为。它们不包含专有数据,因为模型中没有披露IC原理图设计信息,如晶体管尺寸、缓冲器原理图设计中使用的器件模型参数和电路等。从版本5.0开始,规范包含两种不同类型的模型:“传统IBIS”和“IBIS-AMI”。“传统IBIS”模型使用ASCII文本文件格式,提供表格化的电压-电流和电压-时间信息。IBIS-AMI模型在专用SerDes通道模拟器中运行,而不是在类似SPICE的模拟器中运行,并且由两个文本文件(*.ibs 和 *.ami)和一个特定平台的机器代码可执行文件(Windows上是*.dll,Linux上是*.so)组成。IBIS-AMI支持统计和所谓的时域通道模拟,以及三种类型的 IC 模型(“impulse-only”、“GetWave-only”和“dual mode”)。
IBIS模型通常用来代替SPICE模型,执行各种板级和系统级信号完整性仿真和时序分析。由于IBIS模型是为解决板级和系统级信号完整性而诞生的。所以,在信息化和网络化时代,IBIS模型获得了大部分EDA供应商的支持,可以在大多数EDA仿真平台中运行。
1.2 IBIS 模型的历史背景和发展
20世纪80年代 IBM公司设计、确立的ISA总线标准,在个人计算机早期发展阶段占据着统治地位。但随着个人计算机的爆炸性发展和微处理器性能的不断提升,ISA总线的数据传输速度逐渐成为计算机整体性能的瓶颈。ISA总线采用8MHz时钟总线,最大宽度16位,理论最大传输速度16MB/s,这难以满足处理器与外设间日益增长的数据交互的需要。时间来到1991年,Intel公司首次向业界推出它全新设计的总线架构--PCI总线。PCI总线在时钟和总线宽度两方面均作出提升,将时钟频率提升至33MHz,总线宽度扩大至32位,总线的理论最大传输速度达132MB/s 以上。要知道,33MHz 的时钟频率是与当时CPU的运行时钟频率(主频)是齐平的。这也是 PCI总线为什么选择33MHz为运行时钟频率值的原因。在当时的技术条件下,对一种总线技术而言,33MH的运行时钟频率是一个全新的高速度。正是这个全新的运行速度,给板级数字电路系统的设计带来全新的改变。
从此以后,一个全新的设计要素成为数字电路设计者们不得不面对的新课题,成为决定电路成败的绝对关键,这就是我们今天再熟悉不过的“信号完整性”。在ISA总线的时代,板级电路的正确性直接来自于逻辑和原理层面的正确性,不需要关心信号的波形质量,无所谓信号波形的优劣,也即无所谓信号的“完整性”。这时的信号互连设计,也就是印制电路板的布线设计,是纯粹以“连通”为目的的设计,信号走线的需求是“连通”即可,没有其他考究,在这上面也从未出过问题。但当信号速度达到33MHz这样的级别,正如我们现在已经知道的,反射、时延和噪声等现象给信号波形带来的干扰,其严重程度可能足以导致信号逻辑状态的错误判决,使信号失去其驱动电路正确工作的“完整性”。在低速电路时代从未失效过的“逻辑设计正确,则电路设计正确”的法则不再适用。板级数字电路的正确性,除了取决于“逻辑完整性”,还取决于“信号完整性”。数字电路系统的设计工程师们发现,他们现在需要像模拟电路工程师一样关心信号的波形。印制电路板的布局和布线,再也不是仅需要“连通”即可的事情。
Intel的工程师是最早面对这个问题的一批人。PCI总线的正式规范发布于1992年6月(PCI技术规范1.0 版),而在规范发布之前的1990年和1991 年,Intel内部已经开始考虑PCI总线系统的板级电路设计与实现。于是,Intel进行了PCI总线的信号完整性仿真分析,以对这一新型总线架构在板级互连后的信号表现进行评估和验证。这可能是最早开展的纯粹针对数字电路板级系统的信号完整性仿真活动。仿真需要模型,Intel的芯片设计部门需要向系统设计部门提供PCI信号的芯片级模型,供后者进行PCI板级电路系统信号完整仿真使用。这个时候Intel的芯片设计部门并没有任何现成的PCI芯片设计,且由于PCI总线的规范草案正处讨论验证阶段,规范对于PCI芯片技术特性的规定还未最终敲定,芯片设计部门还未开始正式的芯片设计工作,也就暂时无法提供PCI总线芯片的SPICE 模型。
时势造英雄,这时候Donald Telian所领导的团队(该团队主导创造了PCI总线和IBIS模型)提出了一个想法:为I/O缓冲器创建一个信息表,并使用此信息测试Intel的电路板。是的,这种方法只需要芯片部门提供芯片输入、输出的详细行为数据,主要包括芯片在输入、输出时的电压-电流关系(V-I曲线)和电压-时间关系(V-t曲线)。其他的在SPICE模型中需要提供的大量信息,如芯片IO电路的晶体管级组成结构、连接关系、晶体管内部结构参数、工艺制程参数等,统统不需要。这种只反映从外部感受到的芯片输入、输出“行为”,我们称为“行为级”模型。正是这个改变,Donald Telian团队几乎不需要任何芯片设计技术背景,只需根据PCI总线需要达到的板级互连能力目标,预先规划出芯片IO可能需要具备的行为特性,构造出“行为级”模型,然后进行信号完整性仿真,根据仿真结果对模型进行优化,再仿真,再优化,最终获得PCI总线芯片所需要具备的IO行为特性参数,并反馈给芯片设计部门。芯片设计部门按照这种已经经过信号完整性仿真验证的参数要求来设计PCI总线芯片的IO电路,极大地缩短了设计研发周期。
很快,Intel与其客户共享这些信息表以帮助后者进行电路板设计,但不提供任何专有信息。为了能够可靠地将纸张形式的表格中的信息传送到客户的仿真器,Intel决定与EDA供应商和其他计算机制造商合作。他们创建了IBIS开放论坛,以帮助标准化计算机可读格式的缓冲器信息。于1993 年4月23日,由“IBIS模型之父”Donald Telian代表的英特尔组织发起,Cadence、HyperLynx等六家模拟软件工具供应商参与,举行了第一届 IBIS 开放论坛会议。会议通过了IBIS的更名提案,名字由iBIS(Intel Buffer Information Sheet)“英特尔缓冲器信息表”改成IBIS(I/O Buffer Information Sheet)“输入输出缓冲器信息表”。这个提案来自英特尔团队,旨在鼓励全行业参与IBIS建模。于2.0版本更名为输入/输出缓冲器信息规范。
1995年,IBIS开放论坛与美国国家标准协会/电子工业联盟(ANSI/EIA)合作。IBIS 2.1版是新联盟发布的第一个版本,它增加了模拟ECL和PECL缓冲器以及差分信号描述。IBIS 3.2允许封装模型描述和电路板描述。IBIS 5.0版于 2008 年 8月29 日获得 IBIS开放论坛的批准,与之前的版本(IBIS 4.2、ANSI/EIA-656-B)相比,它增加了一个新的流程,不是基于SPICE 瞬态,而是基于通道模拟器(称为算法模型应用程序接口或 AMI流程)、电源完整性和EMC检查功能。为了保证电源完整性,它使用Touchstone 2.0 S 参数文件以及每端口参考阻抗规范。IBIS 5.1版于2012年8月24日获得批准。重要更改包括所谓的“流程 BIRD”,它解决了IBIS AMI流程中的许多歧义。
IBIS 6.0 版于2013年 9月20日获得批准。更改包括中通道中继器的IBIS-AMI 扩展、 IBIS-AMI 中抖动和噪声的新参数以及模拟缓冲区建模改进。IBIS 6.1版于2015年9月11日获得批准。更改包括 IBIS-AMI 中对 PAM-4 的支持、添加新的初始延迟关键字以及额外的超频选项。IBIS 7.0 版于2019年 3月15日获得批准。更改包括支持Touchstone 和IBI-ISS (SPICE) 互连建模,以及使用IBIS-AMI模型对反向通道链路训练协议进行建模。
上述这些表明表明,IBIS在不断发展以满足新技术要求。
1.3 IBIS 模型的优点和缺点
优点
更快的仿真速度
准确描述I/O缓冲器,适合系统板级和多板信号完整性仿真分析
消除SPICE不收敛的问题
客户可以准确访问I/O缓冲器信息而不危及IC厂商知识产权
模型可以免费从互联网或IC厂商获取
IBIS几乎可在所有EDA仿真平台运行
** 缺点**
免费意味着IC厂商对模型缺乏开放态度(AMI模型一般非大客户很难获取)
模型包含信息较少,不适合IC设计等需要高精度的领域
能免费获取的模型一般只支持规范V5.0版本以下,模型质量不高