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建議指派為
.xilinx IP 一般忽略此信号。3'b000
- 從機(slave)控制的信号
- AWREADY
- 主機(master)控制的信号
- 寫資料通道信号
- 主機(master)控制的信号
- WVALID
- WDATA 資料信号線,傳輸資料資訊。
- WSTRB 資料總線有效位元組控制。比如32位的總線,WSTRB等于
,那麼代表4'b0010
中的資料有效。其他無效。如果要求WDATA[15:8]
32位全有效,那麼WSTRB就應該等于WDATA[31:0]
.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建議指派為
.xilinx IP 一般忽略此信号。3'b000
- 從機(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
關于技術交流
此處後的文字已經和題目内容無關,可以不看。
qq群:825695030
微信公衆号:嵌入式的日常
如果上面的文章對你有用,歡迎打賞、點贊、評論。