在整個(gè)傳輸事務(wù)過程中,主機(jī)首先將接下來 burst 傳輸?shù)目刂?a target="_blank">信息以及數(shù)據(jù)首個(gè)字節(jié)的地址傳輸給從機(jī),這個(gè)地址被稱為起始地址。
在本次 burst 后續(xù)傳輸期間,從機(jī)將根據(jù)控制信息計(jì)算后續(xù)數(shù)據(jù)的地址。
控制信息以及起始地址在讀/寫地址通道(AWC/ARC)傳輸。
注意:單次 burst 傳輸中的數(shù)據(jù),其地址不能跨越 4KB 邊界。 關(guān)于這點(diǎn)在筆者參考的一個(gè)來源這樣表示,目前筆者覺得看上去很有道理:協(xié)議中之所以規(guī)定一個(gè)burst不能跨越4K邊界是為了避免一筆burst交易訪問兩個(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ā)傳輸長度(burst length)
指一次突發(fā)傳輸中包含的數(shù)據(jù)傳輸(transfer)數(shù)量,在協(xié)議中使用 AxLen 信號(hào)控制。
突發(fā)傳輸長度在不同的模式(burst type ,將在后文中討論)下有一些限制,包括:
?對(duì)于 WRAP 模式,突發(fā)傳輸長度僅能為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)
指傳輸中的數(shù)據(jù)位寬,具體地,是每周期傳輸數(shù)據(jù)的字節(jié)(Byte)數(shù)量,在協(xié)議中使用 AXSIZE 信號(hào)控制。
突發(fā)傳輸數(shù)據(jù)寬度不能超過數(shù)據(jù)總線本身的位寬。而當(dāng)數(shù)據(jù)總線位寬大于突發(fā)傳輸寬度時(shí),將根據(jù)協(xié)議的相關(guān)規(guī)定,將數(shù)據(jù)在部分?jǐn)?shù)據(jù)線上傳輸。
傳輸寬度 = 2 ^ AXSIZE
(3)突發(fā)傳輸類型(AxBURST)
類型共有 3 種,分別為 FIXED,INCR 以及 WRAP。使用 2 位二進(jìn)制表示。
FIXED 類型中, burst 中所有數(shù)據(jù)都使用起始地址。該模式適合對(duì)某個(gè)固定地址進(jìn)行多次數(shù)據(jù)更新,比如讀寫一個(gè) fifo時(shí),讀寫地址就是固定的。
INCR 類型最為常用,后續(xù)數(shù)據(jù)的地址在初始地址的基礎(chǔ)上進(jìn)行遞增,遞增幅度與傳輸寬度相同。適合對(duì)于 RAM 等通過地址映射(mapped memory)的存儲(chǔ)介質(zhì)進(jìn)行讀寫操作。
WRAP 類型比較特殊,首先根據(jù)起始地址得到繞回邊界地址(wrap boundary)與最高地址。當(dāng)前地址小于最高地址時(shí),WRAP 與 INCR類型完全相同,地址遞增。但到遞增后的地址到達(dá)最高地址后,地址直接回到繞回邊界地址,再進(jìn)行遞增,就這樣循環(huán)往復(fù)。
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7184瀏覽量
89726 -
結(jié)構(gòu)
+關(guān)注
關(guān)注
1文章
117瀏覽量
21659 -
總線
+關(guān)注
關(guān)注
10文章
2906瀏覽量
88454 -
AXI
+關(guān)注
關(guān)注
1文章
128瀏覽量
16733
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
ARM+FPGA開發(fā):基于AXI總線的GPIO IP創(chuàng)建
![ARM+FPGA開發(fā):基于<b class='flag-5'>AXI</b><b class='flag-5'>總線</b>的GPIO IP創(chuàng)建](https://file.elecfans.com/web1/M00/C7/F3/o4YBAF9uH8WAI1xaAACU82QQce4263.png)
使用AXI-Full接口的IP進(jìn)行DDR的讀寫測試
![使用<b class='flag-5'>AXI</b>-Full接口的IP進(jìn)行DDR的<b class='flag-5'>讀寫</b>測試](https://file.elecfans.com/web2/M00/54/7C/pYYBAGLUvaaAO6XJAADNvLJIgRs591.jpg)
玩轉(zhuǎn)Zynq連載37——[ex56] 基于Zynq的AXI HP總線讀寫實(shí)例
如何避免AXI_hp總線鎖死?
請問microblaze如何通過串口讀寫FPGA內(nèi)部axi4總線上的寄存器?
AXI4協(xié)議的讀寫通道結(jié)構(gòu)
AXI總線的相關(guān)資料下載
看看在SpinalHDL中AXI4總線互聯(lián)IP的設(shè)計(jì)
AXI 總線和引腳的介紹
![<b class='flag-5'>AXI</b> <b class='flag-5'>總線</b>和引腳的介紹](https://file1.elecfans.com//web2/M00/A7/22/wKgZomUMQpGAf8LiAAATGtYcN8o966.jpg)
AXI總線的概念及基本特點(diǎn)是什么
AXI總線學(xué)習(xí)(AXI3&4)
![<b class='flag-5'>AXI</b><b class='flag-5'>總線</b>學(xué)習(xí)(<b class='flag-5'>AXI</b>3&4)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論