在SerDes工具箱直通块中实现自定义CTLE
此示例显示如何自定义透传块在Simulin金宝appk®中实现CTLE系统对象™与用户定义的AMI参数。您可以使用此示例作为修改利用系统对象的PassThrough块的指南。有关PassThrough块的用途和在其中使用其他Simulink库块的示例的更多信息,请参见金宝app自定义数据路径构建块.
在SerDes设计应用程序中创建SerDes系统
在MATLAB®中,键入serdesDesigner
启动并行转换器设计在接收器的模拟模型后放置一个直通块。将PassThrough块的名称更改为PT
来MyCTLE
.
导出SerDes系统到Simulink。金宝app
修改直通块实现CTLE
类的自定义副本CTLE块从SerDes工具箱™。首先修改PassThrough块的内容以引用一个新的系统对象,然后实现并连接其参数。这解决了模型的时域(GetWave)函数。然后更新Init代码以反映统计分析中的时域功能(GetWave)。这个例子引导您完成使用的整个过程并行转换器。CTLE
系统对象。
在Rx子系统内部,查看PassThrough块的掩码MyCTLE
.选择直通块,按Ctrl + U打开MATLAB系统的块参数对话框,修改系统对象名称从并行转换器。透传
来并行转换器。CTLE
.
点击好吧保存更改,您将看到块从Pass Through更改为CTLE:
注意:您也可以使用自己的自定义System对象。例如,如果您想创建一个自定义CTLE,并更改自适应算法:
的源代码
并行转换器。CTLE
.在某个目录中保存源代码的本地副本。
在代码中进行所需的更改。
然后用MATLAB系统引用定制代码。
CTLE与系统参数的正确对接SymbolTime而且SampleInterval,您需要设置CTLE以使用这些参数作为变量,而不是硬编码的值。否则,模拟中可能包含不正确或意外的值,从而导致无效数据。双击现在指向CTLE系统对象的PassThrough块,打开块参数对话框窗口。在“高级”页签中,设置符号时间(秒)来SymbolTime
而且采样间隔(s)来SampleInterval
.点击好吧以保存更改。
将AMI参数添加到直通块
打开“SerDes IBIS-AMI管理器”对话框。下Model_Specific
参数AMI-Rx选项卡,选择MyCTLE节点,并添加两个新参数,CTLEMode而且CTLEConfigSelect.
添加CTLEMode参数,单击添加参数按钮,设置变量:
参数名称来
CTLEMode
当前值来
0
描述来
CTLE模式:0 =关闭,1 =固定,2 =适应
类型来
整数
格式来
范围
Typ来
1
最小值来
0
马克斯来
2
.
按Ok保存更改。你会看到参数自动添加到画布:
添加CTLEConfigSelect参数,选择MyCTLE节点,单击添加参数按钮,设置变量:
参数名称来
CTLEConfigSelect
当前值来
0
描述来
CTLE配置选择范围为0 ~ 8
使用来
InOut
类型来
整数
格式来
范围
Typ来
0
最小值来
0
马克斯8。
按Ok保存更改。同样,您将看到参数自动添加到画布中。
实现AMI参数
连接积木MyCTLEParameter。CTLEMode
到模式输入和MyCTLESignal。CTLEConfigSelectread
到ConfigSelectPassThrough块的输入。连接ConfigSelect的PassThrough块的输出MyCTLESignal。CTLEConfigSelectwrite
块。
有关更多信息,请参见管理AMI参数.
双击方块确认连通性。例如双击方块MyCTLESignal。CTLEConfigSelectread
确认数据存储的连通性
这就完成了时域(GetWave)模拟的设置。
统计分析验证代码
双击Rx块中的Init子系统,打开块参数对话框。方法中的连接方式来连接AMI参数MyCTLE
块,单击刷新Init按钮。由于您使用的是系统对象,因此会自动生成此连接性。要验证这一点,请单击显示初始化按钮,打开Init子系统的MATLAB代码。属性所包围的自定义用户代码区域中,应该可以找到与CTLE AMI参数连接相关的代码% %开始
而且%结束
语句。
验证自定义CTLE的操作
运行模拟。
要评估CTLE对输出波形的影响,请打开SerDes IBIS-AMI管理器对话框。在AMI-Rx选项卡,设置当前值的CTLEMode *参数1
使用固定模式操作,并设置当前值的CTLEConfigSelect *参数4
.重新运行模拟。