AXI lite接口一、基础AXI4包括了1、AXI lite(一般用于传输少数据的ip通信或小批量数据)2、AXI full(高级知识)3、AXI stream(以数据流的形式发送数据,与1,2不同,它没有地址,视频常用)。
Axi-lite 1、柴油机和复位:ACLK(同步时钟)和aresetn(同步,低数据源有效复位)2、地址(1)写地址:地址写(aw)AWADDR(2)读地址:读地址( ar ) ARADDR (1 byte <=> 1地址) 3、//写数据(w,wdata):【字节到机】 WSTRB(从屏蔽,1:有效)![插入插入图片描述(https:// /img-blog.csdnimg.cn/5b138b6fa4b9429fae1c5b59832c3182.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpbmR5c2t5MHYw,size_16,color_FFFFFF,t_70#pic_center)读数据(R,RDATA):【从机到主机】 RRESP【1:0】(00:ok 01:不存在 10:slave error 11:decode error) 写响应(B):BVALID [slave -> master] BREADY[m->s] BRESP[1:0]
4、招呼信号地址招呼:(1)写:AWVALID AWREADY(2)读:ARVALID ARREADY 发往从机的请求接收一般情况是主机将AWVALID(请求)和AWADDR(写)一起损坏从机,从机准备好后就反馈AWREADY给主机。AWVALID和AWREADY先后是不分的,只要同时为1,则传输发生。
数据招手: (1)写数据: wvalid【主机到从机】 wready【从机到主机】 (2)读数据:rvalid【从机到主机】 rready【主机到从机】
二、写一个AXI_lite从机
module axi_lite_controllor
#
(
parameter AXI_ADDRESS_WIDTH = 5
)
(
//clock and reset
input aclk,
input rst_n,
//write address channel
input [AXI_ADDRESS_WIDTH-1:0] axi_awaddr,
input axi_awvalid,
output axi_awready