CST 眼图仿真实例(补充1):IBIS-AMI之Statistical方法
IBIS-AMI用于完整的SerDes信道性能分析:
本期介绍IBIS-AMI的Statistical流程。该流程是众多IBIS-AMI模型支持的流程中最基础的一个,发射Tx和接收Rx的dll都只有AMI_Init这个函式,然后算出信道的脉冲响应和AMI均衡器的眼图改善效果。
我们以2022版的自带案例为例,介绍IBIS-AMI 统计流程的操作步骤:
先简单介绍这个案例有什么,该案例用4端口的SPICE模型模拟信道:
案例的仿真任务分三部分,第一个“Tran1”是Transient任务,用来启动IBIS和获得模拟信道的特征,该特征就是step response阶梯响应。第二个“IbisAmi_Statistical”是IBIS-AMI任务,最后一个“Eye_Diagram_Statistical”是后处理眼图工具,因为我们的流程是Statistical统计法,所以需要眼图工具。
下面详细介绍流程。
Step1. 准备IBIS AMI文档
IBIS AMI 模型由描述电气特性的传统的IBIS模型文件(*.ibs)、包含编译后算法的动态链接库文件(*.dll/*.so)以及参数描述文档(*.ami)三个文件共同构成。简单解释就是,IBIS-AMI比传统IBIS多了数字信号处理部分。所以用户一般有6个供应商提供的文档,传输端的.ibs,.ami和.dll, 接收端的.ibs, .ami和.dll, 如果一个.ibs包括两端,那么就是5个文档。
我们需要确保这些文档都在一个文件夹下,然后拖拽.ibs文件进电路界面,其他文档将自动拷贝进入cst项目。比如,自带案例项目文件夹中可查看其使用的IBISAMI文档:
Step2. 建立SerDes电路模型(可包括3D)
比如自带案例的简单信道模型:
实际操作也可以用Touchstone、分析模型、3D仿真模块来建立比如PCB加封装这样完整的端到端的信道。
这里的带箭头的IBIS模块是之前拖拽进来的.ibs,我们叫参考模块。另外两个AMI模块是指向它的,因为这一个IBIS包括了Tx和Rx内容。这里需要搞清楚模块的名称,比如Tx这个IBIS-AMI模块目前叫“IBIS1”,Rx那个就是“IBIS2”,这些名称在下一步的Transient任务中需要。
Step 3. 计算阶梯响应Step Response
添加Transient任务:
设置Tmax和采样数量:
这里的采样需要是线性采样,用的UI是0.1ns,所以每个bit采样是1600/100=16。这个要依据AMI供应商提供的说明书。Transient任务激励Port1一个足够长的pulse作为step信号:
确保我们的IBIS发射和接收的阶梯信号结果合理:
Step 4. 添加IBIS-AMI 任务
任务设置中,定义UI=0.1,选择Statistical流程,发射和接收要选择对应的IBIS模块名称,然后Channel选择上一步的Transient任务名称Tran1。
这步先不需要更新IBIS-AMI任务,等下一步之后再更新计算。该任务会基于上一步Transient任务计算出来的信道Step Response阶梯响应,进一步计算具有IBIS-AMI处理效果的Impulse Response脉冲响应和Step Response阶梯响应。
Step 5. AMI参数查看和设置
我们当然可以直接开AMI 文档查看和修改参数:
也可以在上一步的IBIS-AMI任务中查看和修改:
以下是该自带案例用的IBIS-AMI参数,不同AMI文档内容有差别。
Tx 的AMI参数:
可见该IBIS-AMI的Tx只支持Init_Returns_Impulse函式;是个InitOnly 模型。模型目前使用自适应FFE前馈均衡器。
Rx的AMI参数:
可见该IBIS-AMI的Rx也是支持Init_Returns_Impulse函式;是个InitOnly 模型。目前使用自适应CTLE连续时间线性均衡器,自适应DFE判决反馈均衡器,具有时钟和数据恢复CDR。
这两个界面中,可以对Model_specific参数进行修改,但是Reserved_Parameters是不可修改的。这里的IBIS-AMI是有详细的说明书的,以后我们再找案例详细介绍内容。
Step 6. 仿真IBIS任务,查看Impulse Response脉冲响应结果
更新仿真任务获得结果:
接收处的脉冲响应Impulse Response:
阶梯响应Step Response:
这里的阶梯响应和之前的Transient任务计算的阶梯响应不要混淆,二者名称一样,但是内容有一差别。之前的step响应是没有AMI据衡器的;这里的step响应结果有AMI均衡器,用于下一步的眼图计算。
其实仔细看能看出来均衡器效果,比如Post_Tx的上升沿调整与电压下降,都是FFE均衡的效果。
这里的三个信号,Analog channel,Post_Tx和Post_Rx,分别对应Impulse Response下面,Tx:AMI_Init下面,和Rx:Ami_Init下面的三个位置。再回忆数字信号处理流程:
也就是说,Post_Tx考虑了Tx的均衡器,Post_Rx考虑了Rx的均衡器,Analog Channel没有均衡器。三个都是接收端的结果,不要被“Tx”误导。
Step 7. 眼图工具Statistical设置
这里我们添加了两次眼图工具,分别用Analog channel和Post_Rx的step信号来获取眼图。
Step 8. Statistical眼图结果
更新眼图工具后处理,获得结果:
没有AMI均衡器的眼图(analog channel)紧闭和根本不漏水的浴盆图:
有AMI 均衡器的眼图(Post_Rx)和浴盆图:
可见AMI均衡器的效果能够加大眼宽眼高,加宽浴盆开口。
小结:
1. IBIS-AMI比传统IBIS多了数字信号分析,需要仿真的流程分Statistical统计流程和Time Domain时域流程(Transient)。
2. 根据AMI文档中介绍的Tx和Rx支持的函式来判断该IBIS-AMI模型可用于什么流程的仿真。本案例介绍的是基础的Statistical。
3. 根据AMI的用户手册(说明书)定义采样、忽略位数、均衡器参数等等。众多均衡器在本案例中的AMI文件参数中使用,这里并没有详解,只是注重于流程。以后有机会再解释AMI参数和均衡器细节。
4. CST的AMI流程(statistical)简单说就是Transient任务加上IBIS-AMI任务,最后眼图工具后处理。