我有一个采用Microblaze和MIG的设计,该设计通过xsct进行了从2GB DDR3 RAM读取和写入的测试。
我想设计一个自定义IP,该IP将通过xsct接收命令(用于从内存中进行块读取和写入),并根据该命令写入RAM。
示例:一条命令将要求自定义ip从特定地址进行块读取(例如从128个位置读取)。
我已经尝试在Xilinx论坛中阅读用于与DRAM交互的自定义IP。 (但找不到该特定任务的解决方案)
疑问
谢谢:)
答案 0 :(得分:1)
如果您对电子设备,时序,设置约束,延迟线,自动时序校准和异步设计有很多了解,则可以设计自己的DDR接口。如果没有:不要尝试!
我在哪里工作了DRR界面,总是给拥有15年以上设计经验的最资深的设计师使用,幸运的是,我从来不需要设计一个(也许是因为管理层认为我没有这么复杂的工作:-)>
当我读到你想要的东西时:
命令会要求自定义ip从特定地址进行块读取(例如从128个位置读取)。
您可以将标准的DDR3 IP模块与AXI接口一起使用。 AXI总线是面向命令的,最新版本支持1到256个位置之间的块读取或写入。总线通常为32位或什至64位宽,因此每个读取命令返回的块为1K或2K字节。
否,您不需要处理器。您可以使AXI DMA引擎发出读取或写入操作。但是,您需要阅读AXI。该规范是免费提供的,但请注意该协议是有害的。 看起来 很简单,但事实并非如此!细节在于地址和数据总线的独立性。
关于复杂性:
我查找了我设计的AXI乒乓读取DMA FSM。它是〜130行代码。 (应包括很多评论!)