DDR5 SDRAM发射器/接收器IBIS-AMI型号
本示例展示了如何使用SerDes Toolbox™中的库块创建通用的DDR5发射器和接收器IBIS-AMI模型,并已通过Intel®验证。由于DDR5 DQ信号是双向的,本示例为SDRAM创建Tx和Rx模型。生成的模型符合IBIS-AMI规范。
DDR5 SDRAM Tx/Rx IBIS-AMI模型设置在SerDes设计器应用程序
本示例的第一部分使用SerDes Designer应用程序中DDR5所需的块设置和探索目标发射器和接收器架构。然后SerDes系统导出到Simulink®,用于进一步定制和IBIS-AMI模型生成。
在MATLAB®命令窗口中键入以下命令以打开ddr5_sdram
模型:
> > serdesDesigner(“ddr5_sdram”)
SDRAM有一个不使用均衡的DDR5发射器(Tx)。SDRAM还具有DDR5接收器(Rx),使用可变增益放大器(VGA),具有7个预定义设置,以及带有内置时钟数据恢复的4抽头决策反馈均衡器(DFE)。
配置设置
符号时间设置为
208.3
Ps,因为目标开工率是4.8
Gbps的DDR5-4800。系统设置为
100年e-18
.信号设置为
单端
.每个符号的样本而且调制保持默认值,其中
16
而且NRZ
(不归零),分别。
发射机模型设置
DDR5 SDRAM没有传输均衡,因此只需要模拟模型。
Tx AnalogOut模型是这样设置的电压是
1.1
V,上升时间是One hundred.
ps,R(输出电阻)为48 o
号,C(电容)0.65
最终模型中使用的实际模拟模型将在本例后面生成。
渠道模型建立
频道损失设置为
5
dB,这是典型的DDR通道。单端阻抗设置为
40
欧姆。目标频率设置为
2.4
GHz,也就是4.8 GHz的奈奎斯特频率
接收机模型设置
Rx AnalogIn模型是这样建立的R(输入电阻)为
40
欧姆,C(电容)0.65
最终模型中使用的实际模拟模型将在本例后面生成。VGA块设置为获得1和模式设置为开启。在模型导出到Simulink之后,将在本例后面添加特定的VGA预设。
DFECDR块设置为四个DFE水龙头,包括四个初始丝锥重量设置为0。的最小抽头值设置为
[-0.2 -0.075 -0.06 -0.045]
V,和最大抽头值设置为[0.05 0.075 0.06 0.045]
V。注意:DFECDR提供了“2X开关”选项。选中此选项以使脉冲响应值与JEDEC使用的约定匹配。取消选中此选项可直接从图中使用脉冲响应值。
-
统计结果
使用SerDes设计器添加图按钮显示DDR5 SDRAM设置的结果。
添加的误码率图添加图并观察结果。
添加脉冲响应图添加图放大脉冲区域观察结果。
导出SerDes系统到Simulink
点击保存然后点击出口按钮将配置导出到Simulink,以便进一步定制和生成AMI模型可执行文件。
在Simulink中建立DDR5 SDRAM Tx/Rx IBIS-AMI模型
本例的第二部分采用SerDes Designer应用程序导出的SerDes系统,并根据需要在Simulink中对DDR5进行定制。
回顾Simulink模型设置
导入Simulink的SerDes System由Configuration、Stimulus、Tx、Analog Channel和Rx块组成。SerDes Designer应用程序中的所有设置都已转移到Simulink模型。保存模型并检查每个块的设置。
双击配置块,打开块参数对话框。的参数值符号时间,每个符号的样本,系统,调制而且信号都是从SerDes Designer应用程序转过来的。
双击刺激块打开块参数对话框。您可以设置伪随机位序列(伪随机二进制序列)的顺序和符号的数量来模拟。这个块不是从SerDes Designer应用程序转移过来的。
双击Tx块查看Tx子系统内部。由于发射机没有算法模型,Tx子系统只是从WaveIn到WaveOut端口的一个通道。
双击模拟通道块,打开块参数对话框。的参数值目标频率,损失,阻抗和Tx / Rx模拟模型参数从SerDes Designer应用程序中携带。
双击Rx块查看Rx子系统的内部。子系统有从SerDes Designer应用程序继承来的VGA和DFECDR块。还引入了Init块来建模AMI模型的统计部分。
运行模型
运行模型来模拟SerDes系统。
生成两个图。第一个是实时时域(GetWave)眼图,随着模型的运行而更新。
模拟完成后,第二个图包含统计(Init)和时域(GetWave)结果的视图,以及为每个结果报告的眼部指标。
回顾Rx VGA Block
在Rx子系统中,双击VGA块打开VGA块参数对话框。
的模式而且获得设置从SerDes设计器应用程序进行。
更新Rx DFECDR Block
在Rx子系统中,双击DFECDR块,打开“DFECDR块参数”对话框。
的初始丝锥重量,最小DFE分接值,最大抽头值RMS设置从SerDes设计器应用程序自适应增益而且自适应步长设置为
3 e-06
而且1 e-06
,分别为基于DDR5 SDRAM预期的合理值。扩大IBIS-AMI参数以显示IBIS-AMI模型中包含的参数列表。
取消选择相抵消而且引用偏移量从AMI文件中删除这些参数,有效地将这些参数硬编码为它们的当前值。
-
生成DDR5 SDRAM IBIS-AMI模型
本例的最后一部分采用定制的Simulink模型,修改DDR5 SDRAM的AMI参数,然后生成符合IBIS-AMI的DDR5 SDRAM模型可执行文件、IBIS和AMI文件。
打开Configuration块的块参数对话框,单击打开SerDes IBIS-AMI管理器按钮。在宜必思选项卡在SerDes IBIS- ami管理器对话框中,模拟模型值被转换为任何行业标准模拟器可以使用的标准IBIS参数。
检查发射机(Tx) AMI参数
打开AMI-Tx选项卡中的SerDes IBIS-AMI管理器对话框。请注意,由于DDR5 SDRAM Tx没有任何均衡,因此没有特定于模型的参数。
添加Tx抖动参数
要为Tx模型添加抖动参数,请单击保留参数…按钮打开Tx添加/删除抖动和噪声对话框,选择Tx_Dj而且Tx_Rj框,然后单击好吧将这些参数添加到Tx AMI文件的“保留参数”部分。下面的值允许您微调抖动值以满足DDR5抖动掩码要求。
注意:所有JEDEC DDR5 SDRAM值目前可用于DDR5-4800。
设置Tx确定抖动值
选择Tx_Dj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.1000
点击好吧以保存更改。
设置Tx随机抖动值
选择Tx_Rj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.0050
点击好吧以保存更改。
Update Receiver (Rx) AMI参数
打开AMI-Rx选项卡中的SerDes IBIS-AMI管理器对话框。保留参数首先列出,然后是遵循典型AMI文件格式的特定于模型的参数。
设置VGA增益:
突出收益。
单击编辑……按钮,启动“添加/编辑AMI参数”对话框。
在描述框,输入
放大器增益
.确保格式设置为列表并设置默认为
1
.在列表值框中,输入
[0.5 0.631 0.794 1 1.259 1.585 2]
在List_Tip值框中,输入
[" 6 dB”“4 dB”“2 dB”“0分贝”“2 dB”“4 dB”“6 dB”)
点击好吧以保存更改。
设置第一个DFE轻按重量
突出TapWeight 1.
单击编辑……按钮,启动“添加/编辑AMI参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.2
,马克斯=0.05
.点击好的。
设置“第二DFE轻拍权重”
突出TapWeight 2.
单击编辑……按钮,启动“添加/编辑AMI参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.075
,马克斯=0.075
点击好的。
设置第三个DFE轻拍权重
突出TapWeight 3.
单击编辑……按钮,启动“添加/编辑AMI参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.06
,马克斯=0.06
点击好的。
设置第四DFE抽头权重
突出TapWeight 4.
单击编辑……按钮,启动“添加/编辑AMI参数”对话框。
确保格式设置为范围并设置Typ=
0
,最小值=-0.045
,马克斯=0.045
点击好的。
添加Rx抖动参数
要为Rx模型添加抖动参数,请单击保留参数…按钮,打开Rx添加/删除抖动和噪声对话框,选择Rx_Receiver_Sensitivity,Rx_Dj而且Rx_Rj框,然后单击好吧将这些参数添加到Rx AMI文件的“保留参数”部分。下面的值允许您微调抖动值以满足DDR5抖动掩码要求。
注意:所有JEDEC DDR5 SDRAM值目前可用于DDR5-4800。
设置Rx随机抖动值
选择Rx_Rj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.00375
点击好吧以保存更改。
设置Rx确定抖动值
选择Rx_Dj,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变类型来
用户界面
.改变格式来
价值
.设置当前值来
0.01750
点击好吧以保存更改。
设置“接收灵敏度值”
选择Rx_Receiver_Sensitivity,然后按编辑……按钮,弹出“添加/编辑AMI参数”对话框。
改变格式来
价值
.设置当前值来
0.040
点击好吧以保存更改。
出口的模型
打开出口选项卡中的SerDes IBIS-AMI管理器对话框。
更新Tx型号名称来
ddr5_sdram_tx
.更新Rx型号名称来
ddr5_sdram_rx
.请注意,Tx和Rx角百分比设置为
10
.这将使模拟模型的最小/最大拐角值按+/-10%缩放。验证二元模型Tx和Rx AMI模型设置都被选中。这将创建支持统计(Init)分析和时域(GetWave)模拟的模型可执行文件。
设置Rx模型忽略比特价值
250000
使Rx DFE丝锥在时域模拟过程中有足够的时间沉降。设置要导出的模型来包括Tx和Rx并确保已选择要生成的所有文件(宜必思文件,AMI文件(年代)而且DLL文件(年代)).请注意,虽然Tx没有实现任何均衡,但我们仍然生成了一个透传模型,允许在需要时将Tx抖动添加到模拟中。
设置IBIS文件名来
temp_ddr5_sdram.ibs
单击出口按钮在Target目录中生成模型。
更新DDR5模拟模型
为了适应不同的拓扑结构、加载配置、数据速率和传输,DDR5需要可变的输出驱动器强度和输入模上终止(ODT)。虽然使用相同的算法AMI模型,但需要多个模拟模型来覆盖所有这些用例。这些模拟模型的生成超出了本例的范围,因此在当前示例目录中可以获得包含以下模拟模型的完整IBS文件:
POD11_IO_ZO34_ODTOFF: 34欧姆输出阻抗,无输入ODT。
POD11_IO_ZO48_ODTOFF: 48欧姆输出阻抗,无输入ODT。
POD11_IN_ODT34_C:输入34欧姆ODT。
POD11_IN_ODT40_C:输入40欧姆ODT。
POD11_IN_ODT48_C:输入48欧姆ODT。
POD11_IN_ODT60_C:输入60欧姆ODT。
POD11_IN_ODT80_C:输入80欧姆ODT。
POD11_IN_ODT120_C:输入120欧姆ODT。
POD11_IN_ODT240_C:输入240欧姆ODT。
为了生成这个完整的IBIS文件,对temp_ddr5_sdram.ibs
使用文本编辑器:
创建了一个大头针signal_nameDQ1_sdram和model_namedq。
增加了两个驱动程序Model_type分别命名为POD11_IO_Z034_ODTOFF和POD11_IO_Z048_ODTOFF。
增加了7种接收器型号并命名为:
一)POD11_IN_ODT34_C
b) POD11_IN_ODT40_C
c) POD11_IN_ODT48_C
d) POD11_IN_ODT60_C
e) POD11_IN_ODT80_C
f) POD11_IN_ODT120_C
g) POD11_IN_ODT240_C
增加VI曲线和算法模型节到所有以上提到的模型。
增加了一个模式选择器引用上述所有模型的部分。
测试生成的IBIS-AMI模型
DDR5发射器和接收器IBIS-AMI模型现在已经完成,可以在任何行业标准AMI模型模拟器中进行测试。
参考文献
[1] IBIS 7.0规范,https://ibis.org/ver7.0/ver7_0.pdf.