文章 ID: 000083851 内容类型: 故障排除 上次审核日期: 2014 年 04 月 04 日

为什么在使用具有多个 MPFE 端口的硬内存控制器时,我会看到不正确的读取数据?

环境

  • 英特尔® Quartus® II 订阅版
  • 带有 UniPHY 英特尔® FPGA IP 的 DDR3 SDRAM 控制器
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    说明

    对硬内存控制器 (HMC) MPFE 端口执行写入和读取事务时,您可能会观察到读事务在写入事务之前执行,即使写入优先级更高。因此,读取的数据可能不正确。

    例如,如果 HMC MPFE 端口设置如下:

    端口 0 配置为只写,优先级设置为 7,权重设置为 0
    端口 1 配置为只读,优先级设置为 1,权重设置为 0

    如果在端口 0 上执行写入请求以使用数据“data0”寻址“addr0”,在端口 1 上执行读取请求以同时对“addr0”进行寻址,则数据读回应始终为“data0”。HMC 中存在读取数据不符合预期的问题。

    解决方法

    解决方法是延迟对地址范围执行读取请求,直到对同一地址范围的所有写入请求都完成。另一种方法是从与要写入的区域不同的内存区域读取。

    相关产品

    本文适用于 11 产品

    Cyclone® V ST SoC FPGA
    Arria® V ST SoC FPGA
    Arria® V GX FPGA
    Arria® V GT FPGA
    Cyclone® V SX SoC FPGA
    Cyclone® V GT FPGA
    Cyclone® V GX FPGA
    Arria® V GZ FPGA
    Arria® V SX SoC FPGA
    Cyclone® V E FPGA
    Cyclone® V SE SoC FPGA

    本页面上的内容是原始英文内容的人工翻译与计算机翻译的组合。我们提供此内容是为了您的便利并且仅供参考,未必完整或准确。如果本页面的英文版与翻译版之间存在任何冲突,应以英文版为准。 查看此页面的英语版本。