學習內容
本文主要介紹了AXI通道以及在每個通道下信號的概述。
AXI通道定義
簡單回顧前文提到的AXI的通道定義,AXI協議是基于突發的,并定義了以下獨立的傳輸通道:
? read address
? read data
? write address
? write data
? write response
每個獨立通道由一組信息信號、VALID信號和READY信號組成。用于提供雙向握手機制。VALID信號:信息源端使用VALID信號來顯示何時是有效地址;數據或控制信息是否在通道上可用。READY信號:目的端使用READY信號來顯示何時可以接受信息。LAST信號:讀數據通道和寫數據通道都包括一個LAST信號,以指示傳輸中的最后一個數據。
讀寫數據地址通道
讀寫通道都各自包含了他們各自的地址通道,地址通道攜帶了所有被需請求的的地址和相關的控制信息。
讀數據通道
讀數據通道把讀數據和讀響應信息從slave傳送到master。其中包含下述信息:
數據總線,可以是8、16、32、64、128、256、512、1024位。
一個讀響應信號用于表示讀操作完成狀態。
寫數據通道
寫數據通道將寫數據從master傳送到slave。其中包含下述信息:
數據總線,可以是8、16、32、64、128、256、512、1024位。
一個字節的通道頻閃信號(WSTRB)指示8個數據位,指示哪些數據字節是有效的。
寫數據通道信息總是被當作緩沖處理,因此主機執行寫操作時,不需要從機確認之前的寫操作。
寫響應通道
寫響應通道由從機發送給主機,包含了寫響應信號,用于指示當前寫操作是否完成。所有寫操作都需要在寫響應通道上發送完成信號。
AXI總線信號描述
了解完通道的內容,接著介紹具體的信號功能。本節介紹的是AXI4-Full的信號功能,后文將介紹AXI4-Lite接口,相對AXI4-Full,AXI4-Lite接口信號會少很多。
全局信號
ARESETn :復位信號低電平有效。
在AXI總線中所有的數據都是在全局時鐘的上升沿進行采樣的。
寫地址通道信號
下面的表格列舉出寫地址通道的信號,常用的信號將加粗標注。
AWID | Master | 寫地址ID。這個信號是信號的寫地址組的識別標簽。指定某些特殊傳輸任務的順序 |
AWADDR | Master | 寫地址。寫地址給出了寫突發傳輸下第一個數據的地址。 |
AWLEN | Master | 突發傳輸長度。AWLEN給出了在一次突發傳輸中的確切數目長度。在AXI3和AXI4定義不同 |
AWSIZE | Master | 突發傳輸的大小。這個信號指示了單次傳輸的的數據大小。 |
AWBURST | Master | 突發傳輸的類型。突發類型和大小信息,確定如何計算突發內每個傳輸的地址。 |
AWLOCK | Master | 鎖存的類型。提供關于轉移的附加信息。在AXI3和AXI4定義不同,區分正常傳輸(0)和獨有傳輸(1) |
AWCACHE | Master | 內存類型。這個信號指示操作如何在系統中進行。總線中的存儲類型(0010:不緩存模式) |
AWPROT | Master | 保護類型。這個信號表明操作的優先級和安全級別,以及操作是數據訪問還是指令訪問。 |
AWQOS | Master | 服務質量QoS。為每個寫操作發送的QoS標識符。僅在AXI4中支持。 |
AWREGION | Master | 區域ID標識符。允許一個slave上的單個物理接口用于多個邏輯接口。僅在AXI4中支持。 |
AWUSER | Master | 用戶信號。可選寫地址通道自定義信號。(完成用戶的自定義操作),僅在AXI4中支持。 |
AWVALID | Master | 寫地址有效。這個信號表明通道正在發送有效的寫地址和控制信息。 |
AWREADY | Slave | 寫地址準備。這個信號表明從機準備接受一個地址和相關的控制信號。 |
Signal | Source | Description |
---|
如何確定突發傳輸的大小、長度、類型?
下面給出一個例子:如下圖所指示:下圖是一個讀地址通道的操作,這里用方框框選的數據傳輸,是一次突發傳輸。對于該次突發傳輸:一共進行了四次數據傳輸,所以突發的長度就是4。然后針對一次數據傳輸,每次數據傳輸位寬,為突發傳輸的大小。假設傳輸的數據是8位的,這里的突發長度就是8。
對于突發傳輸的長度的不同,這里直接引用ARM的文檔內容參考即可。
對于突發的大小,這里定義了組寄存器來標識傳輸的數據位寬:
對于突發的類型,這里有三種突發類型分別如下:
FIXED(固定型):在一個固定的突發中,地址對于突發中的每一次傳輸都是相同的。這種突發類型用于重復訪問相同的位置,例如加載或清空FIFO。INCR(自增型):在遞增的突發中,突發中每個傳輸的地址是前一個傳輸的地址的增量。增量值取決于傳輸的大小。例如,在一個大小為4個bvtes的突發中,每個傳輸的地址是前一個地址的加4個。這種突發類型用于訪問順序存儲器。
WRAP(回環突發):回環突發類似于遞增突發。不同的是,如果達到了地址上限,地址將被重新裝一個較低的地址。這種突發類型用于高速緩存線訪問。使用回環突發必須遵守下列限制條件:
起始地址必須與每次傳輸的大小一致;
突發的長度必須是2、4、8或16。
回環突發要求:
突發使用的最低地址與要傳輸的數據的總大小對齊,即為((突發中每個傳輸的大小)×(突發中傳輸的數量))。這個地址被定義為換行邊界。
在每次傳輸之后,地址以同樣的方式增加,就像增加帶寬一樣。但是,如果這個增加的地址是((wrap boundary) +(要傳輸的數據的總大小),那么地址就會繞到wrap boundary。
在突發中的第一次傳輸可以使用一個比繞包邊界更高的地址,這取決于適用于繞包突發的限制。這意味著對任何第一個地址高于邊界的操作,會自動換行突發。
突發類型的寄存器的解碼表如下:
寫數據通道信號
WID | Master | 寫ID。這個信號是寫數據傳輸的ID標簽。僅在AXI3中支持 |
WDATA | Master | 寫入數據 |
WSTRB | Master | 寫頻閃信號。該信號指示哪些字節通道保存有效數據。寫數據總線的每8位有一個寫頻閃位。 |
WLAST | Master | LAST指示信號。這個信號指示寫操作中的最后一次傳輸。 |
WUSER | Master | 用戶信號。可選寫入數據通道的自定義信號。僅在AXI4中支持。 |
WVALID | Master | 寫有效。這個信號表明有效的寫數據和頻閃是可用的 |
WREADY | Slave | 寫準備。這個信號表明從機可以接受寫數據。 |
Signal | Source | Description |
---|
寫響應通道信號
BID | Slave | 寫ID。這個信號是寫數據傳輸的ID標簽。僅在AXI3中支持 |
BRESP | Slave | 寫響應。這個信號指示寫操作的狀態。 |
BUSER | Slave | 用戶信號。可選寫響應通道中的自定義信號。僅在AXI4中支持。 |
BVALID | Slave | 寫響應有效。該信號表明通道正在發出有效的寫響應信號。 |
BREADY | Master | 寫響應準備。這個信號表明主機可以接受寫響應。 |
Signal | Source | Description |
---|
對于寫響應通道的BRESP信號,具體響應有下述四種類型:
OKAY:正常訪問成功。表示正常訪問成功。也可以指示獨占訪問失敗。
EXOKAY:獨占訪問。指示獨占訪問的讀或寫部分已經成功。
SLVERR:從機錯誤。當訪問成功到達從機時使用,但是從機向主機返回一個錯誤條件。
DECERR:解碼錯誤。通常由互連組件生成,以指示在操作地址處沒有從從機響應。
BRESP信號解碼表如下:
讀地址通道信號
ARID | Master | 讀地址ID。這個信號是信號讀地址組的識別標簽。指定某些特殊傳輸任務的順序 |
ARADDR | Master | 讀地址。讀地址給出了讀突發傳輸下第一個數據的地址。 |
ARLEN | Master | 突發傳輸長度。AWLEN給出了在一次突發傳輸中的確切數目長度。在AXI3和AXI4定義不同 |
ARSIZE | Master | 突發傳輸的大小。這個信號指示了單次傳輸的的數據大小。 |
ARBURST | Master | 突發傳輸的類型。突發類型和大小信息,確定如何計算突發內每個傳輸的地址。 |
ARLOCK | Master | 鎖存的類型。提供關于轉移的附加信息。在AXI3和AXI4定義不同,區分正常傳輸(0)和獨有傳輸(1) |
ARCACHE | Master | 內存類型。這個信號指示操作如何在系統中進行。總線中的存儲類型(0010:不緩存模式) |
ARPROT | Master | 保護類型。這個信號表明操作的優先級和安全級別,以及操作是數據訪問還是指令訪問。 |
ARQOS | Master | 服務質量QoS。為每個讀操作發送的QoS標識符。僅在AXI4中支持。 |
ARREGION | Master | 區域ID標識符。允許一個slave上的單個物理接口用于多個邏輯接口。僅在AXI4中支持。 |
ARUSER | Master | 用戶信號。可選讀地址通道自定義信號。(完成用戶的自定義操作),僅在AXI4中支持。 |
ARVALID | Master | 讀地址有效。這個信號表明通道正在發送有效的讀地址和控制信息。 |
ARREADY | Slave | 讀地址準備。這個信號表明從機準備接受一個地址和相關的控制信號。 |
Signal | Source | Description |
---|
讀數據通道信號
RID | Slave | 讀ID標簽。這個信號是識別標簽的讀取數據信號的從機產生的 |
RDATA | Slave | 讀入數據 |
RRESP | Slave | 讀取響應。這個信號指示讀傳輸的狀態。。 |
RLAST | Slave | LAST指示信號。這個信號指示讀操作中的最后一次傳輸。 |
RUSER | Slave | 用戶信號。可選讀取數據通道中的用戶自定義信號。僅在AXI4中支持。 |
WVALID | Slave | 讀有效。該信號表明通道正在發送所需的讀取數據。 |
RREADY | Master | 讀準備。該信號表明主機可以接受讀取數據和響應信息 |
Signal | Source | Description |
---|
Reference
正點原子ZYNQ視頻教程。
ARM官方文檔:IHI0022D
審核編輯:湯梓紅
-
總線
+關注
關注
10文章
2866瀏覽量
87984 -
AXI
+關注
關注
1文章
127瀏覽量
16596
原文標題:Reference
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論