【问题标题】:Why interfaced DDR3 memory working slow as compared to on-chip memory in FPGA?为什么与 FPGA 中的片上内存相比,接口 DDR3 内存的工作速度慢?
【发布时间】:2017-06-13 17:48:52
【问题描述】:

我正在使用 MAX10 FPGA 并已连接 DDR3 内存。我注意到与片上内存相比,我的 DDR3 内存运行缓慢。我开始了解这一点,因为我编写了一个闪烁的 LED 程序,并且对于与片上存储器相同的延迟功能,与 DDR3 存储器相比,它的工作速度更快。可以做些什么来提高速度?什么可能是错的?我的系统时钟运行在 50MHz。 附言我的系统中没有指令或数据缓存。

【问题讨论】:

    标签: memory fpga


    【解决方案1】:

    首先,您的功能不是您描述的管道功能。因为您使用内存做了一些事情,然后让 LED 闪烁。每件事都按顺序运行。

    在这种情况下,你应该估计你的内存的响应时间和吞吐量。例如,你从内存中读取一个数据,然后执行一个 add 函数,并且这样做了 10 次。如果你总是在 add 函数之后读取内存,您的总时间消耗约为 10*响应时间 + 10 附加功能时间。

    不同的是内存响应时间。内部ram的响应时间在50MHz下可以是1个周期。但是DDR3内存应该是80ns左右。这就是区别。

    但是您可以将您的模块更改为流水线模式。读/写数据并并行执行您的其他功能。并且提前 r/w DDR。这就像 PC 中的缓存。这样可以节省一些时间。

    顺便说一下,DDR的吞吐量很大程度上取决于你的函数模式。如果你在序列顺序地址读取或写入数据,那么你会得到更大的吞吐量。

    毕竟,外部存储器的容量和响应时间永远不会超过内部存储器。

    原谅我的英语。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-24
      • 2019-07-10
      • 1970-01-01
      • 2018-03-24
      • 2023-01-30
      • 2018-07-18
      • 2023-03-30
      • 2018-07-14
      相关资源
      最近更新 更多