為了適應(yīng)大規(guī)模的SoC設(shè)計(jì),GIC-600被設(shè)計(jì)成分布式IP。
所謂分布式,GIC-600由幾種組件構(gòu)成,每個(gè)組件可以跟其它相關(guān)模塊在物理設(shè)計(jì)上擺放在一起,并與其擁有共同的電源域;組件之間通過(guò)片上網(wǎng)絡(luò)(network on chip,簡(jiǎn)稱NoC)通信,從而達(dá)到更好的時(shí)序。
GIC-600的重要組件包括以下幾種:
? Distributor:GIC-600的核心部件,負(fù)責(zé)與其它組件通信,主要處理SPI和LPI
? Redistributor:與cluster或core交互,主要處理PPI和SGI
? ITS(Interrupt Translation Service):處理基于消息的中斷,用于解析LPI
? SPI collator:顧名思義,收集整理SPI
? Wake request:產(chǎn)生wake_request給core
在具體介紹每個(gè)組件之前,我們有必要先來(lái)研究一下這些組件之間是如何連接的。主要有兩種方式,
如何連接
第一種是利用片上網(wǎng)絡(luò),比如CMN-600這樣的IP
圖1 利用NoC連接GIC-600的組件
第一種方法,適合大規(guī)模的物理設(shè)計(jì),尤其是全局時(shí)鐘方案復(fù)雜的SoC。比如有很多的cluster,一般而言,一個(gè)redistributor對(duì)應(yīng)一個(gè)cluster,這樣redistributor可以和cluster一起做布局布線,redistributor和cluster之間的通信可以保持在一個(gè)比較高的頻率,且timing容易實(shí)現(xiàn)。
同樣,對(duì)于有很多PCIe控制器的設(shè)計(jì),ITS可以和PCIe控制器放在一起,實(shí)現(xiàn)LPI。對(duì)于SPI來(lái)說(shuō),一般多是給低速的外設(shè)準(zhǔn)備的,所以SPI collator可以和distributor放在一起。
Wake request組件的主要作用就是可以產(chǎn)生喚醒信號(hào)給core,如果SoC設(shè)計(jì)中沒(méi)有做關(guān)于core功耗方面的設(shè)計(jì),這個(gè)組件可以不需要;如果有功耗控制的需求,這些喚醒信號(hào)要給SCP(system control processor)或者相關(guān)的模塊,再做進(jìn)一步的設(shè)計(jì),具體取決于設(shè)計(jì)需要了。
第二種是私有的橋接。
圖2 利用私有橋接連接GIC-600的組件
第二種方法,適合規(guī)模較小的,全局時(shí)鐘方案簡(jiǎn)單的SoC,GIC-600的組件不依賴于片上網(wǎng)絡(luò)(因?yàn)闆](méi)有可用接口,比如NIC等)。這種方法的弊端是,組件之間的走線可能會(huì)非常長(zhǎng),并且可能需要在別的IP中穿行。好處是,不占用任何NoC的帶寬。
-
通信
+關(guān)注
關(guān)注
18文章
6034瀏覽量
136037 -
soc
+關(guān)注
關(guān)注
38文章
4169瀏覽量
218350 -
中斷
+關(guān)注
關(guān)注
5文章
898瀏覽量
41515 -
gic
+關(guān)注
關(guān)注
0文章
14瀏覽量
6276
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論