AXI4-full協議介紹
阿新 • • 發佈:2021-12-27
AXI4-full協議介紹
AXI4.0-full
包含突發控制訊號,所以可以進行突發傳輸,在只指定一次地址後,可以一次傳輸多達256個數據(資料的寬度取決於頻寬)。主要用於往DDR或者OCM中寫入大量資料時使用。
訊號線詳細描述
下面訊號包含五個通道的所有訊號。其中每個通道都有其自己的雙向握手機制訊號線xxVALID
和xxREADY
,這倆訊號線的介紹,詳見AXI匯流排介紹。
- 全域性訊號
- ACLK 全域性時鐘訊號,在上升沿時對訊號取樣。所有的輸入訊號都通過上升沿採集,所有的輸出訊號都在上升沿時變化。
- ARESETn 全域性復位訊號,低電平有效。在復位期間,所有的
xxVALID
訊號必須復位為低電平。其他的訊號可以是任意值。
- 寫地址通道訊號
- 主機(master)控制的訊號
- AWID 交易識別符號,亂序時使用。初學者就先預設為0吧。
- AWADDR 地址訊號線,傳輸地址資訊。
- AWLEN 指定突發寫長度,Burst_Length = AxLEN[7:0] + 1。如要一次傳輸16個數據,那麼
AWLEN=15
.注意事項如下- 突發事件不能跨越4KB地址邊界。即起始地址到結束地址(AWADDR + AWLEN * (
WDATA
位寬/4))都必須在0xxxxxx000-0xxxxxxFFF。也就是x
代表的位必須一致。 AWBURST
型別為INCR
時,支援1-256長度的傳送。AWBURST
型別為其他時,支援1-16長度的傳送。
- 突發事件不能跨越4KB地址邊界。即起始地址到結束地址(AWADDR + AWLEN * (
- AWSIZE 每次傳輸的位元組,和
WDATA
WDATA
為32位。那麼AWSIZE=log2(32/8)=2
。 - AWBURST 突發型別
- FIXED: 0 固定模式,Xilinx不建議使用此模式。
- INCR: 1 遞增模式(Incrementing),遞增值依賴於傳送寬度。比如資料匯流排
AWADDR
為32位,那麼next_AWADDR_value = current_AWADDR_value + 32/8; - WRAP: 2
- Reserved: 3
- AWLOCK 匯流排鎖訊號,可提供操作的原子性。一般賦值為0。
- AWCACHE 記憶體型別。xilinx建議賦值為
4'b0011
。 - AWPROT 訪問許可權訊號線,xilinx建議賦值為
3'b000
- AWQOS 服務質量,xilinx使用其值
0b0000
.表示介面不參與任何QoS方案。AXI4協議沒有指定QoS識別符號的確切使用。該規範建議將AxQOS用作相關的寫或讀事務的優先順序指示器。更高的值表示更高的優先順序事務。 - AWUSER 使用者自定義訊號。ip互動中一般用不到。賦值為1.
- AWVALID
- 從機(slave)控制的訊號
- AWREADY
- AWREGION 區域標誌,能實現單一物理介面對應的多個邏輯介面。xilinx主機介面沒有此訊號線,從機有。初學者就預設為0吧。
- 主機(master)控制的訊號
- 寫資料通道訊號
- 主機(master)控制的訊號
- WDATA 資料訊號線,傳輸資料資訊。
- WSTRB 資料匯流排有效位元組控制。比如32位的匯流排,WSTRB等於
4'b0010
,那麼代表WDATA[15:8]
中的資料有效。其他無效。如果要求WDATA[31:0]
32位全有效,那麼WSTRB就應該等於4'b1111
. - WLAST 置高表示突發資料中的最後一個數據。
- WUSER AXI4協議留給使用者自定義的,協議本身沒有定義功能。Xilinx在ip核的使用上也沒有實現。
- WVALID
- 從機(slave)控制的訊號
- WREADY
- 主機(master)控制的訊號
- 寫應答通道訊號
- 主機(master)控制的訊號
- BREADY
- 從機(slave)控制的訊號
- BID 交易識別符號
- BRESP
- OKEY 0 正常訪問成功
- EXOKEY 1
- SLVERR 2 從機錯誤
- DECERR 3 解碼錯誤,比如沒有從機的地址。
- BUSER AXI4協議留給使用者自定義的,協議本身沒有定義功能。Xilinx在ip核的使用上也沒有實現。
- BVALID
- 主機(master)控制的訊號
- 讀地址通道訊號
- 主機(master)控制的訊號
- ARID 讀地址通道訊號的意義跟寫地址通道的相似。
- ARADDR
- ARLEN
- ARSIZE
- ARBURST
- ARLOCK
- ARCACHE
- ARPROT
- ARQOS
- ARUSER
- ARVALID
- 從機(slave)控制的訊號
- ARREADY
- ARREGION
- 主機(master)控制的訊號
- 讀資料通道訊號
- 從機(slave)控制的訊號
- RREADY
- 從機(master)控制的訊號
- RID 讀資料通道訊號的意義跟寫資料通道的相似。
- RDATA
- RRESP
- RLAST
- RUSER
- RVALID
- 從機(slave)控制的訊號
讀寫時序和握手時序
關於AXI4.0-full
的讀寫時序和握手時序請參看AXI匯流排介紹。
AXI-lite主從互動模擬
- vivado建立AXI外設。
- 新增主從介面。
- 編寫模擬tb檔案。模擬相關的檔案見附件axi-full.zip。
下圖是AXI-full主從互動的時序圖,主機先通過匯流排寫資料,然後通過讀匯流排將其寫入的資料讀了出來。圖中畫圓圈的地方是每個通道第一次握手的時序(後續的握手時序沒有標記)。
文件參考
- IHI0022G_amba_axi_protocol_spec.pdf
- IHI0051A_amba4_axi4_stream_v1_0_protocol_spec.pdf
- ug761_axi_reference_guide.pdf