復雜的多核心ARM集成設計面臨的挑戰和提出的解決方案
——
復雜的多核心ARM集成設計面臨的挑戰和提出的解決方案
最近,英國Ascot的Agere系統公司 ASIC設計中心從一個(gè)重要客戶(hù)處收到一份富有挑戰性的簡(jiǎn)報:將8個(gè) ARM966E-S r1p0 處理器子系統集成到單芯片上。
盡管這項任務(wù)很復雜,但是僅花了11個(gè)月就完成了4M-gate 5Mbit 的設計。目前,芯片已投入生產(chǎn),并作為首次推出的基礎設施的一部分,于2002年在歐洲首次使用。整個(gè)芯片是第三方和Agere設計經(jīng)驗的合作成果,Agere負責提供ARM子系統設計經(jīng)驗和芯片集成知識,而第三方提供特定用途知識產(chǎn)權。
本文不僅概括了小組在開(kāi)發(fā)設計過(guò)程中遇到的挑戰,還提供了對所采用的解決方案的深刻見(jiàn)解。使用的技術(shù)有Agere的0.16um 6LM (金屬層) 1.5V/3.3V處理,且連線(xiàn)到456 PBGAM數據包,以及Agere的內部EDA工具集、用于合成的Synopsys的設計編譯器、用于靜態(tài)時(shí)序分析的Primetime、用于測試插入和矢量生成的DC-XP/Tetramax和用于功耗分析的Primepower。小組使用了Avanti Apollo/Saturn 的布局規劃和時(shí)鐘樹(shù)綜合(CTS)技術(shù)、Mentor Graphics的Modelsim RTL 仿真技術(shù)和Cadence的NCVerilog 功能門(mén)仿真技術(shù)。 Celerity是用于Spice仿真的解決方案,而AssuraSI是用于信號集成分析的解決方案。
盡管這項任務(wù)很復雜,但是僅花了11個(gè)月就完成了4M-gate 5Mbit 的設計。目前,芯片已投入生產(chǎn),并作為首次推出的基礎設施的一部分,于2002年在歐洲首次使用。整個(gè)芯片是第三方和Agere設計經(jīng)驗的合作成果,Agere負責提供ARM子系統設計經(jīng)驗和芯片集成知識,而第三方提供特定用途知識產(chǎn)權。
本文不僅概括了小組在開(kāi)發(fā)設計過(guò)程中遇到的挑戰,還提供了對所采用的解決方案的深刻見(jiàn)解。使用的技術(shù)有Agere的0.16um 6LM (金屬層) 1.5V/3.3V處理,且連線(xiàn)到456 PBGAM數據包,以及Agere的內部EDA工具集、用于合成的Synopsys的設計編譯器、用于靜態(tài)時(shí)序分析的Primetime、用于測試插入和矢量生成的DC-XP/Tetramax和用于功耗分析的Primepower。小組使用了Avanti Apollo/Saturn 的布局規劃和時(shí)鐘樹(shù)綜合(CTS)技術(shù)、Mentor Graphics的Modelsim RTL 仿真技術(shù)和Cadence的NCVerilog 功能門(mén)仿真技術(shù)。 Celerity是用于Spice仿真的解決方案,而AssuraSI是用于信號集成分析的解決方案。
ARM966E-S子系統
本設計是分等級的,它將ARM966E-S子系統排在最低級別。子系統的結構如圖所示。
每個(gè)ARM966E-S子系統在每段設計里可使用2次,并同時(shí)添加第三方IP。而該段在設計中被復制4次。在層次的上一級也包括了第三方IP,最后,包括Agere所有的IO和測試結構。該結構在圖2中有說(shuō)明。使用該設計結構,Agere提出了SoC設計,即當設備中的最低核心電壓是1.32V,接合溫度達到125 攝氏度,且使用最慢處理特性時(shí),這種設計最少能容納1280 MIPS,是基于每個(gè)ARM966E-S核心160 MIPS的一種測量方法。在這些條件下,限制MIP數目的因素不是ARM966E-S核心(在這種技術(shù)下能達到200MIPs),而是指令/數據緊密耦合內存 (TCM)的大小和形狀,以及AMBA 高速總線(xiàn) (AHB)的物理長(cháng)度。在A(yíng)gere的最新技術(shù)(0.13um)里,已獲得不止兩倍的性能,同時(shí)使用AMBA 3.0 AXI協(xié)議,克服了AHB的局限性。
本設計是分等級的,它將ARM966E-S子系統排在最低級別。子系統的結構如圖所示。
每個(gè)ARM966E-S子系統在每段設計里可使用2次,并同時(shí)添加第三方IP。而該段在設計中被復制4次。在層次的上一級也包括了第三方IP,最后,包括Agere所有的IO和測試結構。該結構在圖2中有說(shuō)明。使用該設計結構,Agere提出了SoC設計,即當設備中的最低核心電壓是1.32V,接合溫度達到125 攝氏度,且使用最慢處理特性時(shí),這種設計最少能容納1280 MIPS,是基于每個(gè)ARM966E-S核心160 MIPS的一種測量方法。在這些條件下,限制MIP數目的因素不是ARM966E-S核心(在這種技術(shù)下能達到200MIPs),而是指令/數據緊密耦合內存 (TCM)的大小和形狀,以及AMBA 高速總線(xiàn) (AHB)的物理長(cháng)度。在A(yíng)gere的最新技術(shù)(0.13um)里,已獲得不止兩倍的性能,同時(shí)使用AMBA 3.0 AXI協(xié)議,克服了AHB的局限性。
子系統設計工藝基礎是Agere的 "AHB Supercore macrocell"。 Agere利用子系統的開(kāi)發(fā)經(jīng)驗,使Supercore滿(mǎn)足了SoC設計的要求。這就要求更改TCM配置,包括將部分數據TCM內存映射變?yōu)殡p口RAM。而且,增加了一個(gè)雙向的外部存儲接口(EMI) 和一個(gè)定制的矢量中斷控制器(VIC)。
測試設計功能性
一旦完成ARM966E-S子系統的RTL設計,Agere的工程師就創(chuàng )建了一套系統測試,以證明設計的功能性。除了可以測試ARM提供的矢量外,還可以測試合成的ARM966E-S核心的有效性。用于測試子系統的測試基準使用了Synopsys LMC (邏輯模型化公司)軟內存模式仿真TCM。
該測試組件還用于檢驗各個(gè)步驟的分塊合成和構造。一旦子系統設計人員確定了整個(gè)設計的合成,就會(huì )在融合到整個(gè)SoC設計前,將單獨的驗證結果傳給SoC設計人員。為了遵守ARM許可協(xié)議,無(wú)需ARM966E-S門(mén)級連線(xiàn)表,而是與ARM966E-S DSM系統仿真的DSM(設計仿真模式)一并傳給第三方。
這是一個(gè)復雜的SoC設計,不僅需要測試性能,還需要相關(guān)的調試。將BIST、SCAN和邊界掃描結構包含在內,才有可能對整個(gè)設計的高故障覆蓋生產(chǎn)進(jìn)行測試。如果需要調試,除了需要一個(gè)結構外,還需添加支持ICE在線(xiàn)仿真的ETM9 (內置的蹤跡模塊)。
尤其是掃描技術(shù),它不同于以往一次性?huà)呙枵麄€(gè)芯片的方法。每個(gè)分層的掃描都是單獨進(jìn)行的,然后合并起來(lái)進(jìn)入上一級。這里主要的工作區將所有以前掃描過(guò)的子模塊當作黑盒子來(lái)處理,直至插入了掃描。之后在填寫(xiě)設計連線(xiàn)表前,子模塊代替設計中的黑盒子,為上一級掃描和合并做準備。這個(gè)過(guò)程在4 種不同層次上都有重復。從設計開(kāi)始,Synopsys已發(fā)布了新版的設計編譯器,Agere用它成功掃描和編譯了許多復雜的分級設計,而無(wú)需精心制作的腳本。
邊界掃描結構設計使所有IO計時(shí)在IO和電壓轉換結構中都是可預料的。這應當通過(guò)創(chuàng )建IO緩沖和邊界掃描物理布局宏單元獲得。這些宏單元與Agere的BCADu軟件相結合,建立最高級IO連接。每種接入接出宏單元都轉換為正確的電壓,并接收不同的掃描輸入和輸出。
這就意味著(zhù)功能信號在核心內不會(huì )與掃描信號相混淆。從而,隨著(zhù)設計的進(jìn)行,實(shí)現從頂級透視預測整個(gè)時(shí)序。IO環(huán)設計的另一特性是將邊界掃描時(shí)鐘TCK發(fā)送給數據的另一端。這就消除了與TCK有關(guān)的任何保留時(shí)序問(wèn)題,同時(shí)意味著(zhù)不必擔心時(shí)序平衡和芯片外圍的TCK時(shí)鐘樹(shù)。
由于這種設備是基于A(yíng)RM的,且具有ICE性能,與IO邊界共享JTAG端口,所以需要進(jìn)行掃描。設計的TDO針需要在每?jì)蓚€(gè)測試結構間復用。為了實(shí)現這一特性,將邊界掃描控制器(Agere開(kāi)發(fā)的BCAD軟件部分)變?yōu)榭芍С诌吔鐠呙杌騃CE。
復雜設計需要足夠的調試性能
ICE和ETM性能都添加到SoCy設計中。在設計規格階段,為每個(gè)ARM966E-S提供一個(gè)獨立的ETM9,費用會(huì )很大,而且因為8 個(gè)ARM966E-S都具有同一功能,所以只需要其中的一個(gè)ARM966E-S。因此單個(gè)的ETM9放在核心最上層,并連接到單芯片的單ARM966E-S核心中,其它三個(gè)芯片的ETM接口未被連接。
SoC 設計的ICE性能需要依靠所有8個(gè)ARM966E-S核,能經(jīng)由設備的JTAG端口,通過(guò)TDI/TDO信號進(jìn)行通信。因為擁有多個(gè)JTAG端口的解決方案并不很實(shí)用,因而有必要利用ARM966E-S的菊花鏈通信性能。菊花鏈控制的說(shuō)明見(jiàn)圖3。菊花鏈系列連接要求在每?jì)蓚€(gè)ARM966E-S核間進(jìn)行數據傳送,并意味著(zhù)較低級別的TCK時(shí)鐘平衡變得重要了。為了使多ICE能以實(shí)用的調試速率運行,TCK時(shí)鐘樹(shù)必須首先在芯片間,然后在芯片內的ARM966E-S間達到平衡。
測試設計功能性
一旦完成ARM966E-S子系統的RTL設計,Agere的工程師就創(chuàng )建了一套系統測試,以證明設計的功能性。除了可以測試ARM提供的矢量外,還可以測試合成的ARM966E-S核心的有效性。用于測試子系統的測試基準使用了Synopsys LMC (邏輯模型化公司)軟內存模式仿真TCM。
該測試組件還用于檢驗各個(gè)步驟的分塊合成和構造。一旦子系統設計人員確定了整個(gè)設計的合成,就會(huì )在融合到整個(gè)SoC設計前,將單獨的驗證結果傳給SoC設計人員。為了遵守ARM許可協(xié)議,無(wú)需ARM966E-S門(mén)級連線(xiàn)表,而是與ARM966E-S DSM系統仿真的DSM(設計仿真模式)一并傳給第三方。
這是一個(gè)復雜的SoC設計,不僅需要測試性能,還需要相關(guān)的調試。將BIST、SCAN和邊界掃描結構包含在內,才有可能對整個(gè)設計的高故障覆蓋生產(chǎn)進(jìn)行測試。如果需要調試,除了需要一個(gè)結構外,還需添加支持ICE在線(xiàn)仿真的ETM9 (內置的蹤跡模塊)。
尤其是掃描技術(shù),它不同于以往一次性?huà)呙枵麄€(gè)芯片的方法。每個(gè)分層的掃描都是單獨進(jìn)行的,然后合并起來(lái)進(jìn)入上一級。這里主要的工作區將所有以前掃描過(guò)的子模塊當作黑盒子來(lái)處理,直至插入了掃描。之后在填寫(xiě)設計連線(xiàn)表前,子模塊代替設計中的黑盒子,為上一級掃描和合并做準備。這個(gè)過(guò)程在4 種不同層次上都有重復。從設計開(kāi)始,Synopsys已發(fā)布了新版的設計編譯器,Agere用它成功掃描和編譯了許多復雜的分級設計,而無(wú)需精心制作的腳本。
邊界掃描結構設計使所有IO計時(shí)在IO和電壓轉換結構中都是可預料的。這應當通過(guò)創(chuàng )建IO緩沖和邊界掃描物理布局宏單元獲得。這些宏單元與Agere的BCADu軟件相結合,建立最高級IO連接。每種接入接出宏單元都轉換為正確的電壓,并接收不同的掃描輸入和輸出。
這就意味著(zhù)功能信號在核心內不會(huì )與掃描信號相混淆。從而,隨著(zhù)設計的進(jìn)行,實(shí)現從頂級透視預測整個(gè)時(shí)序。IO環(huán)設計的另一特性是將邊界掃描時(shí)鐘TCK發(fā)送給數據的另一端。這就消除了與TCK有關(guān)的任何保留時(shí)序問(wèn)題,同時(shí)意味著(zhù)不必擔心時(shí)序平衡和芯片外圍的TCK時(shí)鐘樹(shù)。
由于這種設備是基于A(yíng)RM的,且具有ICE性能,與IO邊界共享JTAG端口,所以需要進(jìn)行掃描。設計的TDO針需要在每?jì)蓚€(gè)測試結構間復用。為了實(shí)現這一特性,將邊界掃描控制器(Agere開(kāi)發(fā)的BCAD軟件部分)變?yōu)榭芍С诌吔鐠呙杌騃CE。
復雜設計需要足夠的調試性能
ICE和ETM性能都添加到SoCy設計中。在設計規格階段,為每個(gè)ARM966E-S提供一個(gè)獨立的ETM9,費用會(huì )很大,而且因為8 個(gè)ARM966E-S都具有同一功能,所以只需要其中的一個(gè)ARM966E-S。因此單個(gè)的ETM9放在核心最上層,并連接到單芯片的單ARM966E-S核心中,其它三個(gè)芯片的ETM接口未被連接。
SoC 設計的ICE性能需要依靠所有8個(gè)ARM966E-S核,能經(jīng)由設備的JTAG端口,通過(guò)TDI/TDO信號進(jìn)行通信。因為擁有多個(gè)JTAG端口的解決方案并不很實(shí)用,因而有必要利用ARM966E-S的菊花鏈通信性能。菊花鏈控制的說(shuō)明見(jiàn)圖3。菊花鏈系列連接要求在每?jì)蓚€(gè)ARM966E-S核間進(jìn)行數據傳送,并意味著(zhù)較低級別的TCK時(shí)鐘平衡變得重要了。為了使多ICE能以實(shí)用的調試速率運行,TCK時(shí)鐘樹(shù)必須首先在芯片間,然后在芯片內的ARM966E-S間達到平衡。
評論