特权同学玩转Zynq连载37——[ex56] 基于Zynq的AXI HP总线读写实例
1 概述
AXI HP总线是Zynq芯片非常重要的一个功能,它可以实现Cortex A9与PL之间大吞吐量的数据通信。可以说,Zynq芯片最大的卖点恐怕就是这条总线。对不起,不是1条,是4条这样的AXI HP总线。PL作为AXI HP主机,可以通过这4条总线实现对内存(DDR3)的读写访问,这4条总线加总的极限带宽,通常能够超过DDR3的最大有效带宽,因此,对于处理器与PL之间的数据交互,Zynq芯片可以做到了最优状态。因此,对于用Zynq做开发的工程师而言,如何玩转AXI HP总线就成为了必修课。
本实例(zstar_ex56)通过一个简单的AXI HP总线主机的读时序和写时序逻辑,来带领读者掌握基于Zynq的AXI HP总线基本使用方法。在这个实例中,首先需要在Zynq PS端对AXI HP总线进行配置,在系统硬件框图中进行必要的接口引出,然后在顶层源码中例化接口,并进行AXI HP读写时序的逻辑设计。
2 AXI总线协议介绍
参考文档《玩转Zynq-基础篇:AXI总线协议介绍.pdf》。
3 Zynq PS的AXI HP配置
在ZYNQ7 Processing System中,点击左侧Page Navigator的PS-PL Configuration页面,右侧展开HP Slave AXI Interface --> S AXI HP0 Interface,勾选S AXI HP0 Interface并且在展开的S AXI HP0 DATA WIDTH后面选择数据位宽是64(可选项只有32bit和64bit)。
回到Diagram中,需要