FPGA-AXI總線協(xié)議
掃描二維碼
隨時隨地手機看文章
AXI(Advanced eXtensible Interface)是一種總線協(xié)議,該協(xié)議的第一個版本AXI3是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0協(xié)議中最重要的部分。2010發(fā)布的AMBA4.0包含了AXI的第二個版本AXI4。
AXI4總線分為主、從兩端,兩者間可以連續(xù)的進行通信,AXI4總線采用READY、VALID握手通信機制,主設備收到從設備發(fā)送的READY,主設備將數(shù)據(jù)和VALID信號同時發(fā)給從設備。1)、AXI4:主要面向高性能地址映射通信的需求;2)、AXI4-Lite:是一個輕量級的,適用于吞吐量較小的地址映射通信總線,占用較少的邏輯資源,AXI4-Lite所有的猝發(fā)長度為1,數(shù)據(jù)總線寬度為32位或64位;
3)、AXI4-Stream:面向高速流數(shù)據(jù)傳輸,AXI4-Stream數(shù)據(jù)總線寬度為8、16、32、64、128、256、512和1024位,去掉了地址傳輸?shù)墓δ?,允許無限制的數(shù)據(jù)突發(fā)傳輸,無需考慮地址映射。
AXI總線分為五個通道:
- 讀地址通道,包含ARVALID,ARADDR,ARREADY信號;
- 寫地址通道,包含AWVALID,AWADDR,AWREADY信號;
- 讀數(shù)據(jù)通道,包含RVALID,RDATA,RREADY,RRESP信號;
- 寫數(shù)據(jù)通道,包含WVALID,WDATA,WSTRB,WREADY信號;
- 寫應答通道,包含BVALID,BRESP,BREADY信號;
AXI4和AXI4-Lite接口信號1)全局信號
|
信號名 |
AXI4 |
AXI4-Lite |
| ACLK |
全局時鐘 |
|
| ARESETN |
全局復位,低有效 |
|
|
信號名 |
源 | AXI4 |
AXI4-Lite |
| AWID |
主 |
寫地址ID。這個信號用于寫地址信號組的標記 | 不支持 |
|
AWADDR |
主 |
寫地址。寫地址給出突發(fā)數(shù)據(jù)傳輸?shù)牡谝粋€傳輸?shù)刂?/span> |
|
| AWLEN |
主 |
突發(fā)長度。給出突發(fā)傳輸中準確的傳輸個數(shù)。支持INCR和WRAP傳輸模式。 |
不支持 |
| AWSIZE |
主 |
突發(fā)大小。這個信號用于確定突發(fā)傳輸中每個傳輸?shù)拇笮 ?/span> |
不支持 |
| AWBURST |
主 |
突發(fā)類型。該消息與突發(fā)大小消息一致,表示在突發(fā)過程中,地址如何應用于每個傳輸。支持INCR和WRAP傳輸模式。 | 不支持 |
|
AWLOCK |
主 | 鎖類型。該信號提供了關于傳輸原子特性的額外信息 | 不支持 |
|
AWCACHE |
主 | 緩存類型,建議值為0011。 |
|
|
AWPROT |
主 | 保護類型,建議值為000。 |
|
| AWQOS |
主 |
QoS標識符,Xilinx AXI4 不支持。 |
不支持 |
|
AWREGION |
主 | 用于每個寫操作的地址通道上的域標識符。 |
不支持 |
| AWUSER |
主 |
Xilinx不支持 | 不支持 |
| AWVALID | 主 | 寫地址有效信號。為高指示地址有效。 |
|
| AWREADY |
從 |
寫地址準備信號。為高表示從設備空閑,準備接收;為低表示從設備忙。 |
|
|
信號名 |
源 | AXI4 | AXI4-Lite |
|
WDATA |
主 |
寫數(shù)據(jù),32位到1024位寬。 |
只支持32位寬 |
|
WSTRB |
主 |
寫字節(jié)選通,用于表示更新存儲器的字節(jié)通道,對于數(shù)據(jù)總線的每8位數(shù)據(jù)有一位寫選通信號。 |
從設備端可選擇忽略 |
| WLAST |
主 |
寫最后一個數(shù)據(jù)指示信號。表示突發(fā)傳輸中的最后一個數(shù)據(jù)。 |
不支持 |
| WUSER | 主 | Xilinx AXI4不支持 | 不支持 |
|
WVALID |
主 |
寫有效。為高指示數(shù)據(jù)有效。 |
|
|
WREADY |
從 |
寫準備。為高表示從設備空閑,準備接收數(shù)據(jù);為低表示從設備忙。 |
|
|
信號名 |
源 |
AXI4 |
AXI-Lite |
| BID |
從 |
響應ID。寫響應識別標記,BID值必須匹配AWID值 |
不支持 |
|
BRESP |
從 |
寫響應。該信號表示寫狀態(tài),可允許相應的表示為OKAY/EXOKAY/SLVERR/DECERR。 |
EXOKAY狀態(tài)不支持 |
| BUSER |
從 |
Xilinx AXI4不支持。 | 不支持 |
| BVALID |
從 |
寫響應有效。為高指示響應數(shù)據(jù)有效。 |
|
|
BREADY |
主 | 寫響應準備。為高表示主設備空閑,準備接收數(shù)據(jù);為低表示主設備忙。 |
|
|
信號名 |
源 | AXI4 |
AXI-Lite |
|
ARID |
主 |
讀地址ID。這個信號用于讀地址信號組的標記。 |
不支持 |
|
ARADDR |
主 | 讀地址。讀地址給出突發(fā)數(shù)據(jù)傳輸?shù)牡谝粋€傳輸?shù)刂贰?br /> |
|
| ARLEN | 主 | 突發(fā)長度。給出突發(fā)傳輸中準確的傳輸個數(shù)。支持INCR和WRAP傳輸模式。 | 不支持 |
|
ARSIZE |
主 | 突發(fā)大小。這個信息用于確定突發(fā)傳輸中每個傳輸?shù)拇笮 ?br /> | 不支持 |
|
ARBURST |
主 | 突發(fā)類型。該信息與突發(fā)大小信息一起,表示在突發(fā)過程中,地址如何應用于每個傳輸。支持INCR和WRAP傳輸模式。 | 不支持 |
|
ARLOCK |
主 | 鎖類型。該信號提供了關于傳輸原子特性的額外信息。 | 不支持 |
|
ARCACHE |
主 |
緩存類型,建議值為0011。 |
|
|
ARPROT |
主 |
保護類型,建議值為000。 |
|
|
ARQOS |
主 | QoS標識符,Xilinx AXI4不支持。 | 不支持 |
|
ARREGION |
主 | 用于每個讀操作的地址通道上的域標識符。 | 不支持 |
|
ARUSER |
主 | Xilinx AXI4 不支持。 | 不支持 |
|
ARVALID |
主 |
讀地址有效信號。為高指示地址有效。 |
|
|
ARREADY |
從 |
讀地址準備信號。為為高表示從設備空閑,準備接收數(shù)據(jù);為低表示從設備忙。 |
|
|
信號名 |
源 | AXI4 |
AXI-Lite |
|
RID |
從 |
讀ID標記,該信號是讀數(shù)據(jù)信號組標記,由從設備產(chǎn)生RID,RID必須和讀交易中的ARID匹配。 |
不支持 |
|
RDATA |
從 |
讀數(shù)據(jù)。32位到1024位寬。 |
只支持32位寬 |
| RRESP | 從 | 讀響應。該信號表示讀狀態(tài),可允許相應的表示為OKAY/EXOKAY/SLVERR/DECERR。 |
EXOKAY狀態(tài)不支持 |
|
RLAST |
從 |
讀最后一個數(shù)據(jù)指示信號。表示突發(fā)傳輸中的最后一個數(shù)據(jù)。 |
不支持 |
|
RUSER |
從 |
Xilinx AXI4不支持。 |
不支持 |
|
RVALID |
從 | 讀有效。為高指示數(shù)據(jù)有效。 |
|
|
RRADY |
主 |
讀準備。為高表示主設備空閑,準備接收數(shù)據(jù);為低表示主設備忙。 |
|
|
信號名 |
源 | 默認值 |
功能 |
| TVALID |
No |
N/A |
Stream讀寫數(shù)據(jù)有效。為高指示數(shù)據(jù)有效。 |
|
TREADY |
Yes |
1 |
Stream讀寫準備。為高表示對端設備空閑,準備接收數(shù)據(jù);為低表示對端設備忙。 |
|
TDATA |
Yes |
0 |
Stream讀寫數(shù)據(jù),8到4096位寬。 |
| TSTRB | Yes | 同TKEEP,否則為1 | 字節(jié)選通信號。用于表示更新存儲器的字節(jié)通道,對于數(shù)據(jù)總線的每8位數(shù)據(jù)有一位選通信號。 |
|
TKEEP |
Yes |
1 |
字節(jié)選通信號。TKEEP未被確認的那些相關的字節(jié)是空字節(jié),可以從數(shù)據(jù)流中去除。 |
|
TLAST |
Yes |
0 |
表明包的邊界。 |
| TID | Yes | 0 |
數(shù)據(jù)流表示符。 |
|
TDEST |
Yes |
0 |
數(shù)據(jù)流路由信息。 |
|
TUSER |
Yes | 0 |
用戶定義的邊帶信息,這些信息能伴隨數(shù)據(jù)流進行發(fā)送。 |
主機/設備之間的握手過程以及READY和VALID握手信號的關系以及默認值。
1、全部5個通道使用相同的VALID/READY握手機制傳輸數(shù)據(jù)及控制信息。傳輸源產(chǎn)生VALID信號來指明何時數(shù)據(jù)或控制信息有效。而目的源產(chǎn)生READY信號來指明已經(jīng)準備好接受數(shù)據(jù)或控制信息。傳輸發(fā)生在VALID和READY信號同時為高的時候。VALID和READY信號的出現(xiàn)有三種關系。
(1)VALID先變高READY后變高。時序圖如下:
(2)READY先變高VALID后變高。時序圖如下:
同樣在箭頭處信息傳輸發(fā)生。
(3)VALID和READY信號同時變高。時序圖如下:
在這種情況下,信息傳輸立馬發(fā)生,如圖箭頭處指明信息傳輸發(fā)生。
2、通道之間的關系
地址、讀、寫和寫響應通道之間的關系是靈活的。
例如,寫數(shù)據(jù)可以出現(xiàn)在接口上早于與相關聯(lián)的寫地址,也有可能寫數(shù)據(jù)與寫地址在一個周期中出現(xiàn)。
兩種關系必須被保持:
(1)讀數(shù)據(jù)必須總是跟在與其數(shù)據(jù)相關聯(lián)的地址之后。
(2)寫響應必須總是跟在與其相關聯(lián)的寫事務的最后出現(xiàn)。
3、通道握手信號之間的依賴性
讀事務握手依賴關系如圖:
(1)設備可以在ARVALID出現(xiàn)的時候在給出ARREADY信號,也可以先給出ARREADY信號,再等待ARVALID信號。
(2)但是設備必須等待ARVALID和ARREADY信號都有效才能給出RVALID信號,開始數(shù)據(jù)傳輸。
寫事務握手依賴關系如圖:
(1)主機必須不能夠等待設備先給出AWREADY或WREADY信號后再給出信號AWVALID或WVALID。
(2)設備可以等待信號AWVALID或WVALID信號有效或者兩個都有效之后再給出AWREADY信號。
(3)設備可以等待AWVALID或WVALID信號有效或者兩個都有效之后再給出WREADY信號。





