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