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