目录
Write request channel signnal(AW)
write response channel signnal(B)
04 Interface level signals(接口信号)
大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。
上篇推送主要是AXI总线的协议架构等进行了介绍,本篇推送主要是对通道的信号进行整理和总结。本文的内容基于AMBA5的版本进行描述。
下面正式进入本章推送的内容。
01 Write channels(写通道)
write通道被用于write事务和其他事务的传输request、传输data、传输responses。
-
Write request channel signnal(AW)
信号名 | 位宽 | 方向 | 描述 |
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 | 内存标签操作信号 |
-
write data channel signnal(W)
信号名 | 位宽 | 方向 | 描述 |
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 | 内存标签更新 |
-
write response channel signnal(B)
信号名 | 位宽 | 方向 | 描述 |
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 | 内存标签匹配响应 |
02 Read channels(读通道)
read通道被用于read事务、Cache维护操作以及DVM Complete信息的传输request、传输data、传输responses。
-
Read request channel(AR)
信号名 | 位宽 | 方向 | 描述 |
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 | 内存标签操作信号 |
-
read data channel(R)
信号名 | 位宽 | 方向 | 描述 |
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 | 内存标签 |
03 Snoop channels(Snoop通道)
在AXI总线里面,snoop通道仅仅用于传输DVM信息。
-
Snoop request channel(AC)
信号名 | 位宽 | 方向 | 描述 |
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 | 追踪信号 |
-
Snoop response channel(CR)
信号名 | 位宽 | 方向 | 描述 |
CRVALID | 1 | S->M | 数据有效信号 |
CRREADY | 1 | M->S | ready信号 |
CRTRACE | 1 | S->M | 追踪信号 |
04 Interface level signals(接口信号)
interface level信号是独立于通道的。
-
Clock and rest signals
信号名 | 位宽 | 方向 | 描述 |
ACLK | 1 | external | 全局时钟信号 |
ARESETn | 1 | external | 全局复位信号 |
-
Wakeup signals
信号名 | 位宽 | 方向 | 描述 |
AWAKEUP | 1 | M->S | 读、写通道唤醒信号 |
ACWAKEUP | 1 | S->M | snoop通道唤醒信号 |
-
Qos Accept signals
Qos Accept signnals被用于指示Subordinate接受的请求的最小QoS值。
信号名 | 位宽 | 方向 | 描述 |
VAWQOSACCEPT | 1 | S->M | write requsts的Qos 接受level |
VARQOSACCEPT | 1 | M->S | read requsts的Qos 接受level |
-
Coherency Connection signals
Coherency Connection signals被用于控制Manager在AC channel接收DVM信息。
信号名 | 位宽 | 方向 | 描述 |
SYSCOREQ | 1 | S->M | Coherency connect request |
SYSCOACK | 1 | M->S | Coherency connect acknowledge |
-
Interface control signals
interface control signals 是Manager接口的静态输入,用于配置接口的行为。
信号名 | 位宽 | 方向 | 描述 |
BROADCASTATOMIC | 1 | Tie-off | 原子操作控制 |
BROADCASTSHAREABLE | 1 | Tie-off | 共享控制 |
BROADCASTCACHEMAINT | 1 | Tie-off | 缓存维护控制 |
BROADCASTCMOPOPA | 1 | Tie-off | |
BROADCASTPERSIST | 1 | Tie-off |
05 文章总结
本篇推送主要是对AXI总线Write通道、Read通道、Snoop通道、接口信号的相关进行了汇总罗列,文章内容略显枯燥。本篇主要是为了后续对AXI总线(AXI-Full/AXI-Lite)信号理解时对照参考。
参考文档:
《IHI0022J_amba_axi_protocol_spec.pdf》