这个示例展示了如何使用SerDes Toolbox™中的库块创建通用通用串行总线3.1 (USB3.1)发射机和接收器IBIS-AMI模型。生成的模型符合IBIS-AMI和USB3.1规范。
本例的第一部分使用SerDes Designer应用程序中USB3.1所需的数据路径块设置目标发射器和接收器AMI模型体系结构。然后将模型导出到Simulink®进行进一步定制。金宝app
本例使用SerDes Designer模型usb3_1_txrx_ami。在MATLAB®命令窗口中输入以下命令,即可打开模型:
> > serdesDesigner(“usb3_1_txrx_ami”)
一个USB3.1兼容的发射机使用一个带有一个预抽头和一个后抽头的3抽头前馈均衡器(FFE)。接收器模型使用具有七个预定义设置的连续时间线性均衡器(CTLE)和一个1点决定反馈均衡器(DFE)。为了支金宝app持这个配置,SerDes系统设置如下:
符号时间USB3.1的最大允许工作频率是10ghz,所以USB3.1的工作频率设置为100ps。
系统设置为1e-12,与USB3.1规范中规定的一致。
每个符号样本,调制,信号保持默认值,分别是16、NRZ(不归零)和Differential。
按照USB3.1规范的规定,通过包括三个轻击权重,为一个轻击前和一个轻击后设置Tx FFE块。这是通过数组[0 1 0]完成的,其中主点击由数组中的最大值指定。
Tx AnalogOut模型是这样设置的电压是1.00 V,上升时间是60 ps,R(单端输出电阻)为50欧姆C(电容)为0.5 pF。
频道损失设置为15dB。
差分阻抗保持默认100欧姆。
目标频率设置为奈奎斯特频率,5ghz。
Rx AnalogIn模型是这样建立的R(单端输入电阻)为50欧姆C(电容)为0.5 pF。
Rx CTLE块设置为7个配置。的GPZ(增益极点零)矩阵数据是由USB3.1行为CTLE规范中给出的传递函数导出的。
Rx DFE/CDR块被设置为一个DFE点击。水龙头的限制是由USB3.1规范定义的:+ mV / -50
.
使用SerDes Designer图来可视化USB3.1设置的结果。
添加的误码率图添加图观察结果。
修改Rx CTLE模式参数从适应
来固定
和改变ConfigSelect参数值从6到0,并观察这如何改变数据眼。
在继续之前,请重新设置Rx CTLE的值模式回适应
.在这里重置该值将避免在模型导出到Simulink后再次设置它。金宝app
点击出口按钮将上述配置导出到Simulink,以便进一步定制和生成AMI模型可执行文件。金宝app
本例的第二部分采用SerDes Designer应用程序导出的SerDes系统,并根据Simulink中的USB3.1的要求对其进行定制。金宝app
导入Simulink的SerDes系统由Configuratio金宝appn、Stimulus、Tx、Analog Channel和Rx模块组成。从SerDes Designer应用程序的所有设置已经转移到Simulink模型。金宝app保存模型并检查每个块设置。
双击配置块,打开块参数对话框。的参数值符号时间,每个符号样本,系统,调制和信号都是从SerDes Designer应用程序继承过来的。
双击“刺激”块,打开“块参数”对话框。您可以设置伪随机位序列(伪随机二进制序列)的顺序和符号数来模拟。这个块不是从SerDes Designer应用程序中继承过来的。
双击Tx块查看Tx子系统的内部。子系统从SerDes Designer应用程序中继承了FFE块。还引入了Init块来对AMI模型的统计部分建模。
双击模拟通道块,打开块参数对话框。的参数值目标频率,损失,阻抗和Tx / Rx模拟模型参数是从SerDes Designer应用程序继承过来的。
双击Rx块查看Rx子系统的内部。子系统有从SerDes Designer应用程序中继承来的CTLE和dfdr块。还引入了一个Init块来对AMI模型的统计部分建模。
运行该模型来模拟SerDes系统。
生成了两个图。第一个是实时时域(GetWave)眼图,在模型运行时更新。
模拟完成后,第二个图包含统计(Init)和时域(GetWave)结果的视图,类似于SerDes Designer应用程序中提供的内容。
在Tx子系统内部,双击FFE块,打开FFE块参数对话框。
扩大IBIS-AMI参数显示要包含在IBIS-AMI模型中的参数列表。
请取消模式参数从AMI文件中删除该参数,有效地硬编码当前值模式在最终的AMI模型修正。
在Rx子系统中,双击CTLE块打开CTLE块参数对话框。
获得极零数据是从SerDes Designer应用程序中导出的。该数据来自USB3.1行为CTLE规范中给出的传递函数。
CTLE模式设置为Adapt,这意味着内置在CTLE系统对象中的优化算法在运行时选择最优的CTLE配置。
在Rx子系统内部,双击dfdr块,打开dfdr块参数对话框。
扩大IBIS-AMI参数显示要包含在IBIS-AMI模型中的参数列表。
请取消相抵消和引用偏移量参数从AMI文件中删除这些参数,有效地将这些参数硬编码为它们的当前值。
本例的最后一部分使用定制的Simulink模型,修改USB3.1的AMI参数,然后生成符合IBIS-AM金宝appI的USB3.1模型可执行文件、IBIS和AMI文件。
打开配置块的块参数对话框,单击并行转换器IBIS-AMI经理按钮。在宜必思选项卡中,模拟模型值将被转换为标准IBIS参数,任何行业标准模拟器都可以使用这些参数。在AMI-Tx和AMI-Rx在SerDes IBIS-AMI管理器对话框中的选项卡中,保留的参数首先列出,然后按照典型AMI文件的格式列出特定于模型的参数。
要为Tx模型添加Jitter参数,请在AMI-Tx选项卡单击保留参数…按钮打开Tx添加/移除Jitter&Noise对话框,选择Tx_Dj和Tx_Rj框,然后单击好吧将这些参数添加到Tx AMI文件的保留参数部分。以下范围允许您微调抖动值,以满足USB3.1抖动掩码要求。
选择Tx_Dj,然后单击编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来0.0
.
改变类型来用户界面
.
改变格式来范围
.
设置Typ价值0
.
设置最小值价值0
.
设置马克斯价值0.17
点击好吧保存更改。
选择Tx_Rj,然后单击编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来0.0
.
改变类型来用户界面
.
改变格式来范围
.
设置Typ价值0
.
设置最小值价值0
.
设置马克斯价值0.012
点击好吧保存更改。
要为Rx模型添加抖动参数,请在AMI-Rx选项卡单击保留参数…按钮打开Rx添加/删除抖动和噪声对话框,选择Rx_Receiver_Sensitivity,Rx_Dj和Rx_Rj框,然后单击好吧将这些参数添加到Rx AMI文件的保留参数部分。以下范围允许您微调抖动值,以满足USB3.1抖动掩码要求。
选择Rx_Receiver_Sensitivity,然后单击编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来0.025
改变格式来范围
.
设置Typ价值0
.025
设置最小值价值0
.015
设置马克斯价值0.100
点击好吧保存更改。
选择Rx_Dj,然后单击编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来0.0
.
改变类型来用户界面
.
改变格式来范围
.
设置Typ价值0
.
设置最小值价值0
.
设置马克斯价值0.3
点击好吧保存更改。
选择Rx_Rj,然后单击编辑……按钮,弹出“添加/编辑AMI参数”对话框。
设置当前值来0.0
.
改变类型来用户界面
.
改变格式来范围
.
设置Typ价值0
.
设置最小值价值0
.
设置马克斯价值0.015
点击好吧保存更改。
选择出口选项卡。
更新Tx模型名称来usb3_1_tx
更新Rx模型名称来usb3_1_rx
注意Tx和Rx角落里的百分比设置为10%。这将缩放最小/最大模拟模型角值+/-10%。
验证二元模型为Tx和Rx选择。这将创建支持统计(Init)和时域(GetWave)分析的模型可执行文件。金宝app
设置Tx模型忽略值的比特到3,因为在Tx FFE有三次点击。
设置Rx模型忽略值的比特数至20000,以便有足够的时间让Rx DFE接头在时域模拟期间稳定下来。
验证Tx和Rx都有设置为Export,并选择要生成的所有文件(IBIS文件、AMI文件和DLL文件)。
设置宜必思文件名是usb3_1_serdes.ibs
按下出口按钮来生成模型目标目录.
USB3.1发射机和接收机IBIS-AMI模型现在已经完成,可以在任何工业标准AMI模型模拟器中进行测试。
[1] USB、https://www.usb.org.
[2] IBIS 6.1规范https://ibis.org/ver6.1/ver6_1.pdf.
[3] SiSoft支金宝app持知识库文章:USB-3.1,https://sisoft.na1.team金宝appsupport.com/knowledgeBase/8977326.