1、AXI 總線通道,總線和引腳的介紹
AXI接口具有五個(gè)獨(dú)立的通道:
(1)寫地址通道(AW):write address channel
(2)寫數(shù)據(jù)通道( W): write data channel
(3)寫響應(yīng)通道( B) : write response channel
(4)讀地址通道(AR):read address channel
(5)讀數(shù)據(jù)通道( R): read data channel
五個(gè)通道圖為:
讀地址通道和讀數(shù)據(jù)通道
寫地址通道,寫數(shù)據(jù)通道和寫響應(yīng)通道
讀地址通道的信號(hào):S_AXI_ARADDR,S_AXI_ARPROT,S_AXI_ARVALID,S_AXI_ARREADY;
讀數(shù)據(jù)通道的信號(hào):S_AXI_RDATA,S_AXI_RRESP,S_AXI_RVALID,S_AXI_RREADY;
寫地址通道的信號(hào):S_AXI_AWADDR,S_AXI_AWPROT,S_AXI_AWVALID,S_AXI_AWREADY;
寫數(shù)據(jù)通道的信號(hào):S_AXI_WDATA,S_AXI_WSTRB,S_AXI_WVALID,S_AXI_WREADY;
寫響應(yīng)通道的信號(hào):S_AXI_BRESP,S_AXI_BVALID,S_AXI_BREADY。
AXI接口的總線寬度:
C_S_AXI_ADDR_WIDTH : S_AXI數(shù)據(jù)總線的寬度
C_S_AXI_ADDR_WIDTH : S_AXI 地址總線的寬度
AXI接口的信號(hào)詳細(xì)說(shuō)明:
總線的輸入時(shí)鐘信號(hào)
S_AXI_ARESETN : in std_logic;
全局性的復(fù)位信號(hào),這個(gè)信號(hào)低電平有效
S_AXI_AWADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
寫地址通道(由主設(shè)備設(shè)置發(fā)送到從設(shè)備)
S_AXI_AWPROT : in std_logic_vector(2 downto 0);
寫通道保護(hù)類型,此信號(hào)表示事務(wù)的特權(quán)和安全級(jí)別,以及事務(wù)是數(shù)據(jù)訪問(wèn)還是指令訪問(wèn)。
S_AXI_AWVALID : in std_logic;
寫地址有效,此信號(hào)表示主設(shè)備正在發(fā)送有效的寫入地址和控制信息。
S_AXI_AWREADY : out std_logic;
寫地址就緒。這個(gè)信號(hào)表明,從設(shè)備將接受地址和相關(guān)的控制信號(hào)。
S_AXI_WDATA : in std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
寫數(shù)據(jù)(由主設(shè)備設(shè)置傳送到從設(shè)備)
S_AXI_WSTRB : in std_logic_vector((C_S_AXI_DATA_WIDTH/8)-1 downto 0);
寫數(shù)據(jù)選通,這個(gè)信號(hào)表明寫數(shù)據(jù)總線上哪個(gè)字節(jié)通道存著有效的數(shù)據(jù)。寫數(shù)據(jù)總線上每八個(gè)位對(duì)應(yīng)一個(gè)寫選通位
S_AXI_WVALID : in std_logic;
寫有效,這個(gè)信號(hào)表明有效的寫數(shù)據(jù)和寫選通可用
S_AXI_WREADY : out std_logic;
寫準(zhǔn)備,這個(gè)信號(hào)表明從設(shè)備可以獲取寫數(shù)據(jù)
S_AXI_BRESP : out std_logic_vector(1 downto 0);
寫響應(yīng),這個(gè)信號(hào)表明寫事務(wù)的完成狀態(tài)
S_AXI_BVALID : out std_logic;
寫響應(yīng)有效。此信號(hào)表示信道正在發(fā)出有效的寫響應(yīng)。
S_AXI_BREADY : in std_logic;
響應(yīng)準(zhǔn)備,這個(gè)信號(hào)表明主設(shè)備可以接受寫響應(yīng)
S_AXI_ARADDR : in std_logic_vector(C_S_AXI_ADDR_WIDTH-1 downto 0);
讀地址(由主設(shè)備設(shè)置傳送到從設(shè)備)
S_AXI_ARPROT : in std_logic_vector(2 downto 0);
讀通道保護(hù)類型,此信號(hào)表示事務(wù)的特權(quán)和安全級(jí)別,以及事務(wù)是數(shù)據(jù)訪問(wèn)還是指令訪問(wèn)。
S_AXI_ARVALID : in std_logic;
讀地址有效,此信號(hào)表明讀地址通道正在發(fā)送有效的讀地址和控制信息
S_AXI_ARREADY : out std_logic;
讀地址準(zhǔn)備,這個(gè)信號(hào)表明從設(shè)備已經(jīng)準(zhǔn)備接受地址和相關(guān)的控制信號(hào)
S_AXI_RDATA : out std_logic_vector(C_S_AXI_DATA_WIDTH-1 downto 0);
讀數(shù)據(jù)(由從設(shè)備設(shè)置)
S_AXI_RRESP : out std_logic_vector(1 downto 0);
讀響應(yīng),此信號(hào)表明讀數(shù)據(jù)傳輸?shù)耐瓿蔂顟B(tài)
S_AXI_RVALID : out std_logic;
讀有效,此信號(hào)表明讀數(shù)據(jù)通道正在傳輸需要的讀數(shù)據(jù)
S_AXI_RREADY : in std_logic
讀準(zhǔn)備,此信號(hào)表明主設(shè)備可以接受讀數(shù)據(jù)和響應(yīng)信息
2、AXI 總線通道握手信號(hào)之間的依賴性
AXI總共有5個(gè)通道,每個(gè)通道都有一對(duì)valid & ready信號(hào),發(fā)送方通過(guò)valid信號(hào)來(lái)指示什么時(shí)候數(shù)據(jù)和控制信息有效,接收方通過(guò)ready來(lái)指示可以接受數(shù)據(jù)和控制信息,傳輸?shù)男畔l(fā)生在vaild和ready同時(shí)為高電平的情況下。每個(gè)通道之間可以獨(dú)立握手,相互之間關(guān)系靈活。讀數(shù)據(jù)必須跟在與其數(shù)據(jù)相關(guān)聯(lián)的地址之后,寫響應(yīng)必須在于其相關(guān)聯(lián)的寫事務(wù)之后出現(xiàn)。
讀事務(wù)握手依賴關(guān)系如圖:
(1)設(shè)備可以在ARVALID出現(xiàn)的時(shí)候在給出ARREADY信號(hào),也可以先給出ARREADY信號(hào),再等待ARVALID信號(hào)。
(2)設(shè)備必須等待ARVALID和ARREADY信號(hào)都有效才能給出RVALID信號(hào),開始數(shù)據(jù)傳輸。只有當(dāng)讀地址發(fā)送完成后,才能進(jìn)行讀數(shù)據(jù)的傳輸(箭頭形狀不同)
寫事務(wù)握手依賴關(guān)系如圖:
(1)主機(jī)不能等待設(shè)備先給出AWREADY或WREADY信號(hào)信號(hào)后再給出信號(hào)AWVALID或WVLAID。
(2)設(shè)備可以等待信號(hào)AWVALID或WVALID信號(hào)有效或者兩個(gè)都有效之后再給出AWREADY信號(hào)。
(3)設(shè)備可以等待AWVALID或WVALID信號(hào)有效或者兩個(gè)信號(hào)都有效之后再給出WREADY信號(hào)。
評(píng)論