<AMBA总线篇> AXI总线通道信号说明

目录

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的版本进行描述。


下面正式进入本章推送的内容。

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》

你可能感兴趣的:(FPGA,fpga开发,嵌入式硬件)