日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

3天內(nèi)不再提示

SoC常見問題 - axi deadlock

ruikundianzi ? 來源:IP與SoC設(shè)計 ? 2023-12-07 09:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近多個項目并行,實在是沒有時間分享了,今天在評論區(qū)看到了一個非常有意義的問題,同樣也是社招,校招最常見的問題。那就是AXI協(xié)議怎么避免死鎖呢?

兩種死鎖場景分別是亂序讀和寫交織,有的人更熟悉英文,那就是out of order和interleaving。下面我們分析原因。

亂序讀:我們知道AXI協(xié)議支持亂序讀,那么為什么能實現(xiàn)呢?這也是常見面試題目,那就是因為AXI(現(xiàn)在單指AXI3)每個通路都有相應(yīng)的ID,通過請求和響應(yīng)ID的一致來將打亂的順序恢復。

現(xiàn)在假設(shè)M1發(fā)給S1的請求ID可以是1,2,3,M1發(fā)給S2的ID可以是3,4,5。現(xiàn)在M1分別發(fā)起了兩組outstanding傳輸給S1和S2,RID是隨機的,也就是ARID_S1和ARID_S2存在都是3的可能。并且如圖,S1/S2響應(yīng)的時間是不同的,所以也就存在S1和S2 RID=3的響應(yīng)順序是不確定的,例如M1>S2先發(fā)出ID=3的請求,長度為16,又發(fā)出M1>S1的ID=3的請求,長度為8,但是由于S2響應(yīng)慢,M1會先拿到S1的響應(yīng),那么M1收到ID為3的響應(yīng)時該怎么區(qū)分呢?答案是無法區(qū)分,所以這種場景會造成M1工作異常(接到全部數(shù)據(jù)的時候沒有rlast信號,此時正處于S2響應(yīng)的中間,并沒有RLAST會導致M1認為傳輸錯誤)。具體解決方案是per slave per id,M0發(fā)起訪問時,會判斷已經(jīng)發(fā)出去的ID,保證每個slave收到的ID是唯一的,所以我們設(shè)計axi master時也要這樣,當然,我們也可以投機取巧,固定值。

想必一定有熟悉coreconsulatant和ARM NIC的同學,配置的時候有兩個參數(shù),那就是每組outstanding可以使用的ID個數(shù),以及每個ID對應(yīng)的指令個數(shù),兩者相乘就是outstanding能力,所以為了避免死鎖我們會將ID個數(shù)配置為1(當然僅限第一級矩陣,也就是和自研AXI_M連接的地方,這樣太暴力),這樣Master就很容易區(qū)分不同slave設(shè)備的響應(yīng)了,但是缺點也很明顯,那就是會降低性能,不同ID的請求會被矩陣master反壓,所以我們設(shè)置的需要合理。怎么算合理呢?首先如果大家看過cpu文檔,會發(fā)現(xiàn)ID個數(shù)以及不同ID的含義是有明確定義的,所以我們配置時要考慮master的ID個數(shù),但是master cpu訪問我們時限制不了的,所以我們會在那里下手呢?那就是矩陣,需要做remap,NIC和NOC都有這種設(shè)計,實時保證ID的唯一性。

4c8d0d94-94a0-11ee-939d-92fbcf53809c.jpg

亂序讀死鎖常見結(jié)構(gòu)

交織寫:AXI3協(xié)議支持交織寫,原因就是容易造成總線死鎖,其實并不是交織寫容易造成死鎖,而是某些場景容易出現(xiàn)(矩陣配置不合理,或者不同路徑delay分析不正確)。我們分析一下原因。

如下圖,假設(shè)M1對S1地址發(fā)起多次burst傳輸,并且因為矩陣支持交織寫,會把M1訪問的順序打亂(原因是master的數(shù)據(jù)也是由上級傳遞過來的,順序可能不同)。如果不好理解的話,可以抽象將M1和M2認為是一個master,都在訪問S1,矩陣的interleaving深度是>1的,也就是S1出口會將寫的順序打亂,導致waddr和wdata的順序改變,那么結(jié)果是什么呢?那就是驢頭不對馬嘴,想寫A1,但是數(shù)據(jù)卻寫到了A2地址,但是控制通路已經(jīng)規(guī)定了burst長度,如果wlast出現(xiàn)的時候數(shù)據(jù)不夠,或者多了,當然會讓slave出現(xiàn)問題嘍。

