Memory 为什么接口DDR3内存的工作速度比FPGA中的片上内存慢?

Memory 为什么接口DDR3内存的工作速度比FPGA中的片上内存慢?,memory,fpga,Memory,Fpga,我使用的是MAX10 FPGA,并与DDR3内存接口。我注意到我的DDR3内存与片上内存相比运行缓慢。我开始了解这一点,因为我写了一个闪烁的LED程序,对于片上内存的相同延迟功能,它比DDR3内存工作得更快。可以做些什么来提高速度?可能有什么问题?我的系统时钟以50MHz的频率运行。 另外,我的系统中没有指令或数据缓存 首先,您的函数不是您描述的管道函数。因为您使用内存执行某些操作,然后闪烁LED。每件事情都是按顺序运行的 在这种情况下,您应该估计响应时间和内存的吞吐量。例如,您从内存中读取数据

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

首先,您的函数不是您描述的管道函数。因为您使用内存执行某些操作,然后闪烁LED。每件事情都是按顺序运行的

在这种情况下,您应该估计响应时间和内存的吞吐量。例如,您从内存中读取数据,然后执行加法函数,并执行10次。如果您总是在加法函数之后读取内存,则您的总时间消耗约为10*响应时间+10加法函数时间

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

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

顺便说一句,DDR吞吐量在很大程度上取决于您的功能模式。如果您在序列顺序地址读取或写入数据,那么您将获得更大的吞吐量

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

原谅我的英语