目录
01 Write channels(写通道)
Write request channel signnal(AW)
write data channel signnal(W)
write response channel signnal(B)
02 Read channels(读通道)
Read request channel(AR)
read data channel(R)
03 Snoop channels(Snoop通道)
Snoop request channel(AC)
Snoop response channel(CR)
04 Interface level signals(接口信号)
Clock and rest signals
Wakeup signals
Qos Accept signals
Coherency Connection signals
Interface control signals
05 文章总结
大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。
上篇推送主要是AXI总线的协议架构等进行了介绍,本篇推送主要是对通道的信号进行整理和总结。本文的内容基于AMBA5的版本进行描述。
下面正式进入本章推送的内容。
write通道被用于write事务和其他事务的传输request、传输data、传输responses。
信号名 | 位宽 | 方向 | 描述 |
AWVALID | 1 | M->S | 写有效信号 |
AWREADY | 1 | S->M | 从机ready信号 |
AWID | ID_W_WIDTH | M->S | 传输通道的事务ID |
AWADDR | ADDR_WIDTH | M->S | 写入地址/突发传输开始地址 |
AWREGION | 4 | M->S | 域识别符,表征物理内存区域 |
AWLEN | 8 | M->S | 数据包的长度(total = AWSIZE * AWLEN) |
AWSIZE | 3 | M->S | 单个数据包的大小 |
AWBURST | 2 | M->S | 突发传输类型: 0b00-FIXED(固定长度) 0b01-INCR(地址和数据自增) 0b10-WRAP(边界环回) 0b11-RESERVED(无效保留) |
AWLOCK | 1 | M->S | 锁信号, 支持原子操作 |
AWCACHE | 4 | M->S | 内存参数(默认为0): [0] - Bufferable [1] - Modifiable [2] - Other Allocate [3] - Allocate |
AWPROT | 3 | M->S | 访问属性. 可用于保护内存免受意外事务的影响 |
AWNSE | 1 | M->S | RME模式非安全扩展位 |
AWQOS[可选] | 4 | M->S | 事务优先级信号, 默认设置为0x0 |
AWUSER | USER_REQ_WIDTH | M->S | 扩展的用户自定义信号 |
AWDOMAIN[可选] | 2 | M->S | 共享域参数: 0b00 - Non-shareable(不共享) 0b01 - Shareable(内部可共享) 0b10 - Shareable(外部可共享) 0b11 - System(系统域共享) 特别说明: 对于AXI5, 官方建议使用0b10表征共享域 |
AWSNOOP | AWSNOOP_WIDTH | M->S | 写请求操作码 |
AWSTASHNID [可选] |
11 | M->S | |
AWSTASHNIDEN [可选] |
1 | M->S | AWSTASHNID使能信号 |
AWSTASHLPID [可选] |
5 | M->S | |
AWSTASHLPIDEN [可选] |
1 | M->S | AWSTASHLPID使能信号 |
AWTRACE | 1 | M->S | 跟踪信号 |
AWLOOP | LOOP_W_WIDTH | M->S | 环回信号 |
AWMMUVALID | 1 | M->S | MMU限定符信号 |
AWMMUSECSID | SECSID_WIDTH | M->S | 安全流ID |
AWMMUSID | SID_WIDTH | M->S | 流ID |
AWMMUSSIDV | 1 | M->S | 子流ID有效信号 |
AWMMUSSID | SSID_WIDTH | M->S | 子流ID |
AWMMUATST | 1 | M->S | |
AWMMUFLOW | 2 | M->S | SMMU流类型 |
AWPBHA | 4 | M->S | |
AWNSAID | 4 | M->S | 非安全访问ID |
AWSUBSYSID | SUBSYSID_WIDTH | M->S | 子系统ID |
AWATOP | 6 | M->S | 原子事务操作码 |
AWMPAM | MPAM_WIDTH | M->S | MPAM请求信号 |
AWIDUNQ | 1 | M->S | 唯一ID指示信号 |
AWCMO | AWCMO_WIDTH | M->S | CMO类型 |
AWTAGOP | 2 | M->S | 内存标签操作信号 |
信号名 | 位宽 | 方向 | 描述 |
WVALID | 1 | M->S | 写操作: 数据有效信号 |
WREADY | 1 | S->M | 写操作: 从机ready信号(可写) |
WDATA | DATA_WIDTH | M->S | 写数据 |
WSTRB | DATA_WIDTH/8 | M->S | 写数据选通信号 |
WLAST | 1 | M->S | 最后一帧数据标志信号 |
WUSER | USER_DATA_WIDTH | M->S | 用户自定义扩展数据 |
WPOISON | DATA_WIDTH/64 | M->S | 数据损坏标志信号 |
WTAG | ceil(DATA_WIDTH/128)*4 | M->S | 内存标签 |
WTAGUPDATE | ceil(DATA_WIDTH/128) | M->S | 内存标签更新 |
信号名 | 位宽 | 方向 | 描述 |
BVALID | 1 | S->M | 有效信号 |
BREADY | 1 | M->S | ready信号 |
BID | ID_W_WIDTH | S->M | write channels ID |
BRESP | BRESP_WIDTH | S->M | 写响应信号 |
BUSER | USER_RESP_WDITH | S->M | 用户自定义扩展信号 |
BTRACE | 1 | S->M | 追踪信号 |
BLOOP | LOOP_W_WIDTH | S->M | 环回信号 |
BBUSY | 2 | S->M | Busy繁忙信号 |
BIDUNQ | 1 | S->M | 唯一ID |
BCOMP | 1 | S->M | 响应完成信号 |
BPERSIST | 1 | S->M | 持续响应信号 |
BTAGMATCH | 2 | S->M | 内存标签匹配响应 |
read通道被用于read事务、Cache维护操作以及DVM Complete信息的传输request、传输data、传输responses。
信号名 | 位宽 | 方向 | 描述 |
ARVALID | 1 | M->S | 写有效信号 |
ARREADY | 1 | S->M | 从机ready信号 |
ARID | ID_W_WIDTH | M->S | 传输通道的事务ID |
ARADDR | ADDR_WIDTH | M->S | 写入地址/突发传输开始地址 |
ARREGION | 4 | M->S | 域识别符,表征物理内存区域 |
ARLEN | 8 | M->S | 数据包的长度(total = AWSIZE * AWLEN) |
ARSIZE | 3 | M->S | 单个数据包的大小 |
ARBURST | 2 | M->S | 突发传输类型: 0b00-FIXED(固定长度) 0b01-INCR(地址和数据自增) 0b10-WRAP(边界环回) 0b11-RESERVED(无效保留) |
ARLOCK | 1 | M->S | 锁信号, 支持原子操作 |
ARCACHE | 4 | M->S | 内存参数(默认为0): [0] - Bufferable [1] - Modifiable [2] - Other Allocate [3] - Allocate |
ARPROT | 3 | M->S | 访问属性. 可用于保护内存免受意外事务的影响 |
ARNSE | 1 | M->S | RME模式非安全扩展位 |
ARQOS[可选] | 4 | M->S | 事务优先级信号, 默认设置为0x0 |
ARUSER | USER_REQ_WIDTH | M->S | 扩展的用户自定义信号 |
ARDOMAIN[可选] | 2 | M->S | 共享域参数: 0b00 - Non-shareable(不共享) 0b01 - Shareable(内部可共享) 0b10 - Shareable(外部可共享) 0b11 - System(系统域共享) 特别说明: 对于AXI5, 官方建议使用0b10表征共享域 |
ARSNOOP | AWSNOOP_WIDTH | M->S | 写请求操作码 |
ARTRACE | 1 | M->S | 跟踪信号 |
ARLOOP | LOOP_W_WIDTH | M->S | 环回信号 |
ARMMUVALID | 1 | M->S | MMU限定符信号 |
ARMMUSECSID | SECSID_WIDTH | M->S | 安全流ID |
ARMMUSID | SID_WIDTH | M->S | 流ID |
ARMMUSSIDV | 1 | M->S | 子流ID有效信号 |
ARMMUSSID | SSID_WIDTH | M->S | 子流ID |
ARMMUATST | 1 | M->S | |
ARMMUFLOW | 2 | M->S | SMMU流类型 |
ARPBHA | 4 | M->S | |
ARNSAID | 4 | M->S | 非安全访问ID |
ARSUBSYSID | SUBSYSID_WIDTH | M->S | 子系统ID |
ARMPAM | MPAM_WIDTH | M->S | MPAM请求信号 |
ARCHUNKEN | 1 | M->S | 读取数据分块使能信号 |
ARIDUNQ | 1 | M->S | 唯一ID指示信号 |
AWTAGOP | 2 | M->S | 内存标签操作信号 |
信号名 | 位宽 | 方向 | 描述 |
RVALID | 1 | S->M | 数据有效信号 |
RREADY | 1 | M->S | ready信号 |
RID | ID_R_WIDTH | S->M | read channel ID |
RDATA | DATA_WIDTH | S->M | 读数据 |
RSTRB | DATA_WIDTH/8 | S->M | 读数据选通信号 |
RLAST | 1 | S->M | 最后一帧数据标志信号 |
RUSER | USER_DATA_WIDTH | S->M | 用户自定义扩展数据 |
RPOISON | DATA_WIDTH/64 | S->M | 数据损坏标志信号 |
RTRACE | 1 | S->M | 追踪信号 |
RLOOP | LOOP_R_WIDTH | S->M | 环回信号 |
RBUSY | 2 | S->M | busy信号 |
RIDUNQ | 1 | S->M | 唯一ID指示信号 |
RCHUNKV | 1 | S->M | 读取数据分块使能信号 |
RCHUNKNUM | RCHUNKNUM_WIDTH | S->M | 正在传输的块NUM |
RCHUNKSTRB | RCHUNKSTRB_WIDTH | S->M | 正在传输的块选通信号 |
RTAG | ceil(DATA_WIDTH/128)*4 | M->S | 内存标签 |
在AXI总线里面,snoop通道仅仅用于传输DVM信息。
信号名 | 位宽 | 方向 | 描述 |
ACVALID | 1 | S->M | 数据有效信号 |
ACREADY | 1 | M->S | ready信号 |
ACADDR | ADDR_WIDTH | S->M | DVM信息有效负载 |
ACVMIDEXT | 4 | S->M | DVM信息扩展VMID |
ACTRACE | 1 | S->M | 追踪信号 |
信号名 | 位宽 | 方向 | 描述 |
CRVALID | 1 | S->M | 数据有效信号 |
CRREADY | 1 | M->S | ready信号 |
CRTRACE | 1 | S->M | 追踪信号 |
interface level信号是独立于通道的。
信号名 | 位宽 | 方向 | 描述 |
ACLK | 1 | external | 全局时钟信号 |
ARESETn | 1 | external | 全局复位信号 |
信号名 | 位宽 | 方向 | 描述 |
AWAKEUP | 1 | M->S | 读、写通道唤醒信号 |
ACWAKEUP | 1 | S->M | snoop通道唤醒信号 |
Qos Accept signnals被用于指示Subordinate接受的请求的最小QoS值。
信号名 | 位宽 | 方向 | 描述 |
VAWQOSACCEPT | 1 | S->M | write requsts的Qos 接受level |
VARQOSACCEPT | 1 | M->S | read requsts的Qos 接受level |
Coherency Connection signals被用于控制Manager在AC channel接收DVM信息。
信号名 | 位宽 | 方向 | 描述 |
SYSCOREQ | 1 | S->M | Coherency connect request |
SYSCOACK | 1 | M->S | Coherency connect acknowledge |
interface control signals 是Manager接口的静态输入,用于配置接口的行为。
信号名 | 位宽 | 方向 | 描述 |
BROADCASTATOMIC |
1 | Tie-off | 原子操作控制 |
BROADCASTSHAREABLE |
1 | Tie-off | 共享控制 |
BROADCASTCACHEMAINT | 1 | Tie-off | 缓存维护控制 |
BROADCASTCMOPOPA | 1 | Tie-off | |
BROADCASTPERSIST | 1 | Tie-off |
本篇推送主要是对AXI总线Write通道、Read通道、Snoop通道、接口信号的相关进行了汇总罗列,文章内容略显枯燥。本篇主要是为了后续对AXI总线(AXI-Full/AXI-Lite)信号理解时对照参考。
参考文档:
《IHI0022J_amba_axi_protocol_spec.pdf》