這也是為什么AXI4取消了WID的主要原因。

4c97daf8-94a0-11ee-939d-92fbcf53809c.jpg

交織寫死鎖常見結(jié)構(gòu)

交織讀為什么不容易死鎖呢?

如果是M1訪問S1,根本不會出現(xiàn)交織,這個場景安全。

如果M1同時訪問S1和S2,因為矩陣延遲的不同,很有可能發(fā)生交織,但是由于ARID和RID不同,也不會造成死鎖。也是安全的。

但是當然存在不安全的場景,那就是master不支持交織,矩陣支持交織,同樣會導致總線異常,所以我們配置矩陣IP時,一定要充分了解所有的master設(shè)備和slave設(shè)備。主要參數(shù)如下:outstanding能力,read interleaving深度,master id寬度,master個數(shù),slave id寬度(矩陣slave口ID寬度會受master個數(shù)影響,id一定不能截位,但是可以remap)等。

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

    關(guān)注

    40

    文章

    4635

    瀏覽量

    230278
  • MASTER
    +關(guān)注

    關(guān)注

    0

    文章

    112

    瀏覽量

    12250
  • AXI
    AXI
    +關(guān)注

    關(guān)注

    1

    文章

    145

    瀏覽量

    18033

原文標題:SoC常見問題 - axi deadlock

