我正在使用 DE1-SoC(FPGA + ARM cortex A9)做一个项目。你可以在这里看到设计的一部分(Qsys,平台设计者)
片上存储器(RAM、image_memory)由两个不同的主控器控制。其中一个主模块是众所周知的h2f_lw_axi_master(由 Quartus Prime 软件提供,使 ARM 和 FPGA 数据交换成为可能),另一个zpc_1是我设计的自定义主模块。
这个项目的基本思想是,FPGA配置完成后,应该可以将数据写入片上存储器,zpc_1读取存储器的内容并对其进行操作。
每个字的长度为 512 位(64 字节),共有 1200 个字(因此分配的地址从0x0002_0000开始,到0x0003_2bff结束,足够的空间用于 76800 = (512 * 1200) /8 字节。hps 使用 uint512_t (来自 boost 库c++) 类型数据写入和 zpc_1 的 readdata 宽度为 512 位。地址是相对于h2f_lw_axi_master分配的。
我有两个关于这个系统的问题。
1 、 zpc_1 HDL代码中读取数据的地址是否应该从0x20000偏移开始,每个周期递增0x40(64)来逐字读取数据?(或任何其他方法)
2. zpc_1能够读取第一个字,并按照第一个字的指示连续工作,可能是什么原因?
如果您需要更多信息来回答问题和/或问题不够清楚以至于无法理解,请随时询问更多信息(评论)。