主要内容

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.3Ps,因为目标开工率是4.8Gbps的DDR5-4800。

  • 系统设置为100年e-18

  • 信号设置为单端

  • 每个符号的样本而且调制保持默认值,其中16而且NRZ(不归零),分别。

发射机模型设置

  • DDR5 SDRAM没有传输均衡,因此只需要模拟模型。

  • Tx AnalogOut模型是这样设置的电压1.1V,上升时间One hundred.ps,R(输出电阻)为48 o号,C(电容)0.65最终模型中使用的实际模拟模型将在本例后面生成。

渠道模型建立

  • 频道损失设置为5dB,这是典型的DDR通道。

  • 单端阻抗设置为40欧姆。

  • 目标频率设置为2.4GHz,也就是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参数”对话框。

  • 确保格式设置为范围并设置Typ0最小值-0.2,马克斯0.05

  • 点击好的。

设置“第二DFE轻拍权重”

  • 突出TapWeight 2

  • 单击编辑……按钮,启动“添加/编辑AMI参数”对话框。

  • 确保格式设置为范围并设置Typ0最小值-0.075,马克斯0.075

  • 点击好的。

设置第三个DFE轻拍权重

  • 突出TapWeight 3

  • 单击编辑……按钮,启动“添加/编辑AMI参数”对话框。

  • 确保格式设置为范围并设置Typ0最小值-0.06,马克斯0.06

  • 点击好的。

设置第四DFE抽头权重

  • 突出TapWeight 4

  • 单击编辑……按钮,启动“添加/编辑AMI参数”对话框。

  • 确保格式设置为范围并设置Typ0最小值-0.045,马克斯0.045

  • 点击好的。

添加Rx抖动参数

要为Rx模型添加抖动参数,请单击保留参数…按钮,打开Rx添加/删除抖动和噪声对话框,选择Rx_Receiver_SensitivityRx_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

另请参阅

||

相关的话题

Baidu
map