1. 程式人生 > 其它 >AXI4-lite協議介紹

AXI4-lite協議介紹

AXI4-lite協議介紹

AXI4-liteAXI4-full的簡化版。用於簡單、低吞吐量的記憶體對映通訊。主要用於核心和外設暫存器之間的通訊。功能類似STM32中外設與CPU之間的通訊時使用的協議,比如當訪問串列埠的資料暫存器時,只訪問四個位元組的資料,所以使用AXI4-lite就特別合適。再比如,在PL寫一個用於PS端操作的外設時,其外設暫存器一般通過AXI4-lite匯流排和PS互動。
AXI4-lite匯流排協議的特性如下:

  1. 資料匯流排只能是32位或者64位。
  2. 每次傳輸只能傳輸一個數據。
  3. 所有訪問都是不可修改(Non-modifiable),不可緩衝(Non-bufferable)。
  4. Exclusive 訪問不支援。

訊號線詳細描述

AXI4-lite匯流排協議總共包括21條訊號線。每個通道都有其自己的雙向握手機制訊號線xxVALIDxxREADY,關於雙向握手機制,見AXI匯流排介紹。下面是訊號線的詳細描述。

  1. 全域性訊號
    1. ACLK 全域性時鐘訊號,在上升沿時對訊號取樣。所有的輸入訊號都通過上升沿採集,所有的輸出訊號都在上升沿時變化。
    2. ARESETn 全域性復位訊號,低電平有效。在復位期間,所有的xxVALID訊號必須復位為低電平。其他的訊號可以是任意值。
  2. 寫地址通道訊號
    1. 主機(master)控制的訊號
      1. AWVALID
      2. AWADDR 地址訊號線,傳輸地址資訊。
      3. AWPROT 訪問許可權訊號線,xilinx建議賦值為3'b000.xilinx IP 一般忽略此訊號。
    2. 從機(slave)控制的訊號
      1. AWREADY
  3. 寫資料通道訊號
    1. 主機(master)控制的訊號
      1. WVALID
      2. WDATA 資料訊號線,傳輸資料資訊。
      3. WSTRB 資料匯流排有效位元組控制。比如32位的匯流排,WSTRB等於4'b0010,那麼代表WDATA[15:8]中的資料有效。其他無效。如果要求WDATA[31:0]32位全有效,那麼WSTRB就應該等於4'b1111.
    2. 從機(slave)控制的訊號
      1. WREADY
  4. 寫應答通道訊號
    1. 主機(master)控制的訊號
      1. BREADY
    2. 從機(slave)控制的訊號
      1. BVALID
      2. BRESP 應答型別。AXI4-lite不支援EXOKAY型別的響應。
        1. OKEY 0 正常訪問成功
        2. SLVERR 2 從機錯誤
        3. DECERR 3 解碼錯誤,比如沒有從機的地址。
  5. 讀地址通道訊號
    1. 主機(master)控制的訊號
      1. ARVALID
      2. ARADDR 地址訊號線,傳輸地址資訊。
      3. ARPROT 訪問許可權訊號線,xilinx建議賦值為3'b000.xilinx IP 一般忽略此訊號。
    2. 從機(slave)控制的訊號
      1. ARREADY
  6. 讀資料通道訊號
    1. 從機(slave)控制的訊號
      1. RREADY
    2. 從機(master)控制的訊號
      1. RVALID
      2. RDATA 資料訊號線,傳輸資料資訊。
      3. RRESP 同寫應答訊號BRESP

讀寫時序和握手時序

關於AXI4.0-lite的讀寫時序和握手時序請參看AXI匯流排介紹

AXI-lite主從互動模擬

  1. vivado建立AXI外設。
  2. 新增主從介面。
  3. 編寫模擬tb檔案。模擬相關的檔案見附件axi-lite.zip

下圖是AXI-lite主從互動的時序圖,主機先通過匯流排寫資料,然後通過讀匯流排將其寫入的資料讀了出來。圖中畫圓圈的地方是每個通道第一次握手的時序(後續的握手時序沒有標記)。

文件參考

  1. IHI0022G_amba_axi_protocol_spec.pdf
  2. IHI0051A_amba4_axi4_stream_v1_0_protocol_spec.pdf
  3. ug761_axi_reference_guide.pdf