新聞中心

AXI總線學(xué)習(xí)

作者: 時(shí)間:2016-12-14 來源:網(wǎng)絡(luò) 收藏
AXI(Advanced eXtensible Interface)是一種總協(xié)議,該協(xié)議是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0協(xié)議中最重要的部分,是一種面向高性能、高帶寬、低延遲的片內(nèi)總線。它的地址/控制和數(shù)據(jù)相位是分離的,支持不對齊的數(shù)據(jù)傳輸,同時(shí)在突發(fā)傳輸中,只需要首地址,同時(shí)分離的讀寫數(shù)據(jù)通道、并支持顯著傳輸訪問和亂序訪問,并更加容易并行時(shí)序收斂。AXI是AMBA 中一個(gè)新的高性能協(xié)議。AXI 技術(shù)豐富了現(xiàn)有的AMBA 標(biāo)準(zhǔn)內(nèi)容,滿足超高性能和復(fù)雜的片上系統(tǒng)(SoC)設(shè)計(jì)的需求。

本文引用地址:http://m.butianyuan.cn/article/201612/329843.htm

AXI 有讀地址和控制、讀數(shù)據(jù)、寫地址和控制、寫數(shù)據(jù)、寫響應(yīng)5個(gè)通道。

控制和數(shù)據(jù)通道分離,可以帶來很多好處。地址和控制信息相對數(shù)據(jù)的相位獨(dú)立,可以先發(fā)地址,然后再是數(shù)據(jù),這樣自然而然的支持顯著操作,也就是outstanding操作。Master訪問slave的時(shí)候,可以不等需要的操作完成,就發(fā)出下一個(gè)操作。這樣,可以讓slave在控制流的處理上流水起來,達(dá)到提速的作用。同時(shí)對于master,也許需要對不同的地址和slave就行訪問,所以可以對不同的slave 連續(xù)操作。而這樣的操作,由于slave返回?cái)?shù)據(jù)的先后可能不按照master 發(fā)出控制的先后進(jìn)行,導(dǎo)致出現(xiàn)了亂序操作(out of order )。

同時(shí)相對AHB 接口的單向hready信號,AXI的5個(gè)通道由雙向的valid和ready信號進(jìn)行握手。同時(shí)在讀寫操作中,有l(wèi)ast 信號表明當(dāng)前傳輸?shù)氖亲詈笠粋€(gè)數(shù)據(jù)。

AXI的性能

AXI 能夠使SoC 以更小的面積、更低的功耗,獲得更加優(yōu)異的性能。AXI獲得如此優(yōu)異性能的一個(gè)主要原因,就是它的單向通道體系結(jié)構(gòu)。單向通道體系結(jié)構(gòu)使得片上的信息流只以單方向傳輸,減少了延時(shí)?! ?/p>

選擇采用何種總線,我們要評估到底怎樣的總線頻率才能滿足我們的需求,而同時(shí)不會(huì)消耗過多的功耗和片上面積。ARM一直致力于以最低的成本和功耗追求更高的性能。這一努力已經(jīng)通過連續(xù)一代又一代處理器內(nèi)核的發(fā)布得到了實(shí)現(xiàn),每一代新的處理器內(nèi)核都會(huì)引入新的流水線設(shè)計(jì)、新的指令集以及新的高速緩存結(jié)構(gòu)。這促成了眾多創(chuàng)新移動(dòng)產(chǎn)品的誕生,并且推動(dòng)了ARM架構(gòu)向性能、功耗以及成本之間的完美平衡發(fā)展?! ?/p>

AXI總線是一種多通道傳輸總線,將地址、讀數(shù)據(jù)、寫數(shù)據(jù)、握手信號在不同的通道中發(fā)送,不同的訪問之間順序可以打亂,用BUSID來表示各個(gè)訪問的歸屬。主設(shè)備在沒有得到返回?cái)?shù)據(jù)的情況下可發(fā)出多個(gè)讀寫操作。讀回的數(shù)據(jù)順序可以被打亂,同時(shí)還支持非對齊數(shù)據(jù)訪問。  

AXI總線還定義了在進(jìn)出低功耗節(jié)電模式前后的握手協(xié)議。規(guī)定如何通知進(jìn)入低功耗模式,何時(shí)關(guān)斷時(shí)鐘,何時(shí)開啟時(shí)鐘,如何退出低功耗模式。這使得所有IP在進(jìn)行功耗控制的設(shè)計(jì)時(shí),有據(jù)可依,容易集成在統(tǒng)一的系統(tǒng)中。

AXI的特點(diǎn)

  單向通道體系結(jié)構(gòu)。信息流只以單方向傳輸,簡化時(shí)鐘域間的橋接,減少門數(shù)量。當(dāng)信號經(jīng)過復(fù)雜的片上系統(tǒng)時(shí),減少延時(shí)。   

支持多項(xiàng)數(shù)據(jù)交換。通過并行執(zhí)行猝發(fā)操作,極大地提高了數(shù)據(jù)吞吐能力,可在更短的時(shí)間內(nèi)完成任務(wù),在滿足高性能要求的同時(shí),又減少了功耗。  

