- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
ADS SI:用ADS进行IBIS-AMI高速串行总线仿真
IBIS-AMI ( Algorithmic Modeling Interface, 算法模型接口) 是在 IBIS 规范 5. 0 以后为 解决高速串行仿真问题引入的新概念, 随着 IBIS-AMI 模型的应用越来越普遍, 了解 IBIS AMI 模型的原理就成了必须要掌握的内容。目前大部分芯片厂商都为高速串行信号提供了IBIS-AMI模型。
一、IBIS-AMI仿真理论
1IBIS-AMI 模型与普通IBIS模型的区别由于高速串行信号的速率不断提高, 幅度不断变小, 对于高于 1 GHz 的信号其幅度衰减比较大, 在接收端可能看不到一个睁开的眼图。
对于处理高速串行信号需要在信号的发送端将信号做预加重处理, 对于大于 5 GHz 的信号还需要在接收端对信号做均衡处理,对于传统的 IBIS 模型无法对复杂的均衡算法电路进行描述, 同时,芯片厂商出于知识产权保护的目的,通常不会提供详细的SPICE电路模型给用户使用,即使拿到芯片的SPICE模型,要直接通过SPICE仿真分析并优化低误码率下的系统性能,也因为需要花费太长的时间而变得不现实。另一方面,我们又想保留传统IBIS模型行为级模型的特性, IBIS-AMI 模型由此诞生。
IBIS-AMI 模型是利用传统 IBIS 模型的 V/I、 V/t 等参数来定义芯片的电气参数, 然后通过AMI进行预加重、均衡和时钟恢复等信号运算, 帮助接收端得到睁开的眼图。
IBIS - AMI 与其他模型 ( Spice 等) 相比, 具有以下优点,从而更加符合芯片厂商和硬件设计者的需求:
-
兼容性: 不同半导体芯片厂商生成的模型可以在同一电路中仿真。
-
可移植性: 相同的模型可以用不同的仿真软件来仿真分析。
-
高效率: 10000000 bit 的仿真可以在 10 min 或者更短的时间内完成。
-
灵活性: 模型支持统计和时域分析模式。
-
可优化: 模型提供仿真控制参数(如抽头系数等),用户可以通过电路仿真器对各个参数进行扫描,优化,改善系统性能。
-
知识产权保护: 芯片厂家只提供模型算法部分的加密动态链接库文件,以避免逆向设计。
2IBIS-AMI 模型结构
AMI是Algorithmic Modeling Interface的缩写,AMI将Serdes设备模型分为电气和算法两个部分:
电气部分包括发射端与接收端芯片I/O模拟电路部分及无源通道,AMI要求他是线性是不变的,其中芯片的I/O模拟电路部分通过传统的IBIS模型实现,无源通道包括系统Channel和芯片Package, 如下图:
算法部分包括发射端和接收端均衡算法及时钟恢复电路,对这一部分不要求是线性时不变。算法部分的具体实现通过动态链接库文件封装为一个黑盒子,只通过.ami文件的参数文件与IBIS文件实现对接。
来自SiSoft的一份Paper对其总结如下:
一个IBIS-AMI模型通常包含以下几个文件:
.ibs文件:传统的.ibs文件,包含模拟电路接口以及[Algorithmic Model]关键词部分,[Algorithmic Model]关键词部分定义了AMI模型的另外几个文件(.ami, .dll)路径以及编译平台。
.ami文件:指定AMI模型参数。
.dll 或.so文件:定义均衡及时钟恢复算法。
3IBIS-AMI模型的工作原理
AMI 有两种不同的工作级别, 分别是 :
-
INIT: 脉冲响应处理 ( Impulse Response Processing)
-
GETWAVE: 时域波形处理 ( Time-domain Waveform Processing)
由下图可以看出, INIT 处理的是冲激响应, GETWAVE 处理的是动态波形 ( 均衡、预加重、时钟恢复等功能) 。 INIT 将含有通道与芯片 TX / RX 特性的冲激响应输出, 然后将输出的冲击响应与激励码型卷积, 然后经过 GETWAVE 处理得到最后的波形。
IBIS V5.0规范里面对AMI模型的工作流程也做了说明,描述如下,其中符号*代表卷积, b ( t ) *p ( t ) 代表仿真的信号, b ( t ) 是诸如 00101011 的比特
流, p( t) 是比特宽度 , hAC( t) 代表通道的冲激响应。
-
第一步: 取到通道的脉冲响应。
-
第二步: 判断有无 INIT TX 模式, 若有, 则将第一步的结果与 INIT TX 响应函数做卷积作为第二步的结果; 若没有, 则取第一步的结果。
-
第三步: 判断有无 INIT RX 模式, 若有, 则将第二步的结果与 INIT RX 响应函数做卷积作为第三步的结果; 若没有, 则取第二步的结果。
-
第四步: 将第三步的结果与仿真的信号 b( t) *p( t) 卷积作为第四步的结果。
-
第五步: 判断有无 GETWAVE TX 模式, 若有, 则将第四步的结果作为 GETWAVE TX响应函数 gTEG( ) 的自变量作为第五步的结果; 若没有, 则取第四步的结果。
-
第六步: 判断有无 GETWAVE RX 模式, 若有, 则将第五步的结果作为 GETWAVE RX响应函数 gREG( ) 的自变量作为第六步的结果; 若没有, 则取第五步的结果。
-
第七步: 取第六步的结果作为输出的结果。
二、在ADS中用IBIS-AMI进行仿真
在ADS软件中,AMI仿真同样可以在Channel Simulation里面完成,分为统计仿真和时域仿真(Bit-by-bit)两种仿真模式,两种仿真模式对AMI模型算法部分的要求有所不同:统计模式要求算法模型满足线性时不变要求,而bit-by-bit模式没有限定。因此,并非所有的AMI模型都可以用统计模式进行仿真。
进行AMI仿真需要专门的AMI元件。ADS中提供了6中AMI元件:
-
TX_AMI: 发射端
-
RX_AMI: 接收端
-
XtlkTx_AMI: 串扰发射端
-
XtlkRx_AMI: 串扰接收端
-
Retimer和Redriver:中继器
继续用之前的一个通道做为实例,TX, RX分别换成TX_AMI, RX_AMI,IBIS-AMI模型用Broadcom的一个模型做为说明。
双击Tx_AMI元件,如下图。里面的各项参数意义如下:
-
IBIS File: 指定IBIS文件名
-
Component: 下拉选择要仿真的芯片名称。
-
Set all data: 下拉选择IBIS模型的Corner值 (Typical, Min, Max, Fast, Slow)。
-
Use Package:是否使用RLC封装参数
-
Package, Pin, Model, I_V Data, Driver Schedule, SubModel: 用于指定仿真的IBIS管脚,模型等。
-
AMI: 设置AMI模型参数,此处是AMI仿真最重要的一步。Reserved Parameters: IBIS规范中定义的保留参数。Model Specific: 规范中没有的,自定义的模型参数,这里会有AMI模型中用于均衡调整的部分,比如上例中Precuror, Main, Postcursor都在这里设置。
-
PRBS, Encoder: 设置发射源的码型及编码方式。
常见的AMI参数解释如下:
init_Return_Impulse: 若为True, 算法模型有等效的线性时不变脉冲响应,此时AMI模型可用于统计模式,若为False, 则算法模型没有等效的线性时不变脉冲响应,不能用于统计模式。init_Return_Impulse=True常见于发射端模型,或简单的固定系数均衡、没有时钟恢复的接收端模型。
GetWave_Exists: 若为True, 算法模型一般为非线性时变模型,需要通过AMI_GetWave函数生成输出信号。GetWave_Exists=True常见于采用自适应均衡、带有时钟恢复功能的接收端模型。
通常,init_Return_Impulse 和 GetWave_Exists 取值相反,若init_Return_Impulse=False, 则GetWave_Exists=True, 反之依然。
Use_Init_Output: 若为True, 仿真器创建提交给AMI_GetWave的输入信号时使用AMI_Init函数输出的脉冲响应,若为False, 仿真器创建提交给AMI_GetWave的输入信号时使用通道的原始脉冲响应。
自定义的参数通常用于控制均衡算法,可以选择自定义参数的方式为User Specified, 手动输入数值或通过定义的变量来进行参数扫描与优化。
RX_AMI模型基本与TX_AMI类似,不再赘述。在上述例子Case中,需要注意的是均衡的设置有几种不同选择,如果有特定的数值,可以选择User specified 或其他,如果没有的话,可以选择“auto", 仿真器会对均衡进行自适应优化,得到最优化的眼图。
本例中,所有的均衡方法设置为"auto", 仿真结果如下:
同时,可以在仿真器的界面中,找到经过优化的EQ值:
参考文献:
-
ADS高速电路信号完整性应用实例
-
ADS Help
-----本节完-----
Agilent ADS 教学培训课程套装,专家讲解,视频教学,助您用最短的时间学会ADS
上一篇:ADS信号完整性专题之通道仿真负载选择
下一篇:ADS中传输线建模方法和TDR仿真
国内最全面、最专业的Agilent ADS培训课程,可以帮助您从零开始,全面系统学习ADS设计应用【More..】
- Agilent ADS教学培训课程套装
- 两周学会ADS2011、ADS2013视频教程
- ADS2012、ADS2013射频电路设计详解
- ADS高低阻抗线微带滤波器设计培训教程
- ADS混频器仿真分析实例视频培训课程
- ADS Momentum电磁仿真设计视频课程
- ADS射频电路与通信系统设计高级培训
- ADS Layout和电磁仿真设计培训视频
- ADS Workspace and Simulators Training Course
- ADS Circuit Simulation Training Course
- ADS Layout and EM Simulation Training Course
- Agilent ADS 内部原版培训教材合集