FPGA ZYNQ RAM 模块功能分析

279 阅读1分钟

1 ZYNQ 7020 RAM 140片 一片36KB

image.png image.png

image.png

2 RAM IP模块

image.png 各个端口的功能描述如下:

  • DINA:RAM 端口 A 写数据信号。
  • ADDRA:RAM 端口 A 读写地址信号,对于单端口 RAM 来说,读地址和写地址共用同该地址线。
  • WEA:RAM 端口 A 写使能信号,高电平表示向 RAM 中写入数据,低电平表示从 RAM 中读出数据。
  • ENA:端口 A 的使能信号,高电平表示使能端口 A,低电平表示端口 A 被禁止,禁止后端口 A 上的读写操作都会变成无效。另外 ENA 信号是可选的,当取消该使能信号后,RAM 会一直处于有效状态。
  • RSTA:RAM 端口 A 复位信号,可配置成高电平或者低电平复位,该复位信号是一个可选信号。
  • REGCEA:RAM 端口 A 输出寄存器使能信号,当 REGCEA 为高电平时,DOUTA 保持最后一次输出的数据,REGCEA 同样是一个可选信号。
  • CLKA:RAM 端口 A 的时钟信号。 image.png image.png image.png image.png

3 程序设计

image.png image.png image.png

3.1 例化

image.png image.png image.png image.png image.png image.png image.png

4 AXI BRAM模块控制器

  • BRAM(Block RAM)是 PL 部分的存储器阵列,PS 和 PL 通过对 BRAM 进行读写操作,来实现数据的交互。在 PL 中,通过输出时钟、地址、读写控制等信号来对 BRAM 进行读写操作;
  • 而在 PS 中,处理器并不需要直接驱动 BRAM 的端口,而是通过 AXI BRAM 控制器来对 BRAM 进行读写操作。AXI BRAM 控制器是集成在 Vivado 设计软件中的软核,可以配置成 AXI4-lite 接口模式或者 AXI4 接口模式。 image.png image.png image.png image.png image.png
  • AXI配置 image.png image.png
  • AXI BRAM控制器配置 image.png image.png image.png
  • BRAM配置 image.png image.png

5 自定义BRAM读写软核

image.png image.png image.png image.png image.png image.png image.png image.png

image.png