PCIe4发射机/接收机IBIS-AMI型号
这个例子展示了如何使用SerDes Toolbox™中的库块创建通用的PCIe第4代(PCIe4)发射器和接收器IBIS-AMI模型。生成的型号符合IBIS-AMI和PCI-SIG PCIe4规范。
PCIe4 Tx/Rx IBIS-AMI模型设置在SerDes设计应用程序
本例的第一部分使用SerDes Designer应用程序中PCIe4所需的块设置目标发射器和接收器AMI模型体系结构。然后将模型导出到Simulink®以供进一步定制。金宝app
本例使用SerDes Designer模型pcie4_txrx_ami
.在MATLAB®命令窗口中输入以下命令打开模型:
> > serdesDesigner(“pcie4_txrx_ami”)
一个符合PCIe4标准的发射机使用3.
-tap前馈均衡器(FFE),具有一个预tap和一个后tap,以及十个预置。接收机模型使用连续时间线性均衡器(CTLE),具有7个预先定义的设置2
-点击决策反馈均衡器(DFE)。为了支金宝app持此配置,SerDes系统设置如下:
配置设置
符号时间设置为
62.5
ps,因为PCIe4允许的最大工作频率为16
GHz系统设置为
1 e-12
.每个符号的样本,调制,信号均保持默认值,分别为
16
,NRZ
(不归零),和微分
.
发射机模型设置
Tx FFE块设置为一个预轻拍和一个后轻拍,包括三个轻拍重量。当模型导出到Simulink时,具体的点击预设将在后面的示例中添加。金宝app
Tx AnalogOut模型是这样设置的电压是
1.05
V,上升时间是12
ps,R(输出电阻)为50
欧姆,C(电容)0.5
pF根据PCIe4规范。
渠道模型建立
频道损失设置为15 dB。
目标频率设置为奈奎斯特频率,
8
GHz。差分阻抗保持默认值
One hundred.
欧姆。
接收机模型设置
建立了Rx Analogin模型,以便R(输入电阻)为
50
欧姆,C(电容)0.5
pF根据PCIe4规范。Rx CTLE块设置为7个配置。的GPZ(增益极点零)矩阵数据来源于PCIe4行为CTLE规范中给出的传递函数。
Rx DFE/CDR块设置为两个DFE点。每个丝锥的极限已根据PCIe4规范单独定义
+ / -30
mV等于tap1和+ / -20
tap2的mV。
统计结果
使用SerDes Designer绘图来可视化PCIe4设置的结果。
添加的误码率情节从添加图并观察结果。
更改Rx CTLE配置选择参数值来自0
到6,观察这如何改变数据眼。
修改Tx FFE的值利用权重从[0 10 0]
来[-0.125 0.750 -0.125]
并观察结果。
更改Rx CTLE模式来适应
并观察结果。在这种模式下,所有CTLE值都被扫描以找到最佳设置。
在继续之前,请重置Tx FFE的值TapWeights回[0 10 0]
和Rx CTLEConfigSelect回0
.离开RxCTLE模式在适应
.在这里重置这些值将避免在模型导出到Simulink后再次设置它们。金宝app当生成最终的AMI模型时,这些值将成为默认值。
导出SerDes系统到Simulink金宝app
点击出口按钮将上述配置导出到Simulink,以便进一步定制和生成AMI模型可执行文件。金宝app
PCIe4 Tx/Rx IBIS-AMI模型在Simulink设置金宝app
本例的第二部分采用SerDes Designer应用程序导出的SerDes系统,并根据需要在Simulink中对PCIe4进行定制。金宝app
复习Simul金宝appink模型设置
导入Simulink的SerDes System由Configu金宝appration、Stimulus、Tx、Analog Channel和Rx块组成。SerDes Designer应用程序中的所有设置都已转移到Simulink模型。金宝app保存模型并检查每个块的设置。
双击Configuration块,打开块参数对话框。的参数值符号时间,每个符号的样本,系统,调制而且信号是从SerDes Designer应用程序转过来的。
双击刺激块打开块参数对话框。您可以设置伪随机位序列(伪随机二进制序列)的顺序和符号的数量来模拟。这个块不是从SerDes Designer应用程序转移过来的。
双击Tx块以查看Tx子系统内部。子系统有来自SerDes Designer应用程序的FFE块。还引入了Init块来建模AMI模型的统计部分。
双击模拟通道块打开块参数对话框。的参数值目标频率,损失,阻抗和Tx/Rx模拟模型参数从SerDes设计应用程序。
双击Rx块以查看Rx子系统的内部。子系统有来自SerDes Designer应用程序的CTLE和DFECDR块。还引入了Init块来建模AMI模型的统计部分。
运行模型
运行模型来模拟SerDes系统。
生成两个图。第一个是实时时域(GetWave)眼图,随着模型的运行而更新。
第二个图包含统计(Init)和时域(GetWave)结果的视图,类似于SerDes Designer App中提供的视图。
更新Tx FFE块
在Tx子系统中,双击FFE块以打开FFE块参数对话框。
扩大IBIS-AMI参数以显示IBIS-AMI模型中包含的参数列表。
请取消模式参数从AMI文件中删除此参数,有效地硬编码当前值模式在最后的AMI模型中
固定
.
回顾Rx CTLE Block
在Rx子系统中,双击CTLE块以打开CTLE块参数对话框。
增益极点零数据来自SerDes Designer应用程序。该数据来自PCIE4 Behavioral CTLE规范中给出的传递函数。
CTLE模式设置为
固定
,这意味着内置于CTLE系统对象中的优化算法在运行时选择最优的CTLE配置。
更新Rx DFECDR Block
在Rx子系统中,双击DFECDR块以打开DFECDR块参数对话框。
扩大IBIS-AMI参数以显示IBIS-AMI模型中包含的参数列表。
清除相抵消而且引用偏移量参数从AMI文件中删除这些参数,有效地将这些参数硬编码为它们的当前值。
生成PCIe4 Tx/Rx IBIS-AMI模型
本例的最后一部分采用定制的Simulink模型,修改PCIe4的AMI参数,然后生成符合IBIS-AMI金宝app的PCIe4模型可执行文件、IBIS和AMI文件。
打开Configuration块的块参数对话框,单击打开SerDes IBIS/AMI管理器按钮。在宜必思选项卡内的SerDes IBIS/AMI管理器对话框,模拟模型值转换为标准IBIS参数,可用于任何行业标准模拟器。在AMI-Rx在SerDes IBIS/AMI管理器对话框中,首先列出保留参数,然后是典型AMI文件格式下的特定于模型的参数。
更新发射机AMI参数
打开AMI-Tx选项卡中的“SerDes IBIS/AMI管理器”对话框。遵循典型AMI文件的格式,首先列出保留参数,然后是特定于模型的参数。
在Model_Specific参数,你可以设置TX FFE tap值在三种不同的方式:
将Tx FFE抽头值保留为默认配置,您可以为前/主/后抽头值输入任何浮点值。
创建一个新的AMI参数以自动选择预设值-请参阅管理AMI参数.
直接指定PCIe4规范中定义的十个预设系数-本例中如下所示。
当您直接指定预设系数时,您将更改这三个系数的格式TapWeights并为每个预设指定要使用的确切值。只有这10个预设是允许的,而且所有3个点击都必须设置为相同的预设才能得到正确的值。
设置预拍丝锥
选择TapWeight 1,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.000
.改变描述来
预拍抽头值
.改变格式从
范围
来列表
.改变默认值来
0.000
.在列表值框中输入:
[0.000 0.000 0.000 0.000 0.000 -0.100 -0.125 -0.100 -0.125 -0.166]
.在List_Tip值框中输入:
[" P0”“P1”“P2”“P3”“P4”“P5”“P6”“P7”“P8”“票数”]
.点击好吧以保存更改。
设置主丝锥
选择TapWeight 0,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.750
.改变描述来
主丝锥值
.改变格式从
范围
来列表
.改变默认值来
0.750
.在列表值框中输入:
[0.750 0.833 0.800 0.875 1.000 0.900 0.875 0.700 0.750 0.834]
.在List_Tip值框中输入:
[" P0”“P1”“P2”“P3”“P4”“P5”“P6”“P7”“P8”“票数”]
.点击好吧以保存更改。
设置弱化按钮
选择TapWeight 1,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
-0.250
.改变描述:
不再强调抽头值
.改变格式从
范围
来列表
.改变默认值来
-0.250
.在列表值框中输入:
[-0.250 -0.167 -0.200 -0.125 0.000 0.000 0.000 -0.200 -0.125 0.000]
.在List_Tip值框中输入:
[" P0”“P1”“P2”“P3”“P4”“P5”“P6”“P7”“P8”“票数”]
.点击好吧以保存更改。
添加Tx抖动参数
要为Tx模型添加抖动参数,请单击保留参数…按钮打开Tx添加/删除抖动和噪声对话框,选择Tx_DCD,Tx_Dj而且Tx_Rj框,然后单击好吧将这些参数添加到Tx AMI文件的“保留参数”部分。以下范围允许您微调抖动值,以满足PCIe4抖动掩码要求。
设置“Tx DCD抖动值”
选择Tx_DCD,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.0
.改变格式来
范围
.设置Typ价值
0
.设置最小值价值
0
.设置马克斯取值为3
.0e-11
点击好吧以保存更改。
设置Tx Dj抖动值
选择Tx_Dj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.0
.改变格式来
范围
.设置Typ价值
0
.设置最小值价值
0
.设置马克斯取值为3
.0e-11
点击好吧以保存更改。
设置“Tx Rj抖动值”
选择Tx_Rj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.0
.改变格式来
范围
.设置Typ价值
0
.设置最小值价值
0
.设置马克斯价值
2.0 e-12
点击好吧以保存更改。
更新接收机AMI参数
打开AMI-Rx选项卡中的“SerDes IBIS/AMI管理器”对话框。遵循典型AMI文件的格式,首先列出保留参数,然后是特定于模型的参数。
添加Rx抖动参数
要为Rx模型添加抖动参数,请单击保留参数…按钮,打开Rx添加/删除抖动和噪声对话框,选择Rx_DCD,Rx_Dj而且Rx_Rj框,然后单击好吧将这些参数添加到Rx AMI文件的“保留参数”部分。以下范围允许您微调抖动值,以满足PCIe4抖动掩码要求。
设置Rx DCD抖动值
选择Rx_DCD,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.0
.改变格式来
范围
.设置Typ价值
0
.设置最小值价值
0
.设置马克斯取值为3
.0e-11
点击好吧以保存更改。
设置Rx Dj抖动值
选择Rx_Dj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.0
.改变格式来
范围
.设置Typ价值
0
.设置最小值价值
0
.设置马克斯取值为3
.0e-11
点击好吧以保存更改。
设置“Rx Rj抖动值”
选择Rx_Rj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.0
.改变格式来
范围
.设置Typ价值
0
.设置最小值价值
0
.设置马克斯值为1
.0e-12
点击好吧以保存更改。
出口的模型
打开出口选项卡中的“SerDes IBIS/AMI管理器”对话框。
更新Tx型号名称来
pcie4_tx
.更新Rx型号名称来
pcie4_rx
.注意Tx和Rx角百分比设置为
10
.这将按+/-10%的比例缩放模拟模型的最小/最大角值。验证二元模型Tx和Rx AMI模型设置都被选中。这将创建支持统计(Init)和时域(GetWave)分析的模型可执行文件。金宝app
设置Tx模型位忽略值来
3.
因为Tx FFE有三个水龙头。设置Rx模型忽略值的位来
20000年
使Rx DFE丝锥在时域模拟过程中有足够的时间沉降。集要导出的模型作为包括Tx和Rx以便选择所有要生成的文件(IBIS文件、AMI文件和DLL文件)。
设置IBIS文件名是
pcie4_serdes
.按下出口按钮在Target目录中生成模型。
测试生成的IBIS-AMI模型
PCIe4发射器和接收器IBIS-AMI模型现在已经完成,可以在任何行业标准AMI模型模拟器中进行测试。
参考文献
[1]一种总线标准团体,https://pcisig.com.