獨(dú)立的地址和數(shù)據(jù)通道。地址和數(shù)據(jù)通道分開,能對每一個(gè)通道進(jìn)行單獨(dú)優(yōu)化,可以根據(jù)需要控制時(shí)序通道,將時(shí)鐘頻率提到最高,并將延時(shí)降到最低?! ?/p>

增強(qiáng)的靈活性。AXI技術(shù)擁有對稱的主從接口,無論在點(diǎn)對點(diǎn)或在多層系統(tǒng)中,都能十分方便地使用AXI技術(shù)。

AXI4的工作模式

握手機(jī)制

AXI4所采用的是一種READY,VALID握手通信機(jī)制,即主從模塊進(jìn)行數(shù)據(jù)通信前,新根據(jù)操作對各所用到的數(shù)據(jù)、地址通道進(jìn)行握手。主要操作包括傳輸發(fā)送者A等到傳輸接受者B的READY信號后,A將數(shù)據(jù)與VALID信號同時(shí)發(fā)送給B。如下圖所示:

axi總線的五個(gè)通道:

  • 讀地址通道,包含ARVALID, ARADDR, ARREADY信號;
  • 寫地址通道,包含AWVALID,AWADDR, AWREADY信號;
  • 讀數(shù)據(jù)通道,包含RVALID, RDATA, RREADY, RRESP信號;
  • 寫數(shù)據(jù)通道,包含WVALID, WDATA,WSTRB, WREADY信號;
  • 寫應(yīng)答通道,包含BVALID, BRESP, BREADY信號;
  • 系統(tǒng)通道,包含:ACLK,ARESETN信號;

其中ACLK為axi總線時(shí)鐘,ARESETN是axi總線復(fù)位信號,低電平有效;讀寫數(shù)據(jù)與讀寫地址類信號寬度都為32bit;READY與VALID是對應(yīng)的通道握手信號;WSTRB信號為1的bit對應(yīng)WDATA有效數(shù)據(jù)字節(jié),WSTRB寬度是32bit/8=4bit;BRESP與RRESP分別為寫回應(yīng)信號,讀回應(yīng)信號,寬度都為2bit,‘h0代表成功,其他為錯(cuò)誤。

A.讀操作:

順序?yàn)橹髋c從進(jìn)行讀地址通道握手并傳輸?shù)刂穬?nèi)容,然后在讀數(shù)據(jù)通道握手并傳輸所讀內(nèi)容以及讀取操作的回應(yīng),時(shí)鐘上升沿有效。如圖所示:

B.寫操作:

順序?yàn)橹髋c從進(jìn)行寫地址通道握手并傳輸?shù)刂穬?nèi)容,然后在寫數(shù)據(jù)通道握手并傳輸所讀內(nèi)容,最后再寫回應(yīng)通道握手,并傳輸寫回應(yīng)數(shù)據(jù),時(shí)鐘上升沿有效。如圖所示:

axis分為:

  • tready信號:從告訴主做好傳輸準(zhǔn)備;
  • tvalid信號:主告訴從數(shù)據(jù)傳輸有效;
  • tlast信號:主告訴從該次傳輸為突發(fā)傳輸結(jié)尾;
  • tdata信號:數(shù)據(jù),可選寬度32,64,128,256bit
  • tstrb信號:為1的bit為對應(yīng)tdata有效字節(jié),寬度為tdata/8
  • tuser信號 :用戶定義信號,寬度為128bit
  • aclk信號:總線時(shí)鐘,上升沿有效;
  • aresetn信號:總線復(fù)位,低電平有效;

通信時(shí)序如圖所示:

axi與axis是AXI4總線中通信復(fù)雜度較低的兩條總線,最大開發(fā)難度存在于axi的控制平面向axis的數(shù)據(jù)平面下發(fā)參數(shù)時(shí),由于axi與axis時(shí)鐘頻率不同而產(chǎn)生的跨時(shí)鐘域數(shù)據(jù)傳輸問題。

AXI4:主要面向高性能地址映射通信的需求;

AXI4-Lite:是一個(gè)簡單地吞吐量地址映射性通信總線;

AXI4-Stream:面向高速流數(shù)據(jù)傳輸;

AXI4總線分為主、從兩端,兩者間可以連續(xù)的進(jìn)行通信。

ISE從12.3版本,Virtex6,Spartan6芯片開始對AXI4總線提供支持,并且隨著Xilinx與ARM的合作面逐漸展開而得到大力推廣。

AXI4的優(yōu)勢

1.通過統(tǒng)一的AXI接口,開發(fā)者為開發(fā)ip core只需要學(xué)習(xí)一種協(xié)議即可;

2.AXI4是面向地址映射的接口,允許最大256輪的數(shù)據(jù)突發(fā)傳輸;

3.AXI4-Lite是一個(gè)輕量級的地址映射單次傳輸接口,占用很少的邏輯單元;

4.AXI4-Stream去掉了地址項(xiàng),允許無限制的數(shù)據(jù)突發(fā)傳輸規(guī)模;



關(guān)鍵詞: AXI總線學(xué)

評論


技術(shù)專區(qū)

關(guān)閉