AXI總線作為一種線,可以掛若干主設(shè)備與從設(shè)備,如果若干主設(shè)備要同時(shí)訪問總線,必然會(huì)導(dǎo)致總線需要仲裁。本文不涉及細(xì)節(jié),只簡單減少原理,一般來說這個(gè)東西不需要自己寫,ARM會(huì)提供,但是作為設(shè)計(jì)者要大致知道原理。
1. 所謂總線,是個(gè)什么意思。

實(shí)際上是有個(gè)interconnect的模塊把所有東西連起來的。主設(shè)備會(huì)發(fā)起讀寫請(qǐng)求,從設(shè)備只能被動(dòng)接受。SOC中的CPU或者其他加速核心比如AI加速器是主設(shè)備。從設(shè)備一般是存儲(chǔ)啊外設(shè)啊之類的東西。基本的連接關(guān)系是這樣的。
2. 這個(gè)Interconnect里有什么東西
這個(gè)Interconnect連接了整個(gè)系統(tǒng),起到了仲裁的信號(hào)的作用,所以還是比較關(guān)鍵的。一般來講,瘋狂往interconnect上掛各種主從設(shè)備是會(huì)影響最后的時(shí)序的。由于AXI官方文檔IHI0022E里面貌似是沒有太多這方面介紹,換句話說,AXI協(xié)議并沒有規(guī)定主從設(shè)備連一起應(yīng)該如何工作,于是這里以賽靈思ug1037為基礎(chǔ)介紹一下。
2.1 1to1 interconnect

這個(gè)賊簡單,不用過多減少。。。一對(duì)一的連上去就好了。模范夫妻。
2.2 N-to-1 Interconnect

這個(gè)是稍微復(fù)雜的版本,類似于一妻多夫。。。如果有多個(gè)主設(shè)備,一個(gè)從設(shè)備。那中間需要一個(gè)仲裁器。某個(gè)主設(shè)備傳輸前請(qǐng)求總線,如果總線忙就等著。一般來講,最簡單的仲裁原理是輪換優(yōu)先級(jí)。例如有三個(gè)主設(shè)備ABC。上次總線權(quán)限給了A。則下次的優(yōu)先級(jí)變?yōu)锽CA。
2.3 1-to-N Interconnect

1-to-N原理上比N-to-1簡單。一夫多妻的版本。。。只需要簡單判斷一下地址確認(rèn)要往哪個(gè)從設(shè)備里寫,基本上就是多路選擇器。不需要仲裁。總線也不會(huì)阻塞。
2.4 N-to-M Interconnect
這種情況就比較復(fù)雜了。。。涉及到多設(shè)備時(shí)間管理。但實(shí)際上稍微復(fù)雜一點(diǎn)的SOC這類情況才是常態(tài)。

如上圖所示,讀寫通道是分開的。各自有一個(gè)仲裁器(Arbiter),仲裁原理和N-to-1是一致的。仲裁器會(huì)從所有寫請(qǐng)求和所有讀請(qǐng)求中各選出來一個(gè)來執(zhí)行。
3. 實(shí)際上用的時(shí)候怎么用
自己造AXI的各種輪子其實(shí)是比較繁瑣的,不僅僅是interconnect問題,舉個(gè)簡單的例子,AXI的DMA什么的自己造輪子DEBUG非常耗時(shí)。如果是FPGA,可以直接用XILINX的各路IP。如果是ASIC, 一般會(huì)有對(duì)應(yīng)的IP賣。比如ARM提供的最小系統(tǒng)一般會(huì)自帶這個(gè)interconnect。
如果SOC比較復(fù)雜,那還是有可能需要自己造這個(gè)輪子。比如為了壓榨總線的性能,如果兩個(gè)主設(shè)備訪問的是兩個(gè)不同的從設(shè)備,如果想實(shí)現(xiàn)同時(shí)執(zhí)行,那對(duì)這個(gè)interconnect就有其他的要求。
4. 總結(jié)
一般情況下,總線可以理解為一種資源。由一對(duì)主從設(shè)備獨(dú)占使用。對(duì)于AXI來講,一般是兩種資源,讀總線和寫總線,通過某種仲裁方式分配給不同的主從設(shè)備。
-
soc
+關(guān)注
關(guān)注
40文章
4576瀏覽量
229147 -
總線
+關(guān)注
關(guān)注
10文章
3040瀏覽量
91660 -
AXI總線
+關(guān)注
關(guān)注
0文章
68瀏覽量
14757
原文標(biāo)題:SOC中AXI總線是如何連接的
文章出處:【微信號(hào):IC學(xué)習(xí),微信公眾號(hào):IC學(xué)習(xí)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
利用開源uart2axi4實(shí)現(xiàn)串口訪問axi總線
蜂鳥E203 SoC的私有設(shè)備總線的簡單使用
利用蜂鳥E203搭建SoC【1】——AXI總線的配置與板級(jí)驗(yàn)證
人臉識(shí)別和AES加密協(xié)同的SOC設(shè)計(jì)架構(gòu)
利用蜂鳥E203搭建SoC【4】——DDR200T內(nèi)存擴(kuò)展
將e203 例化AXI總線接口
AXI GPIO擴(kuò)展e203 IO口簡介
RDMA簡介8之AXI分析
RDMA簡介9之AXI 總線協(xié)議分析2
RDMA簡介8之AXI 總線協(xié)議分析1
NVMe IP之AXI4總線分析
AMD Versal Adaptive SoC Clock Wizard AXI DRP示例
NVMe簡介之AXI總線
SOC中AXI總線怎么連接
評(píng)論