AXI4-lite協議介紹
阿新 • • 發佈:2021-12-27
AXI4-lite協議介紹
AXI4-lite
是AXI4-full
的簡化版。用於簡單、低吞吐量的記憶體對映通訊。主要用於核心和外設暫存器之間的通訊。功能類似STM32中外設與CPU之間的通訊時使用的協議,比如當訪問串列埠的資料暫存器時,只訪問四個位元組的資料,所以使用AXI4-lite
就特別合適。再比如,在PL
寫一個用於PS
端操作的外設時,其外設暫存器一般通過AXI4-lite
匯流排和PS
互動。AXI4-lite
匯流排協議的特性如下:
- 資料匯流排只能是32位或者64位。
- 每次傳輸只能傳輸一個數據。
- 所有訪問都是不可修改(Non-modifiable),不可緩衝(Non-bufferable)。
- Exclusive 訪問不支援。
訊號線詳細描述
AXI4-lite
匯流排協議總共包括21條訊號線。每個通道都有其自己的雙向握手機制訊號線xxVALID
和xxREADY
,關於雙向握手機制,見AXI匯流排介紹。下面是訊號線的詳細描述。
- 全域性訊號
- ACLK 全域性時鐘訊號,在上升沿時對訊號取樣。所有的輸入訊號都通過上升沿採集,所有的輸出訊號都在上升沿時變化。
- ARESETn 全域性復位訊號,低電平有效。在復位期間,所有的
xxVALID
訊號必須復位為低電平。其他的訊號可以是任意值。
- 寫地址通道訊號
- 主機(master)控制的訊號
- AWVALID
- AWADDR 地址訊號線,傳輸地址資訊。
- AWPROT 訪問許可權訊號線,xilinx建議賦值為
3'b000
.xilinx IP 一般忽略此訊號。
- 從機(slave)控制的訊號
- AWREADY
- 主機(master)控制的訊號
- 寫資料通道訊號
- 主機(master)控制的訊號
- WVALID
- WDATA 資料訊號線,傳輸資料資訊。
- WSTRB 資料匯流排有效位元組控制。比如32位的匯流排,WSTRB等於
4'b0010
,那麼代表WDATA[15:8]
中的資料有效。其他無效。如果要求WDATA[31:0]
32位全有效,那麼WSTRB就應該等於4'b1111
.
- 從機(slave)控制的訊號
- WREADY
- 主機(master)控制的訊號
- 寫應答通道訊號
- 主機(master)控制的訊號
- BREADY
- 從機(slave)控制的訊號
- BVALID
- BRESP 應答型別。
AXI4-lite
不支援EXOKAY
型別的響應。- OKEY 0 正常訪問成功
- SLVERR 2 從機錯誤
- DECERR 3 解碼錯誤,比如沒有從機的地址。
- 主機(master)控制的訊號
- 讀地址通道訊號
- 主機(master)控制的訊號
- ARVALID
- ARADDR 地址訊號線,傳輸地址資訊。
- ARPROT 訪問許可權訊號線,xilinx建議賦值為
3'b000
.xilinx IP 一般忽略此訊號。
- 從機(slave)控制的訊號
- ARREADY
- 主機(master)控制的訊號
- 讀資料通道訊號
- 從機(slave)控制的訊號
- RREADY
- 從機(master)控制的訊號
- RVALID
- RDATA 資料訊號線,傳輸資料資訊。
- RRESP 同寫應答訊號
BRESP
。
- 從機(slave)控制的訊號
讀寫時序和握手時序
關於AXI4.0-lite
的讀寫時序和握手時序請參看AXI匯流排介紹。
AXI-lite主從互動模擬
- vivado建立AXI外設。
- 新增主從介面。
- 編寫模擬tb檔案。模擬相關的檔案見附件axi-lite.zip。
下圖是AXI-lite主從互動的時序圖,主機先通過匯流排寫資料,然後通過讀匯流排將其寫入的資料讀了出來。圖中畫圓圈的地方是每個通道第一次握手的時序(後續的握手時序沒有標記)。
文件參考
- IHI0022G_amba_axi_protocol_spec.pdf
- IHI0051A_amba4_axi4_stream_v1_0_protocol_spec.pdf
- ug761_axi_reference_guide.pdf