有没有办法初始化 DDR3 内存一次而不会在写主逻辑上浪费资源?



我正在尝试将 1 GB 的数据加载到内存DDR3以便以后使用其中的位进行on-chip计算。数据只需加载一次,并且永远不会更改。我认为这可能是浪费(就芯片资源而言),并且对我来说肯定很复杂,为此实现一个写入主接口和一个时钟交叉桥。

我希望有一种方法可以在将电路加载到芯片上时初始化DDR3内存,就像on-chip RAM一样。我还没有在网上找到任何东西,但我希望这里有人可以确认它是否可能以及如何。

我正在使用Quartus PrimeStratix V FPGA.

一个先有鸡还是先有蛋的问题。要使 DDR3 内存正常工作,您需要一个正常工作的 DDR3 内存控制器。为此,您显然需要启动并运行FPGA配置。

因此,您无法在配置时上传您的设计和内存内容,因为 DDR3 内存内容需要"停放"在 FPGA 上的某个位置,直到您的内存控制器完全初始化。

在初始FPGA配置完成后,您将不得不寻找一些替代方法(例如从外部ROM加载)。

读取或写入DDR3内存需要DDR控制器,因为它不像片上存储器那样是一个简单的操作。

Quartus在IP库中有一个DDR3 SDRAM控制器,可以通过avalon总线进行控制,但这绝对不简单。

最新更新