學(xué)習(xí)內(nèi)容
本文主要介紹了AXI通道以及在每個(gè)通道下信號的概述。
AXI通道定義
簡單回顧前文提到的AXI的通道定義,AXI協(xié)議是基于突發(fā)的,并定義了以下獨(dú)立的傳輸通道:
• read address
• read data
• write address
• write data
• write response
每個(gè)獨(dú)立通道由一組信息信號、VALID信號和READY信號組成。用于提供雙向握手機(jī)制。VALID信號: 信息源端使用VALID信號來顯示何時(shí)是有效地址;數(shù)據(jù)或控制信息是否在通道上可用。READY信號: 目的端使用READY信號來顯示何時(shí)可以接受信息。LAST信號: 讀數(shù)據(jù)通道和寫數(shù)據(jù)通道都包括一個(gè)LAST信號,以指示傳輸中的最后一個(gè)數(shù)據(jù)。
讀寫數(shù)據(jù)地址通道
讀寫通道都各自包含了他們各自的地址通道,地址通道攜帶了所有被需請求的的地址和相關(guān)的控制信息。
讀數(shù)據(jù)通道
讀數(shù)據(jù)通道把讀數(shù)據(jù)和讀響應(yīng)信息從slave傳送到master。其中包含下述信息:
- 數(shù)據(jù)總線,可以是8、16、32、64、128、256、512、1024位。
- 一個(gè)讀響應(yīng)信號用于表示讀操作完成狀態(tài)。
寫數(shù)據(jù)通道
寫數(shù)據(jù)通道將寫數(shù)據(jù)從master傳送到slave。其中包含下述信息:
- 數(shù)據(jù)總線,可以是8、16、32、64、128、256、512、1024位。
- 一個(gè)字節(jié)的通道頻閃信號(WSTRB)指示8個(gè)數(shù)據(jù)位,指示哪些數(shù)據(jù)字節(jié)是有效的。
寫數(shù)據(jù)通道信息總是被當(dāng)作緩沖處理,因此主機(jī)執(zhí)行寫操作時(shí),不需要從機(jī)確認(rèn)之前的寫操作。
寫響應(yīng)通道
寫響應(yīng)通道由從機(jī)發(fā)送給主機(jī),包含了寫響應(yīng)信號,用于指示當(dāng)前寫操作是否完成。所有寫操作都需要在寫響應(yīng)通道上發(fā)送完成信號。
AXI總線信號描述
了解完通道的內(nèi)容,接著介紹具體的信號功能。本節(jié)介紹的是AXI4-Full的信號功能,后文將介紹AXI4-Lite接口,相對AXI4-Full,AXI4-Lite接口信號會少很多。
全局信號
- ACLK :全局時(shí)鐘。
- ARESETn :復(fù)位信號低電平有效。
在AXI總線中所有的數(shù)據(jù)都是在全局時(shí)鐘的上升沿進(jìn)行采樣的。
寫地址通道信號
下面的表格列舉出寫地址通道的信號,常用的信號將加粗標(biāo)注。
如何確定突發(fā)傳輸?shù)拇笮 ㈤L度、類型?
下面給出一個(gè)例子:如下圖所指示:下圖是一個(gè)讀地址通道的操作,這里用方框框選的數(shù)據(jù)傳輸,是一次突發(fā)傳輸。對于該次突發(fā)傳輸:一共進(jìn)行了四次數(shù)據(jù)傳輸,所以突發(fā)的長度就是4。然后針對一次數(shù)據(jù)傳輸,每次數(shù)據(jù)傳輸位寬,為突發(fā)傳輸?shù)拇笮?。假設(shè)傳輸?shù)臄?shù)據(jù)是8位的,這里的突發(fā)長度就是8。
對于突發(fā)傳輸?shù)拈L度的不同,這里直接引用ARM的文檔內(nèi)容參考即可。
對于突發(fā)的大小,這里定義了組寄存器來標(biāo)識傳輸?shù)臄?shù)據(jù)位寬:
對于突發(fā)的類型,這里有三種突發(fā)類型分別如下:
FIXED(固定型):在一個(gè)固定的突發(fā)中,地址對于突發(fā)中的每一次傳輸都是相同的。這種突發(fā)類型用于重復(fù)訪問相同的位置,例如加載或清空FIFO。INCR(自增型):在遞增的突發(fā)中,突發(fā)中每個(gè)傳輸?shù)牡刂肥乔耙粋€(gè)傳輸?shù)牡刂返脑隽?。增量值取決于傳輸?shù)拇笮?。例如,在一個(gè)大小為4個(gè)bvtes的突發(fā)中,每個(gè)傳輸?shù)牡刂肥乔耙粋€(gè)地址的加4個(gè)。這種突發(fā)類型用于訪問順序存儲器。WRAP(回環(huán)突發(fā)):回環(huán)突發(fā)類似于遞增突發(fā)。不同的是,如果達(dá)到了地址上限,地址將被重新裝一個(gè)較低的地址。這種突發(fā)類型用于高速緩存線訪問。使用回環(huán)突發(fā)必須遵守下列限制條件:
- 起始地址必須與每次傳輸?shù)拇笮∫恢?
- 突發(fā)的長度必須是2、4、8或16。
回環(huán)突發(fā)要求:
- 突發(fā)使用的最低地址與要傳輸?shù)臄?shù)據(jù)的總大小對齊,即為((突發(fā)中每個(gè)傳輸?shù)拇笮?×(突發(fā)中傳輸?shù)臄?shù)量))。這個(gè)地址被定義為換行邊界。
- 在每次傳輸之后,地址以同樣的方式增加,就像增加帶寬一樣。但是,如果這個(gè)增加的地址是((wrap boundary) +(要傳輸?shù)臄?shù)據(jù)的總大小),那么地址就會繞到wrap boundary。
- 在突發(fā)中的第一次傳輸可以使用一個(gè)比繞包邊界更高的地址,這取決于適用于繞包突發(fā)的限制。這意味著對任何第一個(gè)地址高于邊界的操作,會自動換行突發(fā)。
突發(fā)類型的寄存器的解碼表如下:
寫數(shù)據(jù)通道信號
寫響應(yīng)通道信號
對于寫響應(yīng)通道的BRESP信號,具體響應(yīng)有下述四種類型:
- OKAY:正常訪問成功。表示正常訪問成功。也可以指示獨(dú)占訪問失敗。
- EXOKAY:獨(dú)占訪問。指示獨(dú)占訪問的讀或?qū)懖糠忠呀?jīng)成功。
- SLVERR:從機(jī)錯(cuò)誤。當(dāng)訪問成功到達(dá)從機(jī)時(shí)使用,但是從機(jī)向主機(jī)返回一個(gè)錯(cuò)誤條件。
- DECERR:解碼錯(cuò)誤。通常由互連組件生成,以指示在操作地址處沒有從從機(jī)響應(yīng)。
BRESP信號解碼表如下:
讀地址通道信號
讀數(shù)據(jù)通道信號
Reference
- 正點(diǎn)原子ZYNQ視頻教程。
- ARM官方文檔:IHI0022D