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

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

3天內不再提示

SoC設計中總線協議AXI4與AXI3的主要區別詳解

全棧芯片工程師 ? 來源:全棧芯片工程師 ? 2024-05-10 11:29 ? 次閱讀

AXI4和AXI3是高級擴展接口Advanced eXtensible Interface)的兩個不同版本,它們都是用于SoC(System on Chip)設計中的總線協議,用于處理器和其它外設之間的高速數據傳輸。以下是它們之間的一些主要區別:

1.AXI4加大Burst Length

AXI3最大突發長度(Burst Length)是16 beats,其AxLEN信號位寬為4位。

AXI4擴展了對突發長度的支持,最大可以達到256 beats,AxLEN信號位寬增加到8位。注意,這種擴展主要是針對INCR(Incrementing)突發類型,而WRAP和FIXED突發類型的最大長度仍然限制在16 beats,并且CPU的突發一般不會超過16拍,突發太長會一直占用總線,而且一旦開始突發傳輸是不能取消的,只能等突發傳輸完成。

注意,大型SoC系統中,AXI4和AXI3往往混用,如果總線從AXI4轉為AXI3實len直接從[7:0]截位為[3:0],則需要控制源頭激勵,len不能大于15。否則會無響應進而掛死,推薦使用協議橋來完成轉換。

2. AXI4新增QoS

AXI4引入了新的信號來支持服務質量(QoS),例如4bit的AWQOS和4bit的ARQOS信號,這些信號允許系統根據事務的重要性分配不同的服務級別。主要針對不同寫/讀事務的優先級,如果不使用,建議設置為default value 4'b0000。

AXI4協議沒有規定QoS的用法,一般由具體SoC架構特性決定,協議中希望互聯組件中有可配置寄存器,在傳輸中可以修改Qos信號值。一般盡量在系統級統一規劃QoS,并且設置為可編程QoS。QoS值越大,優先級越高,當然也有AxQoS越低,優先級越高的SoC。

d172a6b6-0e0f-11ef-a297-92fbcf53809c.png

3.AXI4取消鎖定事務

AXI4去除了對鎖定事務的支持,這是為了提高協議的簡潔性。在AXI3中,鎖定事務允許一個主設備鎖定對從設備的訪問,直到它完成其事務。AXI4中,AxLOCK信號從2位減少到了1位,不再支持Locked access,只支持Normal access、Exclusive access。請問,Locked access和Exclusive access區別是啥?

d192651e-0e0f-11ef-a297-92fbcf53809c.png

d1a70c9e-0e0f-11ef-a297-92fbcf53809c.png

請問,什么是locked access?

答:a locked sequence of transcations forces the interconnect to reject access to subordinate from any orther manager。即強制interconnect 拒絕其他master訪問subordinate(slave)。

d1c4bc12-0e0f-11ef-a297-92fbcf53809c.png

如上圖,當M0發起locked access的時候,必須確保沒有在途的transaction,之前的transaction必須完成。然后M0使用AxLOCK發起locked transaction,然后interconnect通過內部仲裁器確保只有M0能訪問到subordinate,任何其他的manager(M1)訪問Sub都會被Blocked,直到M0發起一個非locked transaction表示locked sequence完成。

因此,Locked access作用的對象是總線,而Exclusive access 作用的對象是對應的Slave?,F在SoC系統都非常復雜,Master也非常多,某一個Master lock住總線導致其他master不能使用總線對系統的性能影響太大,AXI4就取消Lock機制了。而Exclusive access機制實現在Slave模塊里,支持Exclusive access機制的slave會實現一個Exclusive access Monitor。

什么是Exclusive access Monitor?

d1e10282-0e0f-11ef-a297-92fbcf53809c.png

當M0發起一次獨占訪問讀操作后,subordinate中的monitor會有如下可能響應。

EXOKAY:讀操作已經執行,獨占訪問成功,并且事務ID已經記錄下,memory range和manager已經記錄下。

OKAY:讀操作已經執行,但是subordinate不支持獨占訪問,獨占訪問錯誤。

如果當M0接受到EXOKAY的響應,那么M0可以嘗試完成exclusive sequence,即進行一次獨占寫,這次獨占寫需要有相同的事務ID以及相同的地址范圍。接下來可能接受到來自subordinate的響應為:

EXOKAY:沒有其他manager對先去讀事務的地址范圍進行寫操作,所以M0的獨占寫事務成功,在這種情況下,獨占寫事務更新了memory。

OKAY:有別的manager,例如M1,在M0發起寫事務之前已經對獨占地址范圍進行了寫操作,獨占寫失敗。

