PCIe4发射器/接收器IBIS-AMI型号
这个例子展示了如何使用SerDes Toolbox™中的库块创建通用的PCIe Generation 4 (PCIe4)发射机和接收器IBIS-AMI模型。生成的型号符合IBIS-AMI和PCI-SIG PCIe4规范。
PCIe4 Tx/Rx IBIS-AMI模型设置在SerDes设计器应用程序
本示例的第一部分使用SerDes Designer应用程序中PCIe4所需的块设置目标发射器和接收器AMI模型体系结构。然后将模型导出到Simulink®进行进一步定制。
本例使用SerDes Designer模型pcie4_txrx_ami
.在MATLAB®命令窗口中输入以下命令打开模型:
> > serdesDesigner(“pcie4_txrx_ami”)
符合PCIe4标准的发射机使用3.
-tap前馈均衡器(FFE),具有一个预tap和一个后tap,和十个预设。接收机模型使用连续时间线性均衡器(CTLE),具有七个预先定义的设置,和一个2
-tap决策反馈均衡器(DFE)。为了支持此配置,SerDes系统设置如下:
配置设置
符号时间被设置为
62.5
ps,因为最大允许的PCIe4工作频率为16
GHz系统被设置为
1 e-12
.每个符号样本,调制,信号都保持默认值,分别为
16
,NRZ
(不返回零),和微分
.
发射机模型设置
Tx FFE块设置为一个预tap和一个post tap,包括三个tap权重。当模型导出到Simulink时,具体的点击预设将在后面的示例中添加。
Tx类比模型的建立是这样的电压是
1.05
V,上升时间是12
ps,R(输出电阻)50
欧姆,C(电容)0.5
pF按照PCIe4规范。
通道模型设置
频道损失设置为15 dB。
目标频率设置为奈奎斯特频率,
8
GHz。差分阻抗保持默认值
One hundred.
欧姆。
接收器模型设置
Rx类比模型是这样建立的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 1 0)
来(-0.125 0.750 -0.125)
观察结果。
更改Rx CTLE模式来适应
观察结果。在这种模式下,所有CTLE值都被扫描以找到最佳设置。
在继续之前,重置Tx FFE的值TapWeights回(0 1 0)
和Rx CTLEConfigSelect回0
.离开的处方CTLE模式在适应
.在这里重置这些值将避免在模型导出到Simulink之后再次设置它们的需要。在生成最终AMI模型时,这些值将成为默认值。
导出SerDes系统到Simulink
点击出口按钮将上述配置导出到Simulink,以便进一步定制和生成AMI模型可执行文件。
在Simulink中建立PCIe4 Tx/Rx IBIS-AMI模型
本例的第二部分采用SerDes Designer应用程序导出的SerDes系统,并根据需要在Simulink中对其进行定制。
回顾Simulink模型设置
导入到Simulink中的SerDes系统由配置、刺激、Tx、模拟通道和Rx块组成。SerDes Designer应用程序中的所有设置都已转移到Simulink模型中。保存模型并检查每个块设置。
双击Configuration块以打开块参数对话框。的参数值符号时间,每个符号样本,系统,调制而且信号从SerDes Designer应用程序中继承下来。
双击“刺激”块打开“块参数”对话框。您可以设置伪随机位序列(伪随机二进制序列)的顺序和要模拟的符号的数量。这个块不是从SerDes Designer应用程序转过来的。
双击Tx块查看Tx子系统内部。子系统从SerDes Designer应用程序中继承了FFE块。还引入了Init块来建模AMI模型的统计部分。
双击模拟通道块以打开块参数对话框。的参数值目标频率,损失,阻抗Tx/Rx模拟模型参数从SerDes Designer应用程序中继承。
双击Rx块查看Rx子系统内部。子系统有从SerDes Designer应用程序继承来的CTLE和DFECDR块。还引入了Init块来建模AMI模型的统计部分。
运行模型
运行模型模拟SerDes系统。
生成了两个图。第一个是实时时域(gewave)眼图,随着模型的运行而更新。
第二个图包含统计(Init)和时域(GetWave)结果的视图,类似于SerDes Designer App中的可用内容。
更新Tx FFE块
在Tx子系统中,双击FFE块以打开FFE块参数对话框。
扩大IBIS-AMI参数显示IBIS-AMI模型中要包含的参数列表。
请取消模式参数从AMI文件中删除该参数,有效地硬编码当前值模式在最后的AMI模型
固定
.
回顾Rx CTLE块
在Rx子系统中,双击CTLE块以打开CTLE块参数对话框。
获得极零数据来自SerDes Designer应用程序。这些数据来自于PCIE4行为CTLE规范中给出的传递函数。
CTLE模式被设置为
固定
,这意味着CTLE系统对象中内置的优化算法在运行时选择最优的CTLE配置。
更新Rx DFECDR块
在Rx子系统中,双击DFECDR块以打开DFECDR块参数对话框。
扩大IBIS-AMI参数显示IBIS-AMI模型中要包含的参数列表。
清除相抵消而且引用偏移量参数从AMI文件中删除这些参数,有效地将这些参数硬编码为它们的当前值。
生成PCIe4 Tx/Rx IBIS-AMI模型
本例的最后一部分采用定制的Simulink模型,修改PCIe4的AMI参数,然后生成符合IBIS-AMI的PCIe4模型可执行文件、IBIS和AMI文件。
打开配置块的块参数对话框,并单击打开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 tap值为默认配置,您可以为预/主/后tap值输入任何浮点值。
创建一个新的AMI参数来自动选择预设值-参见管理AMI参数.
直接指定PCIe4规范中定义的十个预设系数-如下例所示。
当您直接指定预设系数时,您将更改这三个系数的格式TapWeights并为每个预设指定要使用的确切值。只有这10个定义的预设是被允许的,并且所有三次点击都必须设置为相同的预设才能得到正确的值。
设置前冲丝锥
选择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.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抖动掩码的要求。
设置“发送DCD抖动值”
选择Tx_DCD,然后按编辑……按钮弹出“添加/编辑AMI参数”对话框。
设置当前值来
0.0
.改变格式来
范围
.设置Typ价值
0
.设置最小值价值
0
.设置马克斯值为3
.0e-11
点击好吧以保存更改。
设置“发送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)分析的模型可执行程序。
设置Tx模型位忽略值来
3.
因为有三个水龙头在Tx FFE。设置Rx模型位忽略值来
20000年
以便在时域模拟过程中有足够的时间让Rx DFE丝锥沉降。集模型出口作为包括Tx和Rx以便选择要生成的所有文件(IBIS文件、AMI文件和DLL文件)。
设置宜必思文件名是
pcie4_serdes
.按下出口按钮在Target目录中生成模型。
测试生成的IBIS-AMI模型
PCIe4发射机和接收机IBIS-AMI模型现在已经完成,可以在任何工业标准AMI模型模拟器中进行测试。
参考文献
[1]一种总线标准团体,https://pcisig.com.