91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

SoC常見(jiàn)問(wèn)題 - axi deadlock

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

如果是M1訪問(wèn)S1,根本不會(huì)出現(xiàn)交織,這個(gè)場(chǎng)景安全。

如果M1同時(shí)訪問(wèn)S1和S2,因?yàn)榫仃囇舆t的不同,很有可能發(fā)生交織,但是由于ARID和RID不同,也不會(huì)造成死鎖。也是安全的。

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

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

    關(guān)注

    40

    文章

    4578

    瀏覽量

    229308
  • MASTER
    +關(guān)注

    關(guān)注

    0

    文章

    111

    瀏覽量

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

    關(guān)注

    1

    文章

    145

    瀏覽量

    17962

原文標(biāo)題:SoC常見(jiàn)問(wèn)題 - axi deadlock

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    CW32系統(tǒng)有哪些常見(jiàn)問(wèn)題?

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

    利用開(kāi)源uart2axi4實(shí)現(xiàn)串口訪問(wèn)axi總線

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

    利用蜂鳥(niǎo)E203搭建SoC【1】——AXI總線的配置與板級(jí)驗(yàn)證

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

    AXI GPIO擴(kuò)展e203 IO口簡(jiǎn)介

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

    ZYNQ UltraScalePlus RFSOC QSPI Flash固化常見(jiàn)問(wèn)題說(shuō)明

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

    PCBA代工避坑指南:常見(jiàn)問(wèn)題+解決方案全解析

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

    RDMA簡(jiǎn)介8之AXI分析

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

    NVMe IP之AXI4總線分析

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

    AMD Versal Adaptive SoC Clock Wizard AXI DRP示例

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

    NVMe簡(jiǎn)介之AXI總線

    NVMe需要用AXI總線進(jìn)行高速傳輸。而AXI總線是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)協(xié)議中的重要組成部分,主要面向高性能、高帶寬、低延時(shí)的片內(nèi)互連需求。這里簡(jiǎn)要介紹
    的頭像 發(fā)表于 05-21 09:29 ?800次閱讀
    NVMe簡(jiǎn)介之<b class='flag-5'>AXI</b>總線

    deepin 25系統(tǒng)安裝常見(jiàn)問(wèn)題

    隨著 deepin 25 系列版本的發(fā)布,我們特別推出 deepin Q&A 常見(jiàn)問(wèn)題指南,旨在幫助您輕松應(yīng)對(duì)安裝、升級(jí)及使用過(guò)程中可能遇到的常見(jiàn)問(wèn)題。
    的頭像 發(fā)表于 04-14 14:08 ?5761次閱讀
    deepin 25系統(tǒng)安裝<b class='flag-5'>常見(jiàn)問(wèn)題</b>

    STM32定時(shí)器基本原理及常見(jiàn)問(wèn)題之培訓(xùn)資料

    STM32 定時(shí)器基本原理及常見(jiàn)問(wèn)題之培訓(xùn)資料v3.10 時(shí)基單元、捕捉比較功能、主從觸發(fā)與級(jí)聯(lián)、案例分享 培訓(xùn)內(nèi)容:
    發(fā)表于 04-08 16:26

    使用邊緣采集網(wǎng)關(guān)時(shí)的常見(jiàn)問(wèn)題

    問(wèn)題。本文結(jié)合行業(yè)實(shí)踐與技術(shù)解析,梳理邊緣采集網(wǎng)關(guān)的常見(jiàn)問(wèn)題及其解決方案,并以濟(jì)南有人物聯(lián)網(wǎng)技術(shù)有限公司(以下簡(jiǎn)稱“有人物聯(lián)”)的產(chǎn)品為例,探討如何通過(guò)技術(shù)優(yōu)化提升設(shè)備可靠性。 一、數(shù)據(jù)采集異常 數(shù)據(jù)采集是邊緣網(wǎng)關(guān)的
    的頭像 發(fā)表于 03-27 16:22 ?1096次閱讀

    DeepSeek在昇騰上的模型部署的常見(jiàn)問(wèn)題及解決方案

    2024年12月26日,DeepSeek-V3橫空出世,以其卓越性能備受矚目。該模型發(fā)布即支持昇騰,用戶可在昇騰硬件和MindIE推理引擎上實(shí)現(xiàn)高效推理,但在實(shí)際操作中,部署流程與常見(jiàn)問(wèn)題困擾著不少
    的頭像 發(fā)表于 03-25 16:53 ?2445次閱讀
    DeepSeek在昇騰上的模型部署的<b class='flag-5'>常見(jiàn)問(wèn)題</b>及解決方案

    AXI接口FIFO簡(jiǎn)介

    AXI接口FIFO是從Native接口FIFO派生而來(lái)的。AXI內(nèi)存映射接口提供了三種樣式:AXI4、AXI3和AXI4-Lite。除了Na
    的頭像 發(fā)表于 03-17 10:31 ?2168次閱讀
    <b class='flag-5'>AXI</b>接口FIFO簡(jiǎn)介