女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

一篇文章讀懂讀透FPGA AXI4 總線協議

電子工程師 ? 來源:FPGA開發圈 ? 作者:佚名 ? 2017-09-19 10:55 ? 次閱讀

新一代FPGA中采用的基本都是AXI4總線協議,例如與slaver側的DMADDR通信。這篇講AXI4的文章感覺講的很清楚。

0.緒論AXI是高級擴展接口,在AMBA3.0中提出,AMBA4.0將其修改升級為AXI4.0。AMBA4.0 包括AXI4.0、AXI4.0-lite、ACE4.0、AXI4.0-stream

AXI4.0-lite是AXI的簡化版本,ACE4.0 是AXI緩存一致性擴展接口,AXI4.0-stream是ARM公司和Xilinx公司一起提出,主要用在FPGA進行以數據為主導的大量數據的傳輸應用。

1.簡介

1.1 關于AXI協議

AMBA AXI協議支持支持高性能、高頻率系統設計。

關鍵特點:

  • 適合高帶寬低延時設計

  • 無需復雜的橋就能實現高頻操作

  • 能滿足大部分器件的接口要求

  • 適合高初始延時的存儲控制器

  • 提供互聯架構的靈活性與獨立性

  • 向下兼容已有的AHB和APB接口

  • 分離的地址/控制、數據相位

  • 使用字節線來支持非對齊的數據傳輸

  • 使用基于burst的傳輸,只需傳輸首地址

  • 分離的讀、寫數據通道,能提供低功耗DMA

  • 支持多種尋址方式

  • 支持亂序傳輸

  • 允許容易的添加寄存器級來進行時序收斂

1.2 AXI架構

AXI協議是基于burst的傳輸,并且定義了以下5個獨立的傳輸通道:讀地址通道、讀數據通道、寫地址通道、寫數據通道、寫響應通道。

地址通道攜帶控制消息用于描述被傳輸的數據屬性,數據傳輸使用寫通道來實現“主”到“從”的傳輸,“從”使用寫響應通道來完成一次寫傳輸;讀通道用來實現數據從“從”到“主”的傳輸。

圖 1-1 讀架構

圖 1-2 寫架構

AXI是基于VALID/READY的握手機制數據傳輸協議,傳輸源端使用VALID表明地址/控制信號、數據是有效的,目的端使用READY表明自己能夠接受信息。

讀/寫地址通道:讀、寫傳輸每個都有自己的地址通道,對應的地址通道承載著對應傳輸的地址控制信息。

讀數據通道:讀數據通道承載著讀數據和讀響應信號包括數據總線(8/16/32/64/128/256/512/1024bit)和指示讀傳輸完成的讀響應信號。

寫數據通道:寫數據通道的數據信息被認為是緩沖(buffered)了的,“主”無需等待“從”對上次寫傳輸的確認即可發起一次新的寫傳輸。寫通道包括數據總線(8/16…1024bit)和字節線(用于指示8bit 數據信號的有效性)。

寫響應通道:“從”使用寫響應通道對寫傳輸進行響應。所有的寫傳輸需要寫響應通道的完成信號。

圖 1-3 接口與互聯

AXI協議提供單一的接口定義,能用在下述三種接口之間:master/interconnect、slave/interconnect、master/slave。

可以使用以下幾種典型的系統拓撲架構:

  • 共享地址與數據總線

  • 共享地址總線,多數據總線

  • multilayer多層,多地址總線,多數據總線

在大多數系統中,地址通道的帶寬要求沒有數據通道高,因此可以使用共享地址總線,多數據總線結構來對系統性能和互聯復雜度進行平衡。

寄存器片(Register Slices):

每個AXI通道使用單一方向傳輸信息,并且各個通道直接沒有任何固定關系。因此可以可以在任何通道任何點插入寄存器片,當然這會導致額外的周期延遲。

使用寄存器片可以實現周期延遲(cycles of latency)和最大操作頻率的折中;使用寄存器片可以分割低速外設的長路徑。

2.信號描述

表 2-1 全局信號

信號名

描述

ACLK

時鐘

全局時鐘信號

ARESETn

復位源

全局復位信號,低有效

表 2-2 寫地址通道信號

信號名

描述

AWID

主機

寫地址ID,用來標志一組寫信號

AWADDR

主機

寫地址,給出一次寫突發傳輸的寫地址

AWLEN

主機

突發長度,給出突發傳輸的次數

