跳到正文
半导体开放世界

IBIS-AMI SerDes 算法模型

IBIS Algorithmic Modeling Interface(IBIS-AMI)也称 AMI model、Algorithmic Model Interface、AMI_Init、AMI_GetWave、SerDes executable model

IBIS-AMI把SerDes发送、均衡、CDR和判决算法封装为标准参数文件与可执行模型,使厂商在保护实现细节的同时进行超长高速链路仿真。

报告问题

速览

约 1 分钟

传统IBIS主要描述引脚模拟波形,难以表示复杂自适应均衡和CDR。AMI通常包含.ami参数树、.ibs中的Algorithmic Model引用以及Windows/Linux可执行库;EDA工具把通道波形交给模型,再取得处理后的脉冲响应或逐比特波形。

系统理解

约 3 分钟

AMI模型以文本参数描述可配置项、方向、类型、默认值和约束,并以共享库实现标准入口。AMI_Init通常处理脉冲/阶跃响应并支持统计或Init-based时域;AMI_GetWave接收连续样本块,可保存状态、执行自适应均衡、非线性处理和返回恢复时钟;AMI_Close释放状态。

统计模式要求相应算法可由线性时不变脉冲响应表示,因此能快速组合极长码型概率并估计极低BER。GetWave逐比特允许非线性时变行为、训练、限幅、DFE错误传播和CDR,但计算量与所需bit数增长,低BER常仍需外推。支持两种路径的模型常称dual model。

模型封装保护SerDes IP,却也限制可见性。模型版本、平台/位数、运行库、参数语义、随机种子、Ignore_Bits、采样间隔和状态初始化都会改变结果;声称AMI但使用专有语义的模型可能不能跨工具互操作。

验证需检查模型能否加载、参数范围、Init与GetWave一致性、不同EDA工具结果、确定性重跑、非法输入错误信息和与硅/实验室的相关。模型可执行不等于物理准确,需保留厂商适用范围和校准版本。

承接IBIS模拟模型、SerDes、均衡与CDR,向后连接统计/逐比特仿真、COM相关、模型互操作、BER与硬件验证。

公式提示

LTI Init路径可写y(t)=x(t)*hAMI(t);GetWave可表示y[n]=F(x[0:n],state,parameters),一般不能压缩为固定卷积。

关键参数

关键参数
参数单位含义
.ibs/.ami与共享库版本—定义模拟端口、参数和算法实现
AMI_Init、GetWave与Close—定义初始化、逐块处理和释放生命周期
采样间隔、UI与block sizes / count限定波形接口
参数、随机种子与Ignore_Bits— / count决定配置、复现和预热
LTI/NLTV、clock_times与状态— / s决定可用仿真模式

常见误区

  • 认为所有AMI模型都支持统计和逐比特两种模式
  • 把Init脉冲响应用于任意非线性自适应算法
  • 模型能在一个EDA工具运行就代表完全可移植
  • 忽略Ignore_Bits和初始状态直接统计BER
  • 把封装模型当作真实芯片的无条件数字孪生

工程深入

16 条结论 · 1 道例题

模型构成与接口

定义

AMI扩展IBIS以承载SerDes算法

模拟端口和封装仍由IBIS/通道描述,AMI参数与可执行库处理发送和接收DSP。12

成立条件 Algorithmic Model引用完整;模拟与算法参考面一致

定义

.ami文件定义参数树和语义

参数名称、类型、方向、默认值、范围和层级使EDA工具能够配置模型。13

成立条件 参数符合规范语义;工具支持相应AMI版本

机制

共享库保护IP并执行算法

DLL或SO暴露标准入口而隐藏内部均衡和CDR实现,平台和位数必须与仿真环境匹配。13

成立条件 库架构和依赖可用;安全来源可信

边界

可执行库能加载不代表模型可移植

专有参数语义、未声明依赖和工具特定行为会使同一模型在不同EDA环境产生差异或失败。34

成立条件 至少两种工具互操作;记录运行库和平台

Init与统计路径

机制

AMI_Init可处理脉冲响应

EDA工具把模拟通道脉冲响应和参数交给TX/RX Init,取得算法处理后的响应供统计或卷积使用。34

成立条件 算法在该路径可视为LTI;采样间隔和脉冲长度满足模型

公式

LTI AMI路径可由固定卷积表示

若算法线性时不变,任意输入可与模型脉冲响应卷积得到输出。34

y[n]=Σk h[k]x[n−k]

h[k]
固定AMI脉冲响应,单位 1

成立条件 无自适应状态变化和限幅;h在目标配置固定

边界

统计模式不能表示训练轨迹

统计眼由固定响应和符号概率构造,没有真实bit顺序、抽头更新、失锁或重锁事件。34

成立条件 明确结果为概率分布;不把统计眼解释为某次波形

边界

Init-based时域有bit流但仍受LTI限制

固定脉冲响应可卷积具体码型形成时域眼,却不能自动获得非线性自适应和真实clock_times。24

成立条件 使用Init响应;区分GetWave路径

GetWave与状态

机制

AMI_GetWave逐块处理真实样本序列

模型接收连续波形块并保存跨块状态,可执行非线性、时变和自适应算法。34

成立条件 block边界连续;初始化与采样率正确

机制

GetWave可返回恢复时钟事件

RX模型可输出clock_times,使仿真器按内部CDR采样而非固定理想UI折叠眼图。34

成立条件 模型实现并声明clock_times;EDA工具正确消费

边界

Ignore_Bits防止把预热过程计入稳态

自适应均衡和CDR需要收敛,前若干bit应按模型和测试目的排除,但不能任意丢弃失败。34

成立条件 记录忽略bit数和原因;同时审查训练时间

边界

block size不应改变物理结果

若除性能外结果随波形块长度变化,可能存在状态保存、边界卷积或接口实现错误。34

成立条件 相同码型参数与随机种子;比较多block size

质量与复现

边界

dual model两条路径需要相互一致

在关闭非线性和自适应的共同条件下,Init统计与GetWave长期响应应在声明容差内相关。24

成立条件 使用等效配置;比较脉冲、眼和BER趋势

边界

随机模型必须暴露或固定种子

噪声和随机抖动若无可控种子会妨碍回归复现;固定种子又不能代替多种子统计。34

成立条件 记录seed与分布;重复多seed

机制

参数扫描应区分用户可控与模型输出

Input参数形成设计空间,Output参数报告训练结果;把输出回填为任意输入可能违反模型约束。13

成立条件 遵循Usage和Format;保存参数树版本

公式

10⁷ bit仿真在25 Gb/s只代表0.4 ms链路时间

逐比特计算量大,但对应真实高速链路时间可能仍很短。34

t=N/R=10⁷/(25×10⁹)=0.4 ms

N
仿真bit数,单位 bit
R
比特率,单位 bit/s

成立条件 线路比特率25 Gb/s;不计仿真计算耗时

例题:动手算一次教学假设,可复算

25 Gb/s链路逐比特仿真10⁷ bit对应多少真实时间?

已知

  1. N=10⁷ bit
  2. R=25 Gb/s

步骤

  1. t=10⁷/(25×10⁹)=4×10⁻⁴ s,bit数除以速率。
结果 0.4 ms。

大量bit仍可能覆盖很短真实运行时间。

不能外推到 不能由此证明慢速漂移、PVT或极低BER;计算机仿真耗时与链路时间不同。

出处

4 份资料 · 4 处引用
  1. 1

    I/O Buffer Information Specification Version 8.0

    查看这个来源 →
  2. 2

    Simulating High-Speed Serial Channels with IBIS-AMI Models

    查看这个来源 →
  3. 3
  4. 4