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