ZYNQ基于AXI协议的读BRAM IP核设计

603 阅读1分钟

1 BRAM简介

  • BRAM( Block RAM)是 PL 部分的存储器阵列, PS 和 PL 通过对 BRAM 进行读写操作,来实现数据的交互。在 PL 中,通过输出时钟、地址、读写控制等信号来对 BRAM 进行读写操作。
  • 在 Block Design 中添加 BRAM IP 核,即 Block Memory Generator IP 核。在 Diagram 窗口空白位置右击, 然后选择“ Add IP”。 在弹出的 IP 目录中搜索“ Block Memory”,最后双击搜索结果中的“ Block Memory Generator”将其添加到设计中,如下图所示: image.png
  • BRAM IP 核支持两种模式,一种是独立模式( Stand Alone),在此模式下,可以自由配置 RAM 的数据深度和宽度;另一种是 BRAM 控制器模式( BRAM Controller),在此模式下,地址和数据默认为 32 位,由于本次实验添加了 BRAM 控制器 IP 核,因此 BRAM 模式选择 BRAM 控制器模式 image.png
  • PS 将串口接收到的数据写入 BRAM,然后从BRAM 中读出数据,并通过串口打印出来;
  • PL 从 BRAM 中同样读出数据,并通过 ILA 来观察读出的数据与串口打印的数据是否一致。 image.png image.png

2 AXI协议的读BRAM IP核设计

image.png

3 软件设计

image.png image.png image.png