赞
踩
AXI4.0是ARM公司提出的AMBA 3.0协议的升级版,是一种高性能、高带宽、低延迟的片内总线,具有总线的地址/控制和数据通道是分离的;支持不对齐的数据传输;在突发传输中,只需要首地址;同时具有分离读/写数据通道;更加容易进行时序收敛。
写地址通道(Write address channel,AW);写数据通道(Write data channel,W);写响应通道(Write response channel,B);读地址通道(Read address channel,AR);读数据通道(Read data channel,R)。每个通道都是一个独立的AXI握手协议。
每个通道都有一对VALID/READY信号;发送方用VALID指示什么时候数据或控制信息是有效的;接收方用READY指示可以接收数据或控制信息。传输发生在VALID和READY信号同时为高的时候。各信号之间的关系见下图(左图为读事务,右图为写事务)
VALID与READY之间的时序关系见下图。
全局信号
信号 | 源 | 描述 |
ACLK | Clock source | 全局时钟信号 |
ARESETn | Reset source | 全局复位信号,低电平有效 |
写地址通道信号
信号 | 源 | 描述 |
AWID[3:0] | 主机 | 写地址ID,这个信号是写地址信号组的ID tag。 |
AWADDR[31:0] | 主机 | 写地址。 |
AWLEN[3:0] | 主机 | 突发式写的长度。此长度决定突发式写所传输的数据的个数。 |
AWSIZE[2:0] | 主机 | 突发式写的大小。 |
AWBURST[1:0] | 主机 | 突发式写的类型。 |
AWLOCK[1:0] | 主机 | 锁类型。 |
AWCACHE[3:0] | 主机 | Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。 |
AWPROT[2:0] | 主机 | 保护类型。 |
AWVALID | 主机 | 写地址有效。 1 = 地址和控制信息有效 0 = 地址和控制信息无效 这个信号会一直保持,直到AWREADY变为高。 |
AWREADY | 设备 | 写地址准备好。这个信号用来指明设备已经准备好接受地址和控制信息了。 1 = 设备准备好 0 = 设备没准备好 |
写数据通道信号
信号 | 源 | 描述 |
WID[3:0] | 主机 | 写ID tag,WID的值必须与AWID的值匹配 |
WDATA[31:0] | 主机 | 写的数据。 |
WSTRB[3:0] | 主机 | 写阀门。WSTRB[n]标示的区间为WDATA[(8*n)+7:(8*n)]
|
WLAST | 主机 | 写的最后一个数据。 |
WVALID | 主机 | 写有效 1 = 写数据和阀门有效 0 = 写数据和阀门无效 |
WREADY | 设备 | 写就绪。指明设备已经准备好接受数据了 1 = 设备就绪 0 = 设备未就绪 |
写响应通道信号
信号 | 源 | 描述 |
BID[3:0] | 设备 | 响应ID , 这个数值必须与AWID的数值匹配。 |
BRESP[1:0] | 设备 | 写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。 |
BVALID | 设备 | 写响应有效。 1 = 写响应有效 0 = 写响应无效 |
BREADY | 主机 | 接受响应就绪。该信号表示主机已经能够接受响应信息。 1 = 主机就绪 0 = 主机未就绪 |
读地址通道信号
信号 | 源 | 描述 |
ARID[3:0] | 主机 | 读地址ID。 |
ARADDR[31:0] | 主机 | 读地址。 |
ARLEN[3:0] | 主机 | 突发式读长度。 |
ARSIZE[2:0] | 主机 | 突发式读大小。 |
ARBURST[1:0] | 主机 | 突发式读类型。 |
ARLOCK[1:0] | 主机 | 锁类型。 |
ARCACHE[3:0] | 主机 | Cache类型。 |
ARPROT[2:0] | 主机 | 保护类型。 |
ARVALID | 主机 | 读地址有效。信号一直保持,直到ARREADY为高。 1 = 地址和控制信息有效 0 = 地址和控制信息无效 |
ARREADY | 设备 | 读地址就绪。指明设备已经准备好接受数据了。 1 = 设备就绪 0 = 设备未就绪 |
读数据通道信号
信号 | 源 | 描述 |
RID[3:0] | 设备 | 读ID tag。RID的数值必须与ARID的数值匹配。 |
RDATA[31:0] | 设备 | 读数据。 |
RRESP[1:0] | 设备 | 读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。 |
RLAST | 设备 | 读事务传送的最后一个数据。 |
RVALID | 设备 | 读数据有效。 1 = 读数据有效。 0 = 读数据无效。 |
RREADY | 主机 | 读数据就绪。 1 = 主机就绪 0 = 主机未就绪 |
低功耗接口信号
信号 | 源 | 描述 |
CSYSREQ | CLOCK controller | 系统低功耗请求。此信号来自系统时钟控制器,使外围设备进入低功耗状态。 |
CSYSACK | 外围设备 | 低功耗请求应答。 |
CACTIVE | 外围设备 | Clock active 1 = 外围设备时钟请求 0 = 外围设备时钟无请求 |
以下是AXI lite IP核各信号的定义:
- module AXI_PWM_v1_0_S00_AXI #
- (
- // Users to add parameters here
-
- // User parameters ends
- // Do not modify the parameters beyond this line
-
- // Width of S_AXI data bus
- parameter integer C_S_AXI_DATA_WIDTH = 32,
- // Width of S_AXI address bus
- parameter integer C_S_AXI_ADDR_WIDTH = 4
- )
- (
- // Users to add ports here
- output wire pwm_out,
- // User ports ends
- // Do not modify the ports beyond this line
-
- // Global Clock Signal
- input wire S_AXI_ACLK,
- // Global Reset Signal. This Signal is Active LOW
- input wire S_AXI_ARESETN,
- // Write address (issued by master, acceped by Slave)
- input wire [C_S_AXI_ADDR_WIDTH-1 : 0] S_AXI_AWADDR,
- // Write channel Protection type. This signal indicates the
- // privilege and security level of the transaction, and whether
- // the transaction is a data access or an instruction access.
- input wire [2 : 0] S_AXI_AWPROT,
- // Write address valid. This signal indicates that the master signaling
- // valid write address and control information.
- input wire S_AXI_AWVALID,
- // Write address ready. This signal indicates that the slave is ready
- // to accept an address and associated control signals.
- output wire S_AXI_AWREADY,
- // Write data (issued by master, acceped by Slave)
- input wire [C_S_AXI_DATA_WIDTH-1 : 0] S_AXI_WDATA,
- // Write strobes. This signal indicates which byte lanes hold
- // valid data. There is one write strobe bit for each eight
- // bits of the write data bus.
- input wire [(C_S_AXI_DATA_WIDTH/8)-1 : 0] S_AXI_WSTRB,
- // Write valid. This signal indicates that valid write
- // data and strobes are available.
- input wire S_AXI_WVALID,
- // Write ready. This signal indicates that the slave
- // can accept the write data.
- output wire S_AXI_WREADY,
- // Write response. This signal indicates the status
- // of the write transaction.
- output wire [1 : 0] S_AXI_BRESP,
- // Write response valid. This signal indicates that the channel
- // is signaling a valid write response.
- output wire S_AXI_BVALID,
- // Response ready. This signal indicates that the master
- // can accept a write response.
- input wire S_AXI_BREADY,
- // Read address (issued by master, acceped by Slave)
- input wire [C_S_AXI_ADDR_WIDTH-1 : 0] S_AXI_ARADDR,
- // Protection type. This signal indicates the privilege
- // and security level of the transaction, and whether the
- // transaction is a data access or an instruction access.
- input wire [2 : 0] S_AXI_ARPROT,
- // Read address valid. This signal indicates that the channel
- // is signaling valid read address and control information.
- input wire S_AXI_ARVALID,
- // Read address ready. This signal indicates that the slave is
- // ready to accept an address and associated control signals.
- output wire S_AXI_ARREADY,
- // Read data (issued by slave)
- output wire [C_S_AXI_DATA_WIDTH-1 : 0] S_AXI_RDATA,
- // Read response. This signal indicates the status of the
- // read transfer.
- output wire [1 : 0] S_AXI_RRESP,
- // Read valid. This signal indicates that the channel is
- // signaling the required read data.
- output wire S_AXI_RVALID,
- // Read ready. This signal indicates that the master can
- // accept the read data and response information.
- input wire S_AXI_RREADY
- );
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。