新聞中心

AXI總線學習

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

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

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

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

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

AXI的性能

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

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

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

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

AXI的特點

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

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

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

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

AXI4的工作模式

握手機制

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

axi總線的五個通道:

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

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

A.讀操作:

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

B.寫操作:

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

axis分為:

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

通信時序如圖所示:

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

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

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

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

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

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

AXI4的優(yōu)勢

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

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

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

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



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

評論


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

關(guān)閉