在 ZYNQ SOC 开发过程中, PL 和 PS 之间经常需要做数据交互。对于传输速度要求较高、数据量大、地址连续的场合,可以通过AXI DMA 来完成。而对于数据量较少、地址不连续、长度不规则的情况,此时 AXI DMA 便不再适用了。针对这种情况,可以通过 BRAM 来进行数据的交互。
实验目的:将数据从PS端写入PL部分的BRAM,然后将数据从BRAM读出来与原数据进行比较,判断是否写入成功。
一、搭建硬件框图
首先添加ps处理器,只需添加UART串口并设置相应的DDR型号即可,虽然我们用不到DDR。
然后添加一个BRAM生成器,Block Memory Generator,生成一个BRAM。选择真双口RAM,为简化电路,我们可以在other options将安全电路使能关掉。
接下来添加两个两个AXI BRAM Controller,分别控制BRAM的两个端口。每个的设置如下,这里也可以设置成2,那样的话每个控制器可以控制两个端口,这里我们选择一个。
然后点击自动连接,最终的框