要實現exclusive access,需要每個transaction ID都記錄一個地址,用來標記不同序列的獨占訪問地址。舉個例子,如下圖:

d1fc6932-0e0f-11ef-a297-92fbcf53809c.png

d2171462-0e0f-11ef-a297-92fbcf53809c.png

當manager發起兩筆獨占訪問,第一筆獨占訪問transaction ID是0,第二筆是1,對相同的獨占訪問地址進行讀操作,subordinate都會給出EXOKAY的響應,因為該subordinate支持獨占訪問操作,并且讀操作成功執行。

然后manager發送一筆寫事務,transaction ID是0,然后subordinate檢查該筆transaction ID是否記錄在monitor中,檢查后發現該地址被記錄在monitor的table中,因此獨占訪問寫操作成功,返回EXOKAY響應,同時由于地址0xA000已經被寫入修改了,monitor將所有地址為0xA000的獨占記錄移除。

然后manager再次發送一筆寫事務,transaction ID為1,此時monitor再次檢查內部的獨占記錄發現沒有獨占記錄,因為在上一個exclusive sequence已經清除掉所有地址為0xA000的獨占記錄了,因此獨占寫事務失敗,返回OKAY,并且內存中的數據不會更新,也就是data 0x4并不會寫入到地址中。

這個例子演示了獨占訪問如何實現非阻塞行為。與LOCK訪問相比,提供了更大的系統吞吐量。

4.AXI4S升級AxCACHE

AXI4中AWCACHE和ARCACHE信號的含義發生了變化,以適應ARM CPU架構的發展和對內存屬性更復雜的定義。

在AXI3中,4bit數據分別是buffer、cache、read allocate、write allocate。

bufferable用在寫操作中,表示可以由一個中間節點來返回response信號。Normally, the Bufferable attribute is only relevant to writes.

cacheable在讀操作中,表示可以prefetch一些數據,在寫操作中,表示可以將不同的write merged together。RA針對讀操作。WA針對寫操作。只有在cacheable有效的情況下,這兩個bit才有效。在AXI4中,cache bit改名為modefiable,RA,WA的概念被更新,將不用的allocate bit改為other allocate。

AXI3 中AWCACHE[3:0] 和ARCACHE[3:0]的含義如下圖所示:

d243fb30-0e0f-11ef-a297-92fbcf53809c.png

AXI3中cache=0,對數據不做處理。cache=1,矩陣會對讀寫數據進行合并或拆分處理。一般是矩陣的downsize/upsize對數據進行處理。cache[0],Bufferable,一般針對寫操作,表示interconnect,或者其他類似component,可以先返回resp,之后再寫向final distination。cache[1],1)與RA,WA配合,控制cache。2)表示transaction的屬性,可以在中間被更改。對寫操作,表示數據可以被merge。對于讀操作,表示地址可以被prefetch。

AXI4中AWCACHE[3:0] 和ARCACHE[3:0]的含義如下圖所示(括號內的是AXI3的編號):

d26051d6-0e0f-11ef-a297-92fbcf53809c.png

5. AXI4升級寫響應(Write Response Channel)

AXI4規定了更嚴格的寫響應條件,必須等到地址通路和數據通路都準備好,并且明確了要等WLAST信號后,從設備才能發出BVALID進行寫響應,這保證了事務真正完成時才發送響應。也就是說AXI4必須等到AWVALID,AWREADY,WVALID, WREADY, and WLAST 都為高后,SLAVE才能發BVALID進行寫響應,進一步避免了deadlock。

d27ee934-0e0f-11ef-a297-92fbcf53809c.png

AXI3則是等到了WVALID和WREADY后就能把BVALID置高來響應,也就是說只要slave接收了W通道所有寫數據(WLAST拉起)就可以B通道響應,沒管地址通道,SLAVE就可以發寫響應。顯然AXI4更嚴謹。

d2a364a8-0e0f-11ef-a297-92fbcf53809c.png

6.AXI4升級AxUSER

在AXI3中,USER信號沒有具體規定,而在AXI4中,USER信號的位寬和用法被進一步定義和標準化,以支持更廣泛的應用??紤]到IP的兼容性問題,IP廠商一般不用USER信號,其主要還是應用在SoC內部。AXI4的USER信號規定如下:

d2c3ea20-0e0f-11ef-a297-92fbcf53809c.pngAXI4在寫控制通道、寫數據通道、寫反饋通道和讀控制通道中引入了額外的用戶自定義信號,如AWUSER、WUSER、BUSER、ARUSER和RUSER,以支持更廣泛的應用場景??紤]到IP的兼容性問題,IP廠商一般不用USER信號,其主要還是應用在SoC內部。

7.AXI4取消WID