AWSIZE

主機

突發大小,給出每次突發傳輸的字節數

AWBURST

主機

突發類型

AWLOCK

主機

總線鎖信號,可提供操作的原子性

AWCACHE

主機

內存類型,表明一次傳輸是怎樣通過系統的

AWPROT

主機

保護類型,表明一次傳輸的特權級及安全等級

AWQOS

主機

質量服務QoS

AWREGION

主機

區域標志,能實現單一物理接口對應的多個邏輯接口

AWUSER

主機

用戶自定義信號

AWVALID

主機

有效信號,表明此通道的地址控制信號有效

AWREADY

從機

表明“從”可以接收地址和對應的控制信號

表 2-3 寫數據通道信號

信號名

描述

WID

主機

一次寫傳輸的ID tag

WDATA

主機

寫數據

WSTRB

主機

寫數據有效的字節線,用來表明哪8bits數據是有效的

WLAST

主機

表明此次傳輸是最后一個突發傳輸

WUSER

主機

用戶自定義信號

WVALID

主機

寫有效,表明此次寫有效

WREADY

從機

表明從機可以接收寫數據

表 2-4 寫響應通道信號

信號名

描述

BID

從機

寫響應ID tag

BRESP

從機

寫響應,表明寫傳輸的狀態

BUSER

從機

用戶自定義

BVALID

從機

寫響應有效

BREADY

主機

表明主機能夠接收寫響應

表 2-5 讀地址通道信號

信號名

描述

ARID

主機

讀地址ID,用來標志一組寫信號

ARADDR

主機

讀地址,給出一次寫突發傳輸的讀地址

ARLEN

主機

突發長度,給出突發傳輸的次數

ARSIZE

主機

突發大小,給出每次突發傳輸的字節數

ARBURST

主機

突發類型

ARLOCK

主機

總線鎖信號,可提供操作的原子性

ARCACHE

主機

內存類型,表明一次傳輸是怎樣通過系統的

ARPROT

主機

保護類型,表明一次傳輸的特權級及安全等級

ARQOS

主機

質量服務QoS

ARREGION

主機

區域標志,能實現單一物理接口對應的多個邏輯接口

ARUSER

主機

用戶自定義信號

ARVALID

主機

有效信號,表明此通道的地址控制信號有效

ARREADY

從機

表明“從”可以接收地址和對應的控制信號

表 2-6 讀數據通道信號

信號名

描述

RID

從機

讀ID tag

RDATA

從機

讀數據

RRESP

從機

讀響應,表明讀傳輸的狀態

RLAST

從機

表明讀突發的最后一次傳輸

RUSER

從機

用戶自定義

RVALID

從機

表明此通道信號有效

RREADY

主機

表明主機能夠接收讀數據和響應信息

表 2-7 低功耗接口信號

信號名

描述

CSYSREQ

時鐘控制器

系統退出低功耗請求,此信號從“時鐘控制器”到“外設”

CSYSACK

外設

退出低功耗狀態確認

CACTIVE

外設

外設請求時鐘有效

3.信號接口要求

3.1時鐘復位

時鐘

每個AXI組件使用一個時鐘信號ACLK,所有輸入信號在ACLK上升沿采樣,所有輸出信號必須在ACLK上升沿后發生。

復位

AXI使用一個低電平有效的復位信號ARESETn,復位信號可以異步斷言,但必須和時鐘上升沿同步去斷言。

復位期間對接口有如下要求:①主機接口必須驅動ARVALID,AWVALID,WVALID為低電平;②從機接口必須驅動RVALID,BVALID為低電平;③所有其他信號可以被驅動到任意值。

在復位后,主機可以在時鐘上升沿驅動ARVALID,AWVALID,WVALID為高電平。

3.2基本讀寫傳輸

握手過程

5個傳輸通道均使用VALID/READY信號對傳輸過程的地址、數據、控制信號進行握手。使用雙向握手機制,傳輸僅僅發生在VALID、READY同時有效的時候。下圖是幾種握手機制:

圖 3-1 VALID before READY 握手

圖 3-2 READY before VALID 握手

圖 3-3 VALID with READY 握手

通道信號要求

通道握手信號:每個通道有自己的xVALID/xREADY握手信號對。

