• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > ADS > ADS教程 > ADS SI:用ADS进行IBIS-AMI高速串行总线仿真

ADS SI:用ADS进行IBIS-AMI高速串行总线仿真

录入:edatop.com    点击:

本文主要用于说明用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值:



参考文献:


  1. ADS高速电路信号完整性应用实例

  2. ADS Help



-----本节完-----



Agilent ADS 教学培训课程套装,专家讲解,视频教学,助您用最短的时间学会ADS

上一篇:ADS信号完整性专题之通道仿真负载选择
下一篇:ADS中传输线建模方法和TDR仿真

ADS培训课程推荐详情>>

  网站地图