1、什麼是AXI
AXI(Advanced eXtensible Interface)是一種總協議,該協議的第一個版本AXI3是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0協議中最重要的部分。2010發佈的AMBA4.0包含了AXI的第二個版本AXI4。
AXI4包含3種類型的接口:
1)AXI4:主要面向高性能地址映射通信的需求;
2)AXI4-Lite:是一個輕量級的,適用於吞吐量較小的地址映射通信總線;
3)AXI4-Stream:面向高速流數據傳輸。
2、AXI4協議的優勢
1)高效:通過標準化的AXI接口,開發者只需要學習一種IP核的通訊協議即可;
2)易用:針對具體應用提供合適的接口協議。
AXI4:面向地址映射的接口,在單地址傳輸的情況下最大允許256個時鐘週期的數據突發長度;
AXI4-Lite:一個輕量級的地址映射單次傳輸接口,佔用較少的資源;
AXI4-Stream:去掉了地址傳輸的功能,允許無限制的數據突發傳輸,無需考慮地址映射。
3)易得:標準化的AXI接口協議資源,不僅可以在xilinx官網上獲得,也可以在全球範圍內ARM的所有合作伙伴處獲得。
大量的IP core支持AXI4協議;
大量的第三方AXI工具可提供多樣的系統開發、驗證和功能定製。
3、AXI4的工作模式
AXI4和AXI4-Lite包含5個不同的通道:
讀地址通道
寫地址通道
讀數據通道
寫數據通道
讀響應通道
數據可以在主從設備間同步的雙向傳輸,並且數據傳輸大小可以改變。AXI4將數據傳輸的突發長度限制爲最大256,AXI4-Lite每次傳輸僅運輸傳輸一個數據。
如圖1所示,AXI4協議主從設備間的讀操作使用獨立的讀地址和讀數據通道,只需要一個地址就可以執行最大爲256的突發長度的讀操作。
圖1 讀操作的通道結構
如圖2所示,AXI4協議主從設備間的寫操作使用寫地址、寫數據和寫響應通道。只需要一個地址就可以執行最大爲256的突發長度的寫操作。
圖2寫操作的通道結構
AXI4-Lite接口和AXI4接口類似,但是不支持AXI4的突發傳輸模式。AXI4-Stream接口僅使用數據通道傳輸數據流,數據突發長度無限。
4、AXI4和AXI4-Lite接口信號
1)全局信號
信號名 | AXI4 | AXI4-Lit |
ACLK | 全局時鐘 | |
ARESETN | 全局復位,低有效。 |
2)寫地址通道信號
信號名 | 源 | AXI4 | AXI4-Lit |
AWID | 主 | 寫地址ID。這個信號用於寫地址信號組的標記。 | 不支持 |
AWADDR | 主 | 寫地址。寫地址給出突發數據傳輸的第一個傳輸地址。 | |
AWLEN | 主 | 突發長度。給出突發傳輸中準確的傳輸個數。支持INCR和WRAP傳輸模式。 | 不支持 |
AWSIZE | 主 | 突發大小。這個信號用於確定突發傳輸中每個傳輸的大小。 | 不支持 |
AWBURST | 主 | 突發類型。該信息與突發大小信息一起,表示在突發過程中,地址如何應用於每個傳輸。支持INCR和WRAP傳輸模式。 | 不支持 |
AWLOCK | 主 | 鎖類型。該信號提供了關於傳輸原子特性的額外信息(普通或互斥訪問)。 | 不支持 |
AWCACHE | 主 | 緩存類型,建議值爲0011。 | |
AWPROT | 主 | 保護類型,建議值爲000。 | |
AWQOS | 主 | QoS標識符,xilinx AXI4不支持。 | 不支持 |
AWREGION | 主 | 用於每個寫操作的地址通道上的域標識符。 | 不支持 |
AWUSER | 主 | xilinx AXI4不支持。 | 不支持 |
AWVALID | 主 | 寫地址有效信號。爲高指示地址有效。 | |
AWREADY | 從 | 寫地址準備信號。爲高表示從設備空閒,準備接收地址;爲低表示從設備忙。 |
3)寫數據通道信號
信號名 | 源 | AXI4 | AXI-Lite |
WDATA | 主 | 寫數據,32位到1024位寬 | 只支持32位寬 |
WSTRB | 主 | 寫字節選通,用於表示更新存儲器的字節通道,對於數據總線的每8位數據有一位寫選通信號。 | 從設備端可選擇忽略。 |
WLAST | 主 | 寫最後一個數據指示信號。表示突發傳輸中的最後一個數據。 | 不支持 |
WUSER | 主 | xilinx AXI4不支持。 | 不支持 |
WVALID | 主 | 寫有效。爲高指示數據有效。 | |
WREADY | 從 | 寫準備。爲高表示從設備空閒,準備接收數據;爲低表示從設備忙。 |
4)寫響應通道
信號名 | 源 | AXI4 | AXI-Lite |
BID | 從 | 響應ID。寫響應識別標記,BID值必須匹配AWID值。 | 不支持 |
BRESP | 從 | 寫響應。該信號表示寫狀態,可允許相應的表示爲OKAY\EXOKAY\SLVERR\DECERR。 | EXOKAY狀態不支持 |
BUSER | 從 | xilinx AXI4不支持。 | 不支持 |
BVALID | 從 | 寫響應有效。爲高指示響應數據有效。 | |
BREADY | 主 | 寫響應準備。爲高表示主設備空閒,準備接收寫響應;爲低表示主設備忙。 |
5)讀地址通道
信號名 | 源 | AXI4 | AXI-Lite |
ARID | 主 | 讀地址ID。這個信號用於讀地址信號組的標記。 | 不支持 |
ARADDR | 主 | 讀地址。讀地址給出突發數據傳輸的第一個傳輸地址。 | |
ARLEN | 主 | 突發長度。給出突發傳輸中準確的傳輸個數。支持INCR和WRAP傳輸模式。 | 不支持 |
ARSIZE | 主 | 突發大小。這個信號用於確定突發傳輸中每個傳輸的大小。 | 不支持 |
ARBURST | 主 | 突發類型。該信息與突發大小信息一起,表示在突發過程中,地址如何應用於每個傳輸。支持INCR和WRAP傳輸模式。 | 不支持 |
ARLOCK | 主 | 鎖類型。該信號提供了關於傳輸原子特性的額外信息(普通或互斥訪問)。 | 不支持 |
ARCACHE | 主 | 緩存類型,建議值爲0011。 | |
ARPROT | 主 | 保護類型,建議值爲000。 | |
ARQOS | 主 | QoS標識符,xilinx AXI4不支持。 | 不支持 |
ARREGION | 主 | 用於每個讀操作的地址通道上的域標識符。 | 不支持 |
ARUSER | 主 | xilinx AXI4不支持。 | 不支持 |
ARVALID | 主 | 讀地址有效信號。爲高指示地址有效。 | |
ARREADY | 從 | 讀地址準備信號。爲高表示從設備空閒,準備接收地址;爲低表示從設備忙。 |
6)讀數據通道
信號名 | 源 | AXI4 | AXI-Lite |
RID | 從 | 讀ID標記,該信號是讀數據信號組標記,由從設備產生RID,RID必須和讀交易中的ARID匹配。 | 不支持 |
RDATA | 從 | 讀數據。32位到1024位寬 | 只支持32位寬 |
RRESP | 從 | 讀響應。該信號表示讀狀態,可允許相應的表示爲OKAY\EXOKAY\SLVERR\DECERR。 | EXOKAY狀態不支持 |
RLAST | 從 | 讀最後一個數據指示信號。表示突發傳輸中的最後一個數據。 | 不支持 |
RUSER | 從 | xilinx AXI4不支持。 | 不支持 |
RVALID | 從 | 讀有效。爲高指示數據有效。 | |
RREADY | 主 | 讀準備。爲高表示主設備空閒,準備接收數據;爲低表示主設備忙。 |
7)AXI4-Stream信號
信號名 | 源 | 默認值 | 功能 |
TVALID | No | N/A | Stream讀寫數據有效。爲高指示數據有效。 |
TREADY | Yes | 1 | Stream讀寫讀準備。爲高表示對端設備空閒,準備接收數據;爲低表示對端設備忙。 |
TDATA | Yes | 0 | Stream讀寫數據,8到4096位寬。 |
TSTRB | Yes | 同TKEEP,否則爲1 | 字節選通信號。用於表示更新存儲器的字節通道,對於數據總線的每8位數據有一位選通信號。 |
TKEEP | Yes | 1 | 字節選通信號。TKEEP未被確認的那些相關的字節是空字節,可以從數據流中去除。 |
TLAST | Yes | 0 | 表明包的邊界。 |
TID | Yes | 0 | 數據流標識符。 |
TDEST | Yes | 0 | 數據流路由信息。 |
TUSER | Yes | 0 | 用戶定義的邊帶信息,這些信息能伴隨數據流進行發送。 |
轉自:http://xilinxbbs.eepw.com.cn/thread/2283/1