AXI4取消WID,寫通道不再支持write data interleave功能,雖然AXI3支持Write interleaving,但是大家在設計的時候,master基本都沒支持Write interleaving,因為寫數據一般都是in order有序發送的。這樣可以減少pin count,減少設計復雜度。

8.AXI4新增AxREGION

相比AXI3,AXI4增加了2個4bit AxREGION信號,4bit可以表示16個region。主要作用是簡化slave中的address decode,由interconnect在做address decode時產生,同樣必須在4k范圍內。AxREGION是可選的功能,一般用的較少。

總結,AXI4和AXI3在互聯時需要注意信號的兼容性,例如AWID、AxLOCK、AxLEN等信號的處理方式有所不同。



審核編輯:劉清

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

    關注

    68

    文章

    18564

    瀏覽量

    224087
  • 寄存器
    +關注

    關注

    30

    文章

    5167

    瀏覽量

    118229
  • 數據傳輸
    +關注

    關注

    9

    文章

    1593

    瀏覽量

    63839
  • SoC系統
    +關注

    關注

    0

    文章

    52

    瀏覽量

    10593
  • AXI總線
    +關注

    關注

    0

    文章

    66

    瀏覽量

    14172

原文標題:SoC系統中AXI4與AXI3兼容性與exclusive access

文章出處:【微信號:全棧芯片工程師,微信公眾號:全棧芯片工程師】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AXI接口協議詳解

    AXI 總線上面介紹了AMBA總線的兩種,下面看下我們的主角—AXI,在ZYNQ中有支持三種AXI
    發表于 04-08 10:45

    看看在SpinalHDLAXI4總線互聯IP的設計

    不做過多的講解(小伙伴可以自行下載AMBA總線協議規范或者翻看網絡上AXI4總線協議相關文章)。在SpinalHDL
    發表于 08-02 14:28

    AXI接口協議詳解

    1、AXI接口協議詳解  AXI 總線  上面介紹了AMBA總線
    發表于 10-14 15:31

    學習架構-AMBA AXI簡介

    本指南介紹了高級微控制器總線體系結構(AMBA)AXI主要功能。 該指南解釋了幫助您實現AXI協議的關鍵概念和細節。 在本指南中,我們介紹
    發表于 08-09 07:37

    SoC Designer AXI4協議包的用戶指南

    這是SoC Designer AXI4協議包的用戶指南。該協議包包含SoC Designer組件、探針和ARM
    發表于 08-10 06:30

    AMBA 4 AXI4、AXI4-Lite和AXI4-流協議斷言用戶指南

    您可以將協議斷言與任何旨在實現AMBA?4 AXI4的接口一起使用?, AXI4 Lite?, 或AXI4流?
    發表于 08-10 06:39

    AXI4接口協議的基礎知識

    AXI-4 Memory Mapped也被稱之為AXI-4 Full,它是AXI4接口協議的基礎,其他AXI4接口是該接口的變形??傮w而言,
    的頭像 發表于 09-23 11:20 ?5621次閱讀
    <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 ?4597次閱讀
    一文<b class='flag-5'>詳解</b>ZYNQ中的DMA與<b class='flag-5'>AXI4</b><b class='flag-5'>總線</b>

    何謂 AXI?關于AXI3/AXI4的相關基礎知識

    新的賽靈思器件設計中不可或缺的一部分。充分了解其基礎知識對于賽靈思器件的設計和調試都很有幫助。 本篇博文將介紹賽靈思器件上的 AXI3/AXI4 的相關基礎知識。首先,我們將從一些通俗易懂的知識、理論
    的頭像 發表于 09-27 11:06 ?6077次閱讀
    何謂 <b class='flag-5'>AXI</b>?關于<b class='flag-5'>AXI3</b>/<b class='flag-5'>AXI4</b>的相關基礎知識

    ZYNQ中DMA與AXI4總線

    ZYNQ中DMA與AXI4總線 為什么在ZYNQ中DMA和AXI聯系這么密切?通過上面的介紹我們知道ZYNQ中基本是以AXI總線完成相關功能
    的頭像 發表于 11-02 11:27 ?4025次閱讀
    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>一握手機制

    AXI4 、 AXI4-Lite 、AXI4-Stream接口

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

    FPGA AXI4協議學習筆記(二)

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

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

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

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

    本文主要集中在AMBA協議中的AXI4協議。之所以選擇AXI4作為講解,是因為這個協議
    發表于 01-17 12:21 ?644次閱讀
    漫談AMBA<b class='flag-5'>總線</b>-<b class='flag-5'>AXI4</b><b class='flag-5'>協議</b>的基本介紹
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>