文章出處:【微信號:IP與SoC設(shè)計,微信公眾號:IP與SoC設(shè)計】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    關(guān)于ST系列MCU使用STlink仿真燒錄常見問題

    關(guān)于ST系列MCU使用STlink仿真燒錄常見問題
    的頭像 發(fā)表于 04-14 17:16 ?519次閱讀
    關(guān)于ST系列MCU使用STlink仿真燒錄<b class='flag-5'>常見問題</b>

    示波器常見問題解答 (FAQ)

    示波器是電子工程師不可或缺的“眼睛”,它能將看不見的電信號轉(zhuǎn)化為可視的波形圖像,幫助我們洞察電路的運行狀態(tài)。為了幫助您更高效、安全地使用這一工具,我們整理了以下常見問題與解答。 ? 1.
    的頭像 發(fā)表于 02-02 18:21 ?676次閱讀
    示波器<b class='flag-5'>常見問題</b>解答 (FAQ)

    CW32系統(tǒng)有哪些常見問題?

    在CW32系統(tǒng)中,可能會遇到一些常見問題,包括但不限于: 重復定義函數(shù):例如在a.c里定義了函數(shù)void func(),在b.c里也定義了一個void func()。這會導致編譯時出現(xiàn)錯誤,需要
    發(fā)表于 12-15 06:47

    利用開源uart2axi4實現(xiàn)串口訪問axi總線

    microblaze和jtag-to-axi(jtag2axi)雖然也提供了訪問axi總線的能力,但是依賴于xilinx平臺。而uart-to-axi(uart2
    的頭像 發(fā)表于 12-02 10:05 ?2285次閱讀
    利用開源uart2<b class='flag-5'>axi</b>4實現(xiàn)串口訪問<b class='flag-5'>axi</b>總線

    利用蜂鳥E203搭建SoC【1】——AXI總線的配置與板級驗證

    融合進BD設(shè)計流程,第一步需要對其總線進行配置以便于后續(xù)的SoC搭建。 蜂鳥e203內(nèi)部使用的是icb總線,這種總線協(xié)議與AXI類似,都采用了握手信號進行傳輸,相對易于轉(zhuǎn)換;此外,在蜂鳥提供的rtl
    發(fā)表于 10-30 07:35

    人臉識別和AES加密協(xié)同的SOC設(shè)計架構(gòu)

    這個是我們整體的架構(gòu)圖。我們SOC主要包括了三個模塊組,計算核心組,系統(tǒng)外設(shè)組,數(shù)據(jù)外設(shè)組。計算核心組包括了RISCV內(nèi)核,RISCV內(nèi)核中集成了一個ITCM和DTCM的指令存儲器和數(shù)據(jù)存儲器。另外
    發(fā)表于 10-29 08:21

    AXI GPIO擴展e203 IO口簡介

    讀寫寄存器、設(shè)置中斷等。 AXI-GPIO廣泛應(yīng)用于FPGA和SoC系統(tǒng)中,可以用于控制外部設(shè)備、實現(xiàn)狀態(tài)檢測、進行通信協(xié)議等。AXI-GPIO的靈活性和可靠性使其成為嵌入式系統(tǒng)開發(fā)中的重要外設(shè)IP
    發(fā)表于 10-22 08:14

    ZYNQ UltraScalePlus RFSOC QSPI Flash固化常見問題說明

    璞致 ZYNQ UltraScalePlus RFSOC QSPI Flash 固化常見問題說明
    發(fā)表于 08-08 15:49 ?0次下載

    PCBA代工避坑指南:常見問題+解決方案全解析

    一站式PCBA加工廠家今天為大家講講PCBA代工代購元器件常見問題有哪些?PCBA代工代購元器件常見問題及解決方案。隨著科技的不斷發(fā)展和市場需求的變化,越來越多的企業(yè)選擇通過外包方式進行PCBA生產(chǎn)
    的頭像 發(fā)表于 07-09 09:38 ?1013次閱讀

    新能源汽車線束氣密性檢測儀的常見問題有哪些?

    新能源汽車線束氣密性檢測儀在檢測過程中可能會遇到一些常見問題,這些問題可能源于設(shè)備本身、操作過程、被測線束或測試環(huán)境等多個方面。以下是對這些常見問題的歸納:一、設(shè)備故障顯示屏問題:黑屏:可能是電源
    的頭像 發(fā)表于 06-27 11:08 ?756次閱讀
    新能源汽車線束氣密性檢測儀的<b class='flag-5'>常見問題</b>有哪些?

    RDMA簡介8之AXI分析

    AXI4 總線是第四代 AXI 總線,其定義了三種總線接口,分別為:AXI4、AXI4-Lite 和 AXI4-Stream接口。其中
    的頭像 發(fā)表于 06-24 23:22 ?791次閱讀
    RDMA簡介8之<b class='flag-5'>AXI</b>分析

    NVMe IP之AXI4總線分析

    1AXI4總線協(xié)議 AXI4總線協(xié)議是由ARM公司提出的一種片內(nèi)總線協(xié)議 ,旨在實現(xiàn)SOC中各模塊之間的高效可靠的數(shù)據(jù)傳輸和管理。AXI4協(xié)議具有高性能、高吞吐量和低延遲等優(yōu)點,在
    發(fā)表于 06-02 23:05

    薄膜電弱點測試儀的常見問題及解決方案

    薄膜電弱點測試儀在薄膜生產(chǎn)、質(zhì)檢等環(huán)節(jié)起著關(guān)鍵作用,用于檢測薄膜存在的針孔、裂紋等電弱點缺陷。然而在實際使用過程中,可能會遇到各種問題影響檢測效率與準確性。以下為薄膜電弱點測試儀常見問題及對應(yīng)
    的頭像 發(fā)表于 05-29 13:26 ?868次閱讀
    薄膜電弱點測試儀的<b class='flag-5'>常見問題</b>及解決方案

    AMD Versal Adaptive SoC Clock Wizard AXI DRP示例

    本文將使用 Clocking Wizard 文檔 PG321 中的“通過 AXI4-Lite 進行動態(tài)重配置的示例”章節(jié)作為參考。
    的頭像 發(fā)表于 05-27 10:42 ?1345次閱讀
    AMD Versal Adaptive <b class='flag-5'>SoC</b> Clock Wizard <b class='flag-5'>AXI</b> DRP示例

    NVMe簡介之AXI總線

    NVMe需要用AXI總線進行高速傳輸。而AXI總線是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)協(xié)議中的重要組成部分,主要面向高性能、高帶寬、低延時的片內(nèi)互連需求。這里簡要介紹
    的頭像 發(fā)表于 05-21 09:29 ?919次閱讀
    NVMe簡介之<b class='flag-5'>AXI</b>總線
    荣成市| 邯郸县| 汾阳市| 宜川县| 屯门区| 上栗县| 锡林郭勒盟| 维西| 仁布县| 拉萨市| 团风县| 龙海市| 黄大仙区| 高州市| 香河县| 天峨县| 南昌市| 边坝县| 象州县| 措美县| 永靖县| 黄山市| 伊宁县| 吴江市| 武隆县| 芒康县| 盈江县| 昔阳县| 延津县| 宕昌县| 美姑县| 怀远县| 洮南市| 富川| 广安市| 镇原县| 静安区| 会理县| 富锦市| 九龙县| 车险|