ZYNQ-BRAM 读写实验
基础知识BRAM 和 DRAMFPGA的芯片内部有两种方式来实现数据的缓存功能基于硬件的 Blocked RAM(BRAM)理解为FPGA内部放了一个RAM芯片相当于是物理存储模块由 FPGA 的逻辑资源拼出来的 DRAM(Distributed)BRAM 和 DRAM 的区别BRAM不占用FPGA逻辑资源DRAM需要占用LUT及查找表BRAM 使用起来复杂(需要时钟同步并且给一些控制信号)DRAM 只需要简单调用查找表就好可以不用时钟异步存储和读取相当于组合逻辑BRAM 可以存储比较多的数据 而DRAM受FPGA逻辑资源闲置较大通常仅少量数据如几个字节的时候推荐用DRAM当数据较多如缓存一行图像数据或者存储卷积模板的时候会用BRAM几K 到几百K 当存储非常大的数据 如整张图像几M 甚至几十M时 这时候推荐使用外部存储芯片SDRAM 或者 DDR可以利用BRAM 生成多种不同形式的RAM比方说 ROM FIFO 等实验BRAM IP 核的使用Xilinx 7系列FPGA 内部的BRAM 可以配置成 真双口RAMTrue Dual-Port ram能同时负责读写简单双口RAMSimple Dual-Port ram一个只能负责读 一个只能负责写单端口RAM只有一个端口以及ROM。PS访问 PL端的BRAM资源实现PS与PL数据交互7020有4.9Mbit 的BRAM。 PS本身并不能直接读写 BRAM 的数据。但是我们可以通过AXI BRAM Controller IP 核来控制BRAM资源。AXI BRAM ControllerPS 端的 BRAM以下选项意味着这个只能访问一块存储。如果有两个可以构成双通道数据流一个 IP 负责读一个 IP 负责写Block Memory GeneratorPL 端的 IP出现错误ERROR [BD 41-1356] Slave segment ____HP0_DDR_LOWOCM is not assigned into address space打开 Address Editor, 地址未分配