AXI Lite总线说明和测试

1 AXI Lite总线介绍

本节主要介绍AXI Lite总线的端口定义和数据传输流程。

1.1 AXI Lite总线端口定义

本节主要介绍AXI Lite总线各个端口的定义(从Master的角度看,Slave则相反)
1.时钟和复位

信号方向说明
aclkinput时钟,上升沿有效
aresetninput复位, 低电平有效

2.写通道
2.1 写地址通道

信号方向说明
awreadyinputslave写地址就绪信号
awvalidoutputmaster写地址有效信号
awaddroutputmaster写地址
awprotinputmaster写入写保护
awprot [0] 特权属性:0-正常写入;1-特权写入
awprot [1] 安全属性:0-安全性写入;1-无安全性写入
awprot [2] 访问属性:0-数据写入;1-指令写入

2.2 写数据通道

信号方向说明
wreadyinputslave写数据就绪信号
wvalidoutputmaster写数据有效信号
wdataoutputmaster写入数据
wstrboutput写入数据的有效字节

2.3 写响应通道

信号方向说明
breadyoutputmaster写响应就绪信号
bvalidinputslave写响应有效信号
brespinputslave写响应,2‘d0表示写入正常

3.读通道
3.1 读地址通道

信号方向说明
arreadyinputslave读地址就绪信号
arvalidoutputmaster读地址有效信号
araddroutputmaster读地址
arprotinputmaster写入读保护

3.2 读数据通道

信号方向说明
rreadyoutputmaster读数据就绪信号
rvalidinputmaster读数据有效信号
rdatainputmaster读入数据

3.3 读响应通道

信号方向说明
rrespinputslave读响应,2‘d0表示读数据正常

1.2 AXI Lite数据传输流程

1.写数据流程
slave在准备好接收数据后,将awready和wready拉高。master在准备好写地址和写数据后,拉高awvalid和wvalid,并给awaddr和wdata赋值,地址和数据的先后顺序任意。slave接收到地址和数据后,将数据写入存储空间的相应地址中。master在写入数据后,拉高bready,准备好接收写响应信号。slave在完成数据写入后,拉高bvalid信号,反馈写数据结果bresp,2’d0表示成功,2’d1表示失败,2‘d2表示slave错误,2’d3表示编码错误。
2.读数据流程
slave在准备好读出数据后拉高arready。master在准备好读地址后,拉高arvalid,并给araddr赋值,同时准备接收数据,拉高rready。slave在接收到地址后,从相应地址的存储空间中读出数据反馈给master,同时反馈读数据结果rresp。

2 AXI Lite总线测试

本节主要介绍对AXI Lite总线所做的测试和对测试结果的分析。
工程源文件:AXI Lite总线测试工程

2.1 测试工程说明

为了加深对AXI Lite协议的理解,使用Vivado创建测试工程,测试工程的框图如下图所示。data generator模块按AXI Lite协议的要求生成写地址和写数据,通过axi interconnect模块和axi bram controller模块将数据写入BRAM中。data generator模块也可以生成读地址和读指令,从BRAM中读出数据,复位和读写操作的切换通过vio模块完成。ila模块监控数据的传输过程。
在这里插入图片描述

2.1.1 写状态机

状态机复位后处于idle状态,在准备传输数据后,进入ready状态,拉高awvalid和wvalid信号,并给awaddr和wdata赋值。如果awready和wready信号同时有效,表明slave成功接收了地址和数据,状态机进入resp状态。如果wready信号先来,表明slave先接收数据信号,进入waddr状态,当awready信号到来后进入resp状态。如果awready信号先来,表明slave先接收地址信号,进入wdata状态,当wready信号到来后进入resp状态。在进入resp状态前,master拉高bready信号,接收slave的写反馈。在接收到写反馈信号bvalid后,进行写反馈信息bresp,然后进入susp状态。如果完成了一帧数据的传输,则地址归0,准备发送下一帧数据,反之则地址加4(如果数据位宽为32),进行下一次数据的传输。
在这里插入图片描述

2.1.2 读状态机

状态机复位后处于idle状态,在准备传输数据后,进入ready状态,拉高awvalid信号,并给awaddr赋值。slave在准备好接收地址信息后,拉高awready信号,同时将数据从存储空间的指定地址读出。状态机进入rdata状态,在rvalid信号有效后接收slave传过来的数据,然后状态机进行resp状态,接收读反馈的信息,之后进入susp状态,如果接收完了一帧数据,则地址归0,准备接收下一帧数据,反之则地址加4(如果数据位宽为32),进行下一次数据的传输。
在这里插入图片描述

2.2 测试结果分析

2.2.1 写数据波形图

在这里插入图片描述

2.2.2 读数据波形图

在这里插入图片描述

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值