一、简介
BRAM(Block RAM)是 PL 部分的存储器阵列,PS 和 PL 通过对 BRAM 进行读写操作,来实现数据的交互。在 PL 中,通过输出时钟、地址、读写控制等信号来对 BRAM 进行读写操作。而在 PS 中,处理器并不需要直接驱动 BRAM 的端口,而是通过 AXI BRAM 控制器来对 BRAM 进行读写操作。AXI BRAM 控制器是集成在 Vivado 设计软件中的软核,可以配置成 AXI4-lite 接口模式或者 AXI4 接口模式。
AXI4 接口模式的 BRAM 控制器支持的数据位宽为 32 位、64 位、128 位、512 位和 1024 位,而 AXI4-Lite接口仅支持 32 位数据位宽。PS 通过 AXI4-Lite 接口访问 BRAM,当使能 ECC 选项时,ECC 允许 AXI 主接口检测和纠正 BRAM 块中的单位和双位错误。AXI BRAM 控制器作为 AXI 总线的从接口,和 AXI 主接口实现互联,来对 BRAM 进行读写操作。针对不同的应用场合,该 IP 核支持单次传输和突发传输两种方式。
任务:
PS 将串口接收到的数据写入 BRAM,然后从 BRAM 中读出数据,并通过串口打印出来;与此同时,PL 从 BRAM 中同样读出数据,并通过 ILA 来观察读出的数据与串口打印的数据是否一致。下面是系统框图

文章介绍了在FPGA设计中,PS(ProcessorSystem)和PL(ProgrammableLogic)如何通过BRAM(BlockRAM)进行数据交互。PS利用AXI4-Lite接口和AXIBRAM控制器写入数据,同时PL通过自定义IP核读取BRAM数据,进行一致性验证。ECC功能用于检测和纠正BRAM中的错误。在SDK验证阶段,程序从串口接收数据写入BRAM,再读取并打印,同时PL通过ILA(IntegratedLogicAnalyzer)观察数据一致性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



