ZYNQ学习之路(二):PS与PL通过BRAM交互

本文介绍了在ZYNQ SOC开发中,如何在PS和PL之间通过BRAM进行数据交互,特别是在数据量小、地址不连续的场景下。文章详细阐述了搭建硬件框图的过程,包括添加PS处理器、BRAM生成器、AXI BRAM Controller,以及地址分配。接着在SDK中编写C程序,实现了数据的写入和读取,并验证了数据的正确性。最后提出通过改变IP核连接到BRAM PORTB端口,可在PL内部处理读取数据的方法。
摘要由CSDN通过智能技术生成

在 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,那样的话每个控制器可以控制两个端口,这里我们选择一个。

然后点击自动连接,最终的框

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值