在整個(gè)傳輸事務(wù)過(guò)程中,主機(jī)首先將接下來(lái) burst 傳輸?shù)目刂菩畔⒁约皵?shù)據(jù)首個(gè)字節(jié)的地址傳輸給從機(jī),這個(gè)地址被稱(chēng)為起始地址。
在本次 burst 后續(xù)傳輸期間,從機(jī)將根據(jù)控制信息計(jì)算后續(xù)數(shù)據(jù)的地址。
控制信息以及起始地址在讀/寫(xiě)地址通道(AWC/ARC)傳輸。
注意:?jiǎn)未?burst 傳輸中的數(shù)據(jù),其地址不能跨越 4KB 邊界。 關(guān)于這點(diǎn)在筆者參考的一個(gè)來(lái)源這樣表示,目前筆者覺(jué)得看上去很有道理:協(xié)議中之所以規(guī)定一個(gè)burst不能跨越4K邊界是為了避免一筆burst交易訪(fǎng)問(wèn)兩個(gè)slave (每個(gè)slave的地址空間是4K/1K對(duì)齊的)4K對(duì)齊最大原因是系統(tǒng)中定義一個(gè)page大小是4K, 而所謂的4K邊界是指低12bit為0的地址。
地址通道中傳輸?shù)目刂菩畔⒅邪ㄈ?xiàng)突發(fā)傳輸相關(guān)的信號(hào)(AR/AW 均一致,下圖為以 AR 為例):

(1)突發(fā)傳輸長(zhǎng)度(burst length)
指一次突發(fā)傳輸中包含的數(shù)據(jù)傳輸(transfer)數(shù)量,在協(xié)議中使用 AxLen 信號(hào)控制。
突發(fā)傳輸長(zhǎng)度在不同的模式(burst type ,將在后文中討論)下有一些限制,包括:
?對(duì)于 WRAP 模式,突發(fā)傳輸長(zhǎng)度僅能為2,4,8,16
?在一次突發(fā)傳輸中,地址不能跨越一個(gè) 4KB 分區(qū)
?一次突發(fā)傳輸不能在完成所有數(shù)據(jù)傳輸前提前結(jié)束(early termination)
協(xié)議中多次強(qiáng)調(diào),通信雙方都不能在傳輸事務(wù)的所有 Transfer 完成前提前結(jié)束。哪怕發(fā)生錯(cuò)誤,也得含淚走完整個(gè)傳輸事務(wù)的流程。
(2)突發(fā)傳輸寬度(burst size)
指?jìng)鬏斨械臄?shù)據(jù)位寬,具體地,是每周期傳輸數(shù)據(jù)的字節(jié)(Byte)數(shù)量,在協(xié)議中使用 AXSIZE 信號(hào)控制。
突發(fā)傳輸數(shù)據(jù)寬度不能超過(guò)數(shù)據(jù)總線(xiàn)本身的位寬。而當(dāng)數(shù)據(jù)總線(xiàn)位寬大于突發(fā)傳輸寬度時(shí),將根據(jù)協(xié)議的相關(guān)規(guī)定,將數(shù)據(jù)在部分?jǐn)?shù)據(jù)線(xiàn)上傳輸。
傳輸寬度 = 2 ^ AXSIZE
(3)突發(fā)傳輸類(lèi)型(AxBURST)
類(lèi)型共有 3 種,分別為 FIXED,INCR 以及 WRAP。使用 2 位二進(jìn)制表示。
FIXED 類(lèi)型中, burst 中所有數(shù)據(jù)都使用起始地址。該模式適合對(duì)某個(gè)固定地址進(jìn)行多次數(shù)據(jù)更新,比如讀寫(xiě)一個(gè) fifo時(shí),讀寫(xiě)地址就是固定的。
INCR 類(lèi)型最為常用,后續(xù)數(shù)據(jù)的地址在初始地址的基礎(chǔ)上進(jìn)行遞增,遞增幅度與傳輸寬度相同。適合對(duì)于 RAM 等通過(guò)地址映射(mapped memory)的存儲(chǔ)介質(zhì)進(jìn)行讀寫(xiě)操作。
WRAP 類(lèi)型比較特殊,首先根據(jù)起始地址得到繞回邊界地址(wrap boundary)與最高地址。當(dāng)前地址小于最高地址時(shí),WRAP 與 INCR類(lèi)型完全相同,地址遞增。但到遞增后的地址到達(dá)最高地址后,地址直接回到繞回邊界地址,再進(jìn)行遞增,就這樣循環(huán)往復(fù)。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7339瀏覽量
94829 -
結(jié)構(gòu)
+關(guān)注
關(guān)注
1文章
119瀏覽量
22360 -
總線(xiàn)
+關(guān)注
關(guān)注
10文章
3043瀏覽量
91693 -
AXI
+關(guān)注
關(guān)注
1文章
145瀏覽量
17952
發(fā)布評(píng)論請(qǐng)先 登錄
Xilinx zynq AXI總線(xiàn)全面解讀
使用AXI-Full接口的IP進(jìn)行DDR的讀寫(xiě)測(cè)試
NVMe協(xié)議簡(jiǎn)介之AXI總線(xiàn)
NVMe IP之AXI4總線(xiàn)分析
RDMA簡(jiǎn)介9之AXI 總線(xiàn)協(xié)議分析2
玩轉(zhuǎn)Zynq連載37——[ex56] 基于Zynq的AXI HP總線(xiàn)讀寫(xiě)實(shí)例
如何避免AXI_hp總線(xiàn)鎖死?
AXI4協(xié)議的讀寫(xiě)通道結(jié)構(gòu)
AXI總線(xiàn)的相關(guān)資料下載
看看在SpinalHDL中AXI4總線(xiàn)互聯(lián)IP的設(shè)計(jì)
AXI 總線(xiàn)和引腳的介紹
AXI總線(xiàn)學(xué)習(xí)(AXI3&4)
基于AXI總線(xiàn)的DDR3讀寫(xiě)測(cè)試
FPGA通過(guò)AXI總線(xiàn)讀寫(xiě)DDR3實(shí)現(xiàn)方式
NVMe簡(jiǎn)介之AXI總線(xiàn)
AXI總線(xiàn):讀寫(xiě)地址結(jié)構(gòu)
評(píng)論