ZYNQ+Vivado2015.2系列(七)软硬件联合Debug观察AXI总线读、写时各信号的时序

前面一节我们学会了创建基于AXI总线的IP,但是对于AXI协议各信号的时序还不太了解。这个实验就是通过SDK和Vivado联合调试观察AXI总线的信号。由于我们创建的接口是基于AXI_Lite协议的,所以我们实际观察到是AXI_Lite协议的信号时序。

具体做法是创建一个基于AXI总线的加法器模块,在Vivado里将AXI总线添加到debug信号里,实际上是用逻辑分析仪探测信号,在SDK端通过debug方式依次写入两个加数,由PL计算出和,我们读出这个和打印到串口,这样AXI总线的读和写就都能观察到了。

板子使用的是zc702。

在观察信号之前我们有必要简单了解AXI是个什么:

AXI总线是一种高性能、高带宽、低延迟的片内总线,AXI协议描述了主从设备数据传输的方式。主设备和从设备通过握手信号建立连接,握手信号包括主机发送的VALID信号,表示数据有效,从机发送的READY信号,表示从机准备好了接收数据。当VALID和READY都有效的时候传输开始。

Zynq使用的是AXI协议的4.0版本,由AMBA3.0协议发展而来:



AXI的三种总线各有各的用途:
AXI4支持突发数据传输,主要用于CPU访问存储等需要高速数据交互的场合,相当于原来的AHB协议;

AXI_Lite一次传输单个数据,主要用于访问一些低速外设,相当于原来的APB;

AXI_Stream数据传输不需要地址,主设备直接连续读写数据,主要用于高速流数据的传输,使用起来类似FIFO。


AXI4总线和AXI4-Lite总线具有相同的组成部分:
(1) 读地址通道, 包含ARVALID, ARADDR, ARREADY信号;
(2) 读数据通道, 包含RVALID, RDATA, RREADY, RRESP信号;
(3) 写地址通道, 包含AWVALID, AWADDR, AWREADY信号;
(4) 写数据通道, 包含WVALID, WDATA, WSTRB, WREADY信号;
(5) 写应答通道, 包含BVALID, BRESP, BREADY信号;
(6) 系统通道, 包含: ACLK, ARESETN信号。


帮助记忆:
读地址信号都是以AR开头(A: address; R: read)
写地址信号都是以AW开头(A: address; W: write)
读数据信号都是以R开头(R: read)
写数据信号都是以W开头(W: write&#x

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值