This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM623:仅在 DDR4上使用高8位

Guru**** 2481465 points
Other Parts Discussed in Thread: SYSCONFIG

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1448541/am623-using-high-8bit-only-on-ddr4

器件型号:AM623
主题中讨论的其他器件:SysConfig

工具与软件:

尊敬的 James:

客户的主板不稳定、几乎不能工作、有时在 U-Boot 中挂起、有时在 Linux 中随机挂起、

根据 AM62x DDR 布局指南、存在一定程度的布线长度违例、低8位布线过长、大于500ps*5mil。

影响
高字节数据和 UDQS 1500mil
低字节数据和 LDQS 3500mil
CLK P/N 2170mil

仿真结果如下:

问题:

#1。 布线长度是否会导致问题?

#2。 想要验证仅使用高8位且满足布局要求:SysConfig 中有仅8位配置选项、但默认为低8位、是否可配置为仅使用高8位?

#3. 是否可将其配置为补偿 PHY 寄存器中字节之间的延迟?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tony、启用高位字节是一种简单的方法。

    让我们尝试其他一些事情来诊断该问题:

    - 通过 DDR 工具发送 DDR 器件型号和 DDR 配置文件(.syscfg 和.h 或.dtsi)。  我想回顾一下他们的设置。

    -他们可以发送一个 regdump 吗?   我想查看培训结果以了解值是否合理。  尽管它们违反了长度要求、但仍可能在公差范围内

    -他们能执行更多的目标内存测试,只写/读数据?  这是否表明高位字节稳定、而低位字节不稳定?

    -看看模拟结果, CLK 图中的2个信号是什么?  是 CLKP 还是 CLKN? 这些信号是否与 EVM 一样在电路板上进行了交流耦合?  从图中可以看出、如果是2个差分信号、则它们的长度不匹配。

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:

    [报价 userid="11874" url="~/support/processors-group/processors/f/processors-forum/1448541/am623-using-high-8bit-only-on-ddr4/5559328 #5559328"]-发送 DDR 器件型号和 DDR 配置文件[/quot]

    使用器件型号的数据表: NT5AD512M16C4-HR

    /cfs-file/__key/communityserver-discussions-components-files/791/SPEC_2D00_001_2D00_002410_2D00_00.pdf

    SysConfig 文件:

    /cfs-file/__key/communityserver-discussions-components-files/791/DDR4-syscfg-files.zip

    -他们能否发送 regdump?   我想查看培训结果以了解值是否合理。  即使它们违反了长度要求、它们仍可能在容差内

    不是来自 CCS、您可以查看吗?

    /cfs-file/__key/communityserver-discussions-components-files/791/6252_2B00_1G_5F00_ddr_5F00_phy_5F00_registers_5F00_dump.txt

    [报价 userid="11824" url="~/support/processors-group/processors/f/processors-forum/1448541/am623-using-high-8bit-only-on-ddr4/5559328 #5559328"]-查看仿真结果时、CLK 图中的2个信号是什么?  是 CLKP 还是 CLKN? 这些信号是否与 EVM 一样在电路板上进行了交流耦合?  从图中可以看出、如果这是2个差分信号、则它们的长度不匹配。

    GRE 是发送端的 TX、 黄色 是接收端的 RX。它们是差分结果。 仿真结果产生的延迟。

    -他们是否可以执行更具针对性的内存测试(只读/写数据)?  这是否表明高位字节是稳定的、但低位字节不稳定?

    由于电路板不稳定、我认为在 uBoot 或内核中很难观察到它。 将检查是否可能连接 JTAG

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    噢、我刚意识到他们在使用 Linux。  可以在第2节: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1358039/faq-board-bring-up-tips-for-sitara-devices-am64x-am243x-am62x-am62ax-am62px 中添加本页中介绍的补丁

    寄存器

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:  

    将 DDR 寄存器转储与补丁连接在一起。

    e2e.ti.com/.../tiboot3_5F00_dump_5F00_ddr_5F00_reg.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tony、从寄存器转储中看、DDR 似乎正在接受正确的培训。  根据您所描述的内容、我肯定可以看到 byte0与 byte1之间的训练结果差异、但总的来说、训练似乎通过了有效的结果。  所以我认为问题可能在其他地方。

    我快速检查了他们的 DDR 配置、但没有发现任何问题。

    他们是否进行过任何电路板仿真?  驱动强度和端接值可能不是最佳值、尤其是在布线长度差异如此大的情况下。  我注意到他们从默认配置中更改了其中的一些值、这些更改的来源是什么?   

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:

    客户的 DDR SysConfig 参数:

    /**
     * Write custom configuration values to the imported modules.
     */
    DDRSS.ddr4.$name                              = "sitara_ddr4_DDRSS_DDR40";
    DDRSS.ddr4.system_cfg_dram_density            = 8;
    DDRSS.ddr4.config_dram_tCCD_L_tCK             = 5;
    DDRSS.ddr4.config_dram_tCCD_L_ns              = 6.25;
    DDRSS.ddr4.config_dram_tDQSCKmin_ns           = 0.225;
    DDRSS.ddr4.config_dram_tDQSCKmax_ns           = 0.225;
    DDRSS.ddr4.config_dram_tPAR_ALERT_PW_tCK      = 96;
    DDRSS.ddr4.config_dram_tRASmin_ns             = 32;
    DDRSS.ddr4.config_dram_tRCD_ns                = 14.25;
    DDRSS.ddr4.config_dram_tRP_ns                 = 14.25;
    DDRSS.ddr4.config_dram_tWR_CRC_DM_tCK         = 13;
    DDRSS.ddr4.config_dram_tWR_CRC_DM_ns          = 18.75;
    DDRSS.ddr4.config_dram_tWTR_S_CRC_DM_tCK      = 7;
    DDRSS.ddr4.config_dram_tWTR_S_CRC_DM_ns       = 6.25;
    DDRSS.ddr4.config_io_cell_enslicep_drv_dl0_dq = "48 Ohm";
    DDRSS.ddr4.config_io_cell_enslicep_drv_ac     = "60 Ohm";
    DDRSS.ddr4.config_dram_mr1_odi                = "RZQ/5(48ohm)";
    DDRSS.ddr4.config_dram_mr1_odt                = "RZQ/5(48ohm)";

    它与默认 SysConfig 值不同、如下所示。 客户表示它是基于仿真结果的、这是最佳结果。

    让我们总结一下客户为您分析所做的工作。

    相同的软件/SDK 可在具有2GB DDR 的另一产品电路板上运行。  该新版本电路板具有1GB DDR。

    #1。 使用另一产品的相同 DDR 配置无法引导至 tispl. 然后校正 CL、 有时可以引导至 uBoot。

    #2。  优化阻抗配置、可通过 uboot 引导、但通常在内核启动期间挂起。  

    #3. 将 DTS 修改为仅使用一个 A53内核、可以引导至内核、但在运行 memtester 时肯定会挂起。  

    在 U-Boot 之后使用单端探测器探测 UDQS-P 和 LDQS-P、它们未对齐。 红色表示 UDQS、蓝色表示 LDQS。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Tony、客户可以尝试以下实验。  我想我们可能需要调整每字节的写入水平算法。  不确定这是否可行、但我认为值得一试

    在 DDR 配置中、将 DDRSS_PHY_120_DATA 更改为以下每个值、并记录每个和行为的寄存器转储(通过/失败引导)。  注意:默认值为0x01000000、您已经提供了 regdump。  

    实验1:#define DDRSS_PHY_120_DATA 0x800000

    实验2:#define DDRSS_PHY_120_DATA 0x02000000

    实验3:#define DDRSS_PHY_120_DATA 0x03000000

    现在将 DDRSS_PHY_120_DATA 更改回0x01000000、并使用 DDRSS_PHY_376_DATA 进行相同的3次实验

    实验4: #define DDRSS_PHY_376_DATA 0x800000

    实验5:#define DDRSS_PHY_376_DATA 0x02000000

    实验6:#define DDRSS_PHY_376_DATA 0x03000000

    这些实验将更改 WDLVL_DELAY_EARLY_THRESHOLD 值、这有助于写入矫正训练、以将 DQS 与时钟的正确边沿对齐。  您可能还记得我们之前为另一位客户调整过此项。

    此致、

    James

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 James:  

    反馈如下:  

    实验1:#define DDRSS_PHY_120_DATA 0x800000

    [TT]在内核中挂起

    实验2:#define DDRSS_PHY_120_DATA 0x02000000

    [TT]在 SPL 中挂起

    实验3:#define DDRSS_PHY_120_DATA 0x03000000

    [TT]在 SPL 中挂起

    现在将 DDRSS_PHY_120_DATA 更改回0x01000000、并使用 DDRSS_PHY_376_DATA 进行相同的3次实验

    实验4:  #define DDRSS_PHY_376_DATA 0x800000

    [TT]在内核中挂起

    实验5: #define DDRSS_PHY_376_DATA 0x02000000

    [TT]在内核中挂起

    实验6: #define DDRSS_PHY_376_DATA 0x03000000

    [TT]在 SPL 中挂起

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    内核挂起?  这是否意味着它要通过 u-boot?  我想看到任何"内核挂起"方案的 regdump 和日志

    此致、

    James