DDR5控制器发射器/接收器IBIS-AMI模型
本示例展示了如何使用SerDes Toolbox™中的库块创建通用的DDR5发射器和接收器IBIS-AMI模型,并已通过Intel®验证。由于DDR5 DQ信号是双向的,本例为控制器创建Tx和Rx模型。生成的模型符合IBIS-AMI规范。
DDR5控制器Tx/Rx IBIS-AMI模型设置在SerDes设计器应用程序
本示例的第一部分使用SerDes Designer应用程序中DDR5所需的块设置和探索目标发射器和接收器架构。然后SerDes系统导出到Simulink®,用于进一步定制和IBIS-AMI模型生成。万博1manbetx
在MATLAB®命令窗口中键入以下命令以打开ddr5_controller
模型:
> > serdesDesigner(“ddr5_controller”)
控制器有一个DDR5发射器(Tx),使用4抽头前馈均衡(FFE)。控制器还具有DDR5接收器(Rx),使用具有8个预定义设置的连续时间线性均衡器(CTLE)和带有内置时钟数据恢复的4点决策反馈均衡器(DFE)。
配置设置
符号时间设置为
208.3
Ps,因为目标开工率是4.8
Gbps的DDR5-4800。系统设置为
100年e-18
.信号设置为
单端
.每个符号的样本而且调制均保持默认值,分别为
16
而且NRZ
(不归零),分别。
发射机模型设置
Tx FFE块设置为一个预tap,一个主tap和两个后tap,包括四个tap权重。这是使用数组[0 1 0 0]完成的,其中主点击由数组中最大的值指定。当模型导出到Simulink时,点击范围将在后面的示例中添加。万博1manbetx
Tx AnalogOut模型是这样设置的电压是
1.1
V,上升时间是One hundred.
ps,R(输出电阻)为50 o
号,C(电容)0.65
最终模型中使用的实际模拟模型将在本例后面生成。
渠道模型建立
单端阻抗设置为
40
欧姆。目标频率设置为
2.4
GHz,也就是4.8 GHz的奈奎斯特频率频道损失设置为
5
Nyquist的dB,这是典型的DDR通道。
接收机模型设置
Rx AnalogIn模型是这样建立的R(输入电阻)为
40
欧姆,C(电容)0.65
最终模型中使用的实际模拟模型将在本例后面生成。CTLE块设置为
8
配置。的规范设置为直流增益和交流增益
.直流增益设置为[0 -1 -2 -3 -4 -5 -6 -7]
dB。峰值频率设置为2.4
GHz。所有其他参数保持默认值。DFECDR块设置为四个DFE水龙头,包括四个初始丝锥重量设置为0。的最小抽头值设置为
[-0.2 -0.1 -0.1 -0.1]
V和最大抽头值设置为[0.2 0.1 0.1 0.1]
V。注意:DFECDR提供了“2X开关”选项。选中此选项以使脉冲响应值与JEDEC使用的约定匹配。取消选中此选项可直接从图中使用脉冲响应值。
-
统计结果
使用SerDes设计器添加图按钮以可视化DDR5控制器设置的结果。
添加的误码率图添加图并观察结果。
添加脉冲响应图添加图放大脉冲区域观察结果。
导出SerDes系统到Simulink万博1manbetx
点击保存然后点击出口按钮将配置导出到Simulink,以便进一步定制和生成AMI模型可执行文件。万博1manbetx
DDR5控制器Tx/Rx IBIS-AMI模型在Simulink设置万博1manbetx
本例的第二部分采用SerDes Designer应用程序导出的SerDes系统,并根据需要在Simulink中对DDR5进行定制。万博1manbetx
回顾Simulink模万博1manbetx型设置
导入Simulink的SerDes System由Configu万博1manbetxration、Stimulus、Tx、Analog Channel和Rx块组成。SerDes Designer应用程序中的所有设置都已转移到Simulink模型。万博1manbetx保存模型并检查每个块的设置。
双击配置块,打开块参数对话框。的参数值符号时间,每个符号的样本,系统,调制,而且信号都是从SerDes Designer应用程序转过来的。
双击刺激块打开块参数对话框。您可以设置伪随机位序列(伪随机二进制序列)的顺序和符号的数量来模拟。这个块不是从SerDes Designer应用程序转移过来的。
双击Tx块查看Tx子系统内部。子系统有来自SerDes Designer应用程序的FFE块。还引入了Init块来建模AMI模型的统计部分。
双击模拟通道块,打开块参数对话框。的参数值目标频率,损失,阻抗和Tx / Rx模拟模型参数从SerDes Designer应用程序中携带。
双击Rx块查看Rx子系统的内部。子系统有来自SerDes Designer应用程序的CTLE和DFECDR块。还引入了Init块来建模AMI模型的统计部分。
运行模型
运行模型来模拟SerDes系统。
生成两个图。第一个是实时时域(GetWave)眼图,随着模型的运行而更新。
模拟完成后,第二个图包含统计(Init)和时域(GetWave)结果的视图,以及为每个结果报告的眼部指标。
审查Tx FFE块
在Tx子系统中,双击FFE块以打开FFE块参数对话框。
的利用权重都是从SerDes Designer应用程序转过来的。
回顾Rx CTLE Block
在Rx子系统中,双击CTLE块,打开CTLE块参数对话框。
直流增益,交流获得,峰值频率都是从SerDes Designer应用程序转过来的。
CTLE模式设置为
适应
,这意味着内置于CTLE系统对象中的优化算法在运行时选择最优的CTLE配置。
更新Rx DFECDR Block
在Rx子系统中,双击DFECDR块,打开“DFECDR块参数”对话框。
的初始丝锥重量,最小DFE抽头值,而且最大抽头值RMS设置从SerDes设计器应用程序自适应增益而且自适应步长设置为
3 e-06
而且1 e-06
,分别为基于DDR5控制器期望的合理值。扩大IBIS-AMI参数以显示IBIS-AMI模型中包含的参数列表。
取消选择相抵消而且引用偏移量从AMI文件中删除这些参数,有效地将这些参数硬编码为它们的当前值。
生成DDR5控制器IBIS-AMI模型
本例的最后一部分采用定制的Simulink模型,修改DDR5控制器的AMI参数,然后生成符合IBIS-A万博1manbetxMI的DDR5控制器模型可执行文件、IBIS和AMI文件。
打开Configuration块的块参数对话框,单击打开SerDes IBIS-AMI管理器按钮。在宜必思选项卡在SerDes IBIS- ami管理器对话框中,模拟模型值被转换为任何行业标准模拟器可以使用的标准IBIS参数。
更新发射机(Tx) AMI参数
打开AMI-Tx选项卡中的SerDes IBIS-AMI管理器对话框。保留参数首先列出,然后是遵循典型AMI文件格式的特定于模型的参数。
设置预强调丝锥
突出TapWeight 1
单击编辑……,启动“添加/编辑参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.2
,马克斯=0.2
.点击好吧保存更改.
设置主丝锥
突出TapWeight 0.
单击编辑……按钮,启动“添加/编辑参数”对话框。
确保格式设置为范围并设置Typ=
1
,最小值=0.6
,马克斯=1
.点击好吧.
设置第一个后强调点击
突出TapWeight1.
选择编辑……按钮,以启动添加/编辑参数对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.2
,马克斯=0.2
.点击好吧.
设置第二个后强调点击
突出TapWeight2.
选择编辑……按钮,以启动添加/编辑参数对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.1
,马克斯=0.1
.点击好吧.
添加Tx抖动参数
要为Tx模型添加抖动参数,请单击保留参数…按钮打开Tx添加/删除抖动和噪声对话框,选择Tx_Dj而且Tx_Rj框,然后单击好吧将这些参数添加到Tx AMI文件的“保留参数”部分。以下抖动值可以调整,以满足特定控制器的DDR5掩码要求。
设置Tx确定抖动值
选择Tx_Dj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.0500
点击好吧以保存更改。
设置Tx随机抖动值
选择Tx_Rj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.0025
点击好吧以保存更改。
Update Receiver (Rx) AMI参数
打开AMI-Rx选项卡中的SerDes IBIS-AMI管理器对话框。保留参数首先列出,然后是遵循典型AMI文件格式的特定于模型的参数。
设置第一个DFE轻按重量
突出TapWeight 1。
单击编辑……按钮,启动“添加/编辑参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.2
,马克斯=0.05
.点击好吧.
设置“第二DFE轻拍权重”
突出TapWeight 2.
单击编辑……按钮,启动“添加/编辑参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.075
,马克斯=0.075
.点击好吧.
设置第三个DFE轻拍权重
突出TapWeight 3.
单击编辑……按钮,启动“添加/编辑参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.06
,马克斯=0.06
.点击好吧.
设置第四DFE抽头权重
突出TapWeight 4.
单击编辑……按钮,启动“添加/编辑参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.045
,马克斯=0.045
.点击好吧.
添加Rx抖动和噪声参数
要为Rx模型添加抖动参数,请单击保留参数…按钮,打开Rx添加/删除抖动和噪声对话框,选择Rx_Receiver_Sensitivity,Rx_Dj Rx_Noise Rx_UniformNoise而且Rx_Rj框,然后单击好吧将这些参数添加到Rx AMI文件的“保留参数”部分。以下抖动和噪声值可以调整,以满足特定控制器的DDR5掩码要求。
设置Rx随机抖动值
选择Rx_Rj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.00375
点击好吧以保存更改。
设置Rx确定抖动值
选择Rx_Dj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.0125
点击好吧以保存更改。
设置“接收灵敏度值”
选择Rx_Receiver_Sensitivity,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变格式来
价值
.设置当前值来
0.040
点击好吧以保存更改。
设置“Rx高斯噪声值”
选择Rx_Noise,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变格式来
价值
.设置当前值来
0.0015
点击好吧以保存更改。
设置Rx均匀噪声值
选择Rx_UniformNoise,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变格式来
价值
.设置当前值来
0.0025
点击好吧以保存更改。
出口的模型
打开出口选项卡中的SerDes IBIS-AMI管理器对话框。
更新Tx型号名称来
ddr5_controller_tx
更新Rx型号名称来
ddr5_controller_rx
请注意,Tx和Rx角百分比设置为
10
.这将使模拟模型的最小/最大拐角值按+/-10%缩放。验证二元模型Tx和Rx AMI模型设置都被选中。这将创建支持统计(Init)分析和时域(GetWave)模拟的模型可执行万博1manbetx文件。
设置Tx模型忽略比特到4,因为Tx FFE有四个水龙头。
设置Rx模型忽略比特来
250000(10000够吗?-GK)
使Rx DFE丝锥在时域模拟过程中有足够的时间沉降。验证Tx和Rx都被设置为导出,并且已选择要生成的所有文件(宜必思文件,AMI文件(年代)而且DLL文件(年代)).
设置IBIS文件名来
temp_ddr5_controller.ibs
目录使示例文件ddr5_controller.ibs
不会被覆盖。单击出口按钮在Target目录中生成模型。
更新DDR5模拟模型
为了适应不同的拓扑结构、加载配置、数据速率和传输,DDR5需要可变的输出驱动器强度和输入模上终止(ODT)。虽然使用相同的算法AMI模型,但需要多个模拟模型来覆盖所有这些用例。这些模拟模型的生成超出了本例的范围,因此在当前示例目录中可以获得包含以下模拟模型的完整IBS文件:
POD11_IO_ZO50_ODTOFF: 50欧姆输出阻抗,无输入ODT。
POD11_IN_ODT40_C:输入40欧姆ODT。
POD11_IN_ODT60_C:输入60欧姆ODT。
为了生成这个完整的IBIS文件,对ddr5_controller进行了以下更改。Ibs使用文本编辑器:
创建了一个引脚,其signal_name为DQ1_controller, model_name为dq。
将驱动程序Model_type改为I/O,并将其命名为POD11_IO_Z050_ODTOFF。
增加了两个接收机型号,分别命名为POD11_IN_ODT40_C和POD11_IN_ODT60_C。
所有上述模型都增加了VI曲线和算法模型部分。
添加了一个引用上面提到的模型的模型选择器部分。
注意:始终建议验证.ibs文件中的vinl、vinh、c_comp和其他变量的值是否与您的设备数据表值匹配。
测试生成的IBIS-AMI模型
DDR5发射器和接收器IBIS-AMI模型现在已经完成,可以在任何行业标准AMI模型模拟器中进行测试。
参考文献
[1] IBIS 7.0规范,https://ibis.org/ver7.0/ver7_0.pdf.
另请参阅
固定资产|CTLE|自动增益控制|DFECDR|并行转换器设计