寫地址通道:當主機驅動有效的地址和控制信號時,主機可以斷言AWVALID,一旦斷言,需要保持AWVALID的斷言狀態,直到時鐘上升沿采樣到從機的AWREADY。AWREADY默認值可高可低,推薦為高(如果為低,一次傳輸至少需要兩個周期,一個用來斷言AWVALID,一個用來斷言AWREADY);當AWREADY為高時,從機必須能夠接受提供給它的有效地址。

寫數據通道:在寫突發傳輸過程中,主機只能在它提供有效的寫數據時斷言WVALID,一旦斷言,需要保持斷言狀態,知道時鐘上升沿采樣到從機的WREADY。WREADY默認值可以為高,這要求從機總能夠在單個周期內接受寫數據。主機在驅動最后一次寫突發傳輸是需要斷言WLAST信號。

寫響應通道:從機只能它在驅動有效的寫響應時斷言BVALID,一旦斷言需要保持,直到時鐘上升沿采樣到主機的BREADY信號。當主機總能在一個周期內接受寫響應信號時,可以將BREADY的默認值設為高。

讀地址通道:當主機驅動有效的地址和控制信號時,主機可以斷言ARVALID,一旦斷言,需要保持ARVALID的斷言狀態,直到時鐘上升沿采樣到從機的ARREADY。ARREADY默認值可高可低,推薦為高(如果為低,一次傳輸至少需要兩個周期,一個用來斷言ARVALID,一個用來斷言ARREADY);當ARREADY為高時,從機必須能夠接受提供給它的有效地址。

讀數據通道:只有當從機驅動有效的讀數據時從機才可以斷言RVALID,一旦斷言需要保持直到時鐘上升沿采樣到主機的BREADY。BREADY默認值可以為高,此時需要主機任何時候一旦開始讀傳輸就能立馬接受讀數據。當最后一次突發讀傳輸時,從機需要斷言RLAST。

通道間關系

  • AXI協議要求通道間滿足如下關系:

  • 寫響應必須跟隨最后一次burst的的寫傳輸

  • 讀數據必須跟隨數據對應的地址

通道握手信號的依耐關系

為防止死鎖,通道握手信號需要遵循一定的依耐關系。①VALID信號不能依耐READY信號。②AXI接口可以等到檢測到VALID才斷言對應的READY,也可以檢測到VALID之前就斷言READY。下面有幾個圖表明依耐關系,單箭頭指向的信號能在箭頭起點信號之前或之后斷言;雙箭頭指向的信號必須在箭頭起點信號斷言之后斷言。

圖 3-4 讀傳輸握手依耐關系

圖 3-5 寫傳輸握手依耐關系

圖 3-6 從機寫響應握手依耐關系

3.3傳輸結構

地址結構

AXI協議是基于burst的,主機只給出突發傳輸的第一個字節的地址,從機必須計算突發傳輸后續的地址。突發傳輸不能跨4KB邊界(防止突發跨越兩個從機的邊界,也限制了從機所需支持的地址自增數)。

1)突發長度

ARLEN[7:0]決定讀傳輸的突發長度,AWLEN[7:0]決定寫傳輸的突發長度。AXI3只支持1~16次的突發傳輸(Burst_length=AxLEN[3:0]+1),AXI4擴展突發長度支持INCR突發類型為1~256次傳輸,對于其他的傳輸類型依然保持1~16次突發傳輸(Burst_Length=AxLEN[7:0]+1)。

  • burst傳輸具有如下規則:

  • wraping burst ,burst長度必須是2,4,8,16

  • burst不能跨4KB邊界

  • 不支持提前終止burst傳輸

所有的組件都不能提前終止一次突發傳輸。然而,主機可以通過解斷言所有的寫的strobes來使非所有的寫字節來減少寫傳輸的數量。讀burst中,主機可以忽略后續的讀數據來減少讀個數。也就是說,不管怎樣,都必須完成所有的burst傳輸。

注:對于FIFO,忽略后續讀數據可能導致數據丟失,必須保證突發傳輸長度和要求的數據傳輸大小匹配。

突發大小

ARSIZE[2:0],讀突發傳輸;AWSIZE[2:0],寫突發傳輸。

AxSIZE[2:0] bytes in transfer

‘b0001

‘b0012

‘b0104

‘b0118

‘b10016

‘b10132

‘b11064

‘b111128

突發類型

FIXED:突發傳輸過程中地址固定,用于FIFO訪問

INCR:增量突發,傳輸過程中,地址遞增。增加量取決AxSIZE的值。

WRAP:回環突發,和增量突發類似,但會在特定高地址的邊界處回到低地址處。回環突發的長度只能是2,4,8,16次傳輸,傳輸首地址和每次傳輸的大小對齊。最低的地址整個傳輸的數據大小對齊。回環邊界等于(AxSIZE*AxLEN)。

AxBURST[1:0]burst type

‘b00FIXED

‘b01INCR

‘b10WRAP

‘b11Reserved

Start_Address=AxADDR

Number_Bytes=2^AxSIZE

Burst_Length=AxLEN+1

Aligned_Addr=(INT(Start_Address/Number_Bytes))xNumber_Bytes。//INT表示向下取整。

對于INCR突發和WRAP突發但沒有到達回環邊界,地址由下述方程決定:

Address_N=Aligned_Address+(N-1)xNumber_Bytes

WRAP突發,突發邊界:

Wrap_Boundary=(INT(Start_Address/(Number_Bytes x Burst_Length)))x(Number_Bytes x Burst_Length)

數據讀寫結構

WSTRB[n:0]對應于對應的寫字節,WSTRB[n]對應WDATA[8n+7:8n]。WVALID為低時,WSTRB可以為任意值,WVALID為高時,WSTRB為高的字節線必須指示有效的數據。

窄傳輸

當主機產生比它數據總線要窄的傳輸時,由地址和控制信號決定哪個字節被傳輸:

INCR和WRAP,不同的字節線決定每次burst傳輸的數據,FIXED,每次傳輸使用相同的字節線。

下圖給出了5次突發傳輸,起始地址為0,每次傳輸為8bit,數據總線為32bit,突發類型為INCR。

圖 3-7 窄傳輸示例1

下圖給出3次突發,起始地址為4,每次傳輸32bit,數據總線為64bit。

圖 3-8 窄傳輸示例2

非對齊傳輸

AXI支持非對齊傳輸。在大于一個字節的傳輸中,第一個自己的傳輸可能是非對齊的。如32-bit數據包起始地址在0x1002,非32bit對齊。

主機可以①使用低位地址線來表示非對齊的起始地址;②提供對齊的起始地址,使用字節線來表示非對齊的起始地址。

圖 3-9 對齊非對齊傳輸示例1-32bit總線

圖 3-10 對齊非對齊傳輸示例2-64bit總線

圖 3-11 對齊的回環傳輸示例

讀寫響應結構

讀傳輸的響應信息是附加在讀數據通道上的,寫傳輸的響應在寫響應通道。

RRESP[1:0],讀傳輸

BRESP[1:0],寫傳輸

OKAY(‘b00):正常訪問成功

EXOKAY(‘b01):Exclusive 訪問成功

SLVERR(‘b10):從機錯誤。表明訪問已經成功到了從機,但從機希望返回一個錯誤的情況給主機。

DECERR(‘b11):譯碼錯誤。一般由互聯組件給出,表明沒有對應的從機地址。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1643

    文章

    21957

    瀏覽量

    614026
  • 總線協議
    +關注

    關注

    0

    文章

    128

    瀏覽量

    15167

原文標題:AXI4總線協議

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    NVMe協議簡介之AXI總線

    向高速數據流傳輸的AXI4-Stream接口。如表1所示展示了三種類型接口的主要特點對比。 表1 三種類型AXI4接口對比 AXI4總線具有讀寫地址、數據通道分離的特性,使控制通道與數
    發表于 05-17 10:27

    NVMe IP之AXI4總線分析

    1AXI4總線協議 AXI4總線協議是由ARM公司提出的
    發表于 06-02 23:05

    看看在SpinalHDL中AXI4總線互聯IP的設計

    。readDataReorderingDepth:亂序傳輸的深度。AXI4總線定義為:AXI4總線定義劃分為五個Strema通道:aw,w
    發表于 08-02 14:28

    AXI4接口協議的基礎知識

    AXI-4 Memory Mapped也被稱之為AXI-4 Full,它是AXI4接口協議的基礎,其他AXI4接口是該接口的變形。總體而言,
    的頭像 發表于 09-23 11:20 ?6436次閱讀
    <b class='flag-5'>AXI4</b>接口<b class='flag-5'>協議</b>的基礎知識

    文詳解ZYNQ中的DMA與AXI4總線

    在ZYNQ中,支持AXI-Lite,AXI4AXI-Stream三種總線,但PS與PL之間的接口卻只支持前兩種,AXI-Stream只能在
    的頭像 發表于 09-24 09:50 ?6016次閱讀
    <b class='flag-5'>一</b>文詳解ZYNQ中的DMA與<b class='flag-5'>AXI4</b><b class='flag-5'>總線</b>

    ZYNQ中DMA與AXI4總線

    ZYNQ中DMA與AXI4總線 為什么在ZYNQ中DMA和AXI聯系這么密切?通過上面的介紹我們知道ZYNQ中基本是以AXI總線完成相關功能
    的頭像 發表于 11-02 11:27 ?4592次閱讀
    ZYNQ中DMA與<b class='flag-5'>AXI4</b><b class='flag-5'>總線</b>

    深入AXI4總線握手機制

    本系列我想深入探尋 AXI4 總線。不過事情總是這樣,不能我說想深入就深入。當前我對 AXI總線的理解尚談不上深入。但我希望通過系列文章,
    發表于 03-17 21:40 ?25次下載
    深入<b class='flag-5'>AXI4</b><b class='flag-5'>總線</b><b class='flag-5'>一</b>握手機制

    AXI4AXI4-Lite 、AXI4-Stream接口

    AXI4種高性能memory-mapped總線AXI4-Lite是只簡單的、低通量的memory-mapped
    的頭像 發表于 07-04 09:40 ?9472次閱讀

    AXI4協議五個不同通道的握手機制

    AXI4 協議定義了五個不同的通道,如 AXI 通道中所述。所有這些通道共享基于 VALID 和 READY 信號的相同握手機制
    的頭像 發表于 05-08 11:37 ?1562次閱讀
    <b class='flag-5'>AXI4</b><b class='flag-5'>協議</b>五個不同通道的握手機制

    FPGA AXI4協議學習筆記(二)

    上文FPGA IP之AXI4協議1_協議構架對協議框架進行了說明,本文對AXI4接口的信號進行說
    的頭像 發表于 05-24 15:05 ?1949次閱讀
    <b class='flag-5'>FPGA</b> <b class='flag-5'>AXI4</b><b class='flag-5'>協議</b>學習筆記(二)

    FPGA AXI4協議學習筆記(三)

    上文FPGA IP之AXI4協議1_信號說明把AXI協議5個通道的接口信息做了說明,本文對上文說的信號進行詳細說明。
    的頭像 發表于 05-24 15:06 ?1429次閱讀
    <b class='flag-5'>FPGA</b> <b class='flag-5'>AXI4</b><b class='flag-5'>協議</b>學習筆記(三)

    AXI4-Lite協議簡明學習筆記

    AXI4協議是ARM的AMBA總線協議重要部分,ARM介紹AXI4總線
    發表于 06-19 11:17 ?4638次閱讀
    <b class='flag-5'>AXI4</b>-Lite<b class='flag-5'>協議</b>簡明學習筆記

    Xilinx FPGA AXI4總線)介紹【AXI4】【AXI4-Lite】【AXI-Stream】

    FPGA 應用角度看看 AMBA 總線中的 AXI4 總線
    發表于 06-21 15:21 ?2708次閱讀
    Xilinx <b class='flag-5'>FPGA</b> <b class='flag-5'>AXI4</b><b class='flag-5'>總線</b>(<b class='flag-5'>一</b>)介紹【<b class='flag-5'>AXI4</b>】【<b class='flag-5'>AXI4</b>-Lite】【<b class='flag-5'>AXI</b>-Stream】

    漫談AMBA總線-AXI4協議的基本介紹

    本文主要集中在AMBA協議中的AXI4協議。之所以選擇AXI4作為講解,是因為這個協議在SoC、IC設計中應用比較廣泛。
    發表于 01-17 12:21 ?3166次閱讀
    漫談AMBA<b class='flag-5'>總線</b>-<b class='flag-5'>AXI4</b><b class='flag-5'>協議</b>的基本介紹

    SoC設計中總線協議AXI4AXI3的主要區別詳解

    AXI4AXI3是高級擴展接口(Advanced eXtensible Interface)的兩個不同版本,它們都是用于SoC(System on Chip)設計中的總線協議,用于處
    的頭像 發表于 05-10 11:29 ?9850次閱讀
    SoC設計中<b class='flag-5'>總線</b><b class='flag-5'>協議</b><b class='flag-5'>AXI4</b>與<b class='flag-5'>AXI</b>3的主要區別詳解