采用0.13微米工藝實(shí)現(xiàn)低成本多處理器平臺(tái)
1994 年 12 月,教育電子公司 VTech 和 IP(知識(shí)產(chǎn)權(quán))開(kāi)發(fā)商 Koto 委托LSI Logic公司創(chuàng)建一個(gè)多處理器 SoC,以運(yùn)行 VTech 的 VFlash “寓教娛樂(lè)系統(tǒng)”(圖 1)。LSI Logic 過(guò)去是一家 ASIC 供應(yīng)商,一直在向銷售標(biāo)準(zhǔn)產(chǎn)品過(guò)渡。因此,當(dāng) VTech 委托 LSI創(chuàng)建SoC 時(shí),LSI 的管理層決定拋棄傳統(tǒng)的 ASIC 設(shè)計(jì),而采用一種 通用多媒體處理器平臺(tái)。
Zevio 項(xiàng)目架構(gòu)師 Shinya Fujimoto 稱,他的 LSI 設(shè)計(jì)團(tuán)隊(duì)必須在幾項(xiàng)約束下工作:建立一個(gè)通常模塊化的多處理器平臺(tái),這樣 LSI 工程師可以通過(guò)塊的交換,快速創(chuàng)建出派生產(chǎn)品;采用成熟的 0.13 微米低功耗工藝技術(shù)實(shí)現(xiàn) SoC,使成本保持在合理的低位,并且仍能達(dá)到性能與功耗目標(biāo);最后,在九個(gè)月內(nèi)完成初始SoC平臺(tái)。
Fujimoto 說(shuō):“我們的背景是從事消費(fèi)類ASIC。我們做過(guò) PlayStation 和 PlayStation2 中的芯片,以及某些 iPod 設(shè)計(jì),并且,在這些產(chǎn)品開(kāi)發(fā)期間,我們注意到自己在重復(fù)調(diào)整芯片中非關(guān)鍵部分時(shí)花費(fèi)了大量時(shí)間。這就是我們決定開(kāi)發(fā)這一架構(gòu)的原因。”
Fujimoto 稱,定義 Zevio 架構(gòu)的第一步是要符合 VTech 和 Koto 的系統(tǒng)架構(gòu)。他說(shuō):“我們?cè)噲D從客戶那里獲得盡量多的反饋乃至抱怨,以確定設(shè)計(jì)過(guò)程中的潛在瓶頸?!?BR>
Fujimoto 稱,Zevio 不是一個(gè)典型的應(yīng)用處理器(圖 2)。他表示:“我把它叫做一個(gè)異種多處理器。它有多個(gè)處理器,它們各不相同,但并行運(yùn)行,每個(gè)處理器都專門完成一些自己擅長(zhǎng)的任務(wù)?!?BR>團(tuán)隊(duì)確定,SoC將包括一個(gè)用于一般處理的ARM9處理器。LSI小組將創(chuàng)建一個(gè)定制的圖形處理器,以及音頻控制器核與內(nèi)存控制器核,而設(shè)計(jì)將包括一個(gè)LSI Logic的ZSP DSP核,用于完成更多的即時(shí)解碼與編碼型應(yīng)用。據(jù)Fujimoto說(shuō):“對(duì)我們來(lái)說(shuō),關(guān)鍵是讓多個(gè)處理器獨(dú)立地運(yùn)行?!边@意味著,每一個(gè)處理器都是自己的主控者,無(wú)需CPU干預(yù)就可完成自己的運(yùn)行?!拔覀儽仨毚_定它們都能高效地運(yùn)行,不會(huì)造成總線或內(nèi)存的瓶頸問(wèn)題?!?BR>
采用成熟的低功耗 0.13 微米工藝(從一家未披露名稱的臺(tái)灣伙伴處獲得)做設(shè)計(jì)實(shí)現(xiàn),而不是采用 90 納米或 65 納米工藝,這有助于保持芯片的低成本,穩(wěn)定電源管理,并且避免使用 DFM(可制造性設(shè)計(jì))工具,所有這些都加快了設(shè)計(jì)進(jìn)程。Fujimoto 稱,該芯片面向成本低于 100 美元的系統(tǒng)應(yīng)用。“任何人都可以造出一款巨大的芯片,但有些人正在努力掙扎,尤其是那些無(wú)名的視頻游戲供應(yīng)商,因?yàn)樵黾拥男酒杀径家M(jìn)入消費(fèi)產(chǎn)品費(fèi)用中?!?BR>
Fujimoto 指出,很多公司過(guò)快地跳到了最新最好的工藝,而他們本可以用更成熟和更穩(wěn)定的工藝完成更多任務(wù),例如用 0.13 微米工藝?!坝行┤瞬豢紤] 0.13 微米,認(rèn)為它比較低端,但我們感覺(jué)可以通過(guò)智能工程化建立一個(gè)高端設(shè)計(jì)??蛻魰?huì)從競(jìng)爭(zhēng)者那里聽(tīng)到很多有關(guān)高性能的故事,這個(gè)那個(gè),全是一些浮夸的詞藻。但到最后,還是要?dú)w結(jié)到花了錢就要獲得最好結(jié)果?!彼麍?jiān)持認(rèn)為,0.13 微米工藝的成熟、成本、性能構(gòu)成了最佳選擇。
LSI 希望 Zevio 成為一個(gè)可重用平臺(tái),而不只是一片 ASIC,于是一個(gè)關(guān)鍵的要素是建立一個(gè)獨(dú)特的內(nèi)核,可以將它與一系列 LSI 甚至第三處方供應(yīng)商的內(nèi)核結(jié)合起來(lái)。但是,架構(gòu)規(guī)范的一個(gè)主要部分是新式圖形處理器內(nèi)核設(shè)計(jì)。LSI 與 IP 供應(yīng)商 Koto 合作開(kāi)發(fā) Zevio 的 3D 圖形處理內(nèi)核。Fujimoto注意到,以前曾有多個(gè) Koto 工程師在任天堂 GameBoy 設(shè)計(jì)團(tuán)隊(duì)中工作。Fujimoto 說(shuō) LSI 在這個(gè)領(lǐng)域中幾乎沒(méi)什么閱歷,因此歡迎 Koto 的經(jīng)驗(yàn)?!八麄?yōu)檐浖_(kāi)發(fā)人員需要的特性提供了大量經(jīng)驗(yàn),幫助我們將很多這類技術(shù)訣竅轉(zhuǎn)化為硬件?!?BR>
Koto 的團(tuán)隊(duì)完成了大部分規(guī)范工作,并對(duì)內(nèi)核做了驗(yàn)證,而 LSI 設(shè)計(jì)者則負(fù)責(zé)內(nèi)核的設(shè)計(jì)和 RTL 實(shí)現(xiàn)。16位的3D圖形內(nèi)核只需要 30萬(wàn)個(gè)門,在 75 MHz 運(yùn)行時(shí)功耗為20mW,每秒可以畫 150 萬(wàn)個(gè)多邊形。
Fujimoto 指出,其它潛在的瓶頸是內(nèi)存控制器及其與系統(tǒng)內(nèi)存的接口。據(jù)芯片設(shè)計(jì)者講,雖然他們很容易做出一個(gè)32位總線接口,使之快速運(yùn)行并得到所需性能,但 LSI 必須考慮如何從一個(gè)16位接口內(nèi)存獲得相同的性能,以實(shí)現(xiàn)好的成本效益。
設(shè)計(jì)團(tuán)隊(duì)必須從頭設(shè)計(jì)一個(gè)高效的控制器內(nèi)核,它將采用一個(gè)16位 接口,并且考慮了效率仲裁(圖3)。Fujimoto 稱:“當(dāng)查看一個(gè)16位接口時(shí),我們關(guān)心的是獲得一個(gè)很好的時(shí)序窗口,以便向SDRAM 發(fā)送很多指令?!盕ujimoto指出,控制器可以在每個(gè)總線時(shí)鐘周期取得兩個(gè)字?!拔覀兩暾?qǐng)了該技術(shù)的專利。它使我們能夠有效地用這些時(shí)序槽打開(kāi)多個(gè)內(nèi)存庫(kù)?!盕ujimoto認(rèn)為這一進(jìn)展是架構(gòu)中的關(guān)鍵創(chuàng)新。
團(tuán)隊(duì)編寫控制器的 RTL,然后運(yùn)行概念驗(yàn)證仿真。他說(shuō):“我們看到了很多優(yōu)于典型內(nèi)存控制器設(shè)計(jì)的改進(jìn)。在這個(gè)階段,我們證明了可以在一個(gè) 16位接口上獲得良好的性能。”
Fujimoto 稱,接下來(lái),團(tuán)隊(duì)要查看有關(guān)的總線協(xié)議瓶頸。他們決定 采用流行的 ARM AMBA(先進(jìn)微控制器總線架構(gòu))AHD(AMBA 高速總線)協(xié)議,但必須尋找克服AHB中部分低效的方法。他說(shuō):“我們必須看到,它無(wú)法突發(fā)式寫入隨機(jī)地址,并且不能規(guī)定足夠多的突發(fā)寫入?!睘榱私鉀Q這些問(wèn)題,團(tuán)隊(duì)自己編寫了 AHB 擴(kuò)展,使內(nèi)存控制器的效率翻了一倍。
在解決了規(guī)范階段的多數(shù)問(wèn)題以后,設(shè)計(jì)團(tuán)隊(duì)(其時(shí)有10個(gè)~15個(gè)設(shè)計(jì)與驗(yàn)證工程師)開(kāi)始作RTL設(shè)計(jì)。Fujimoto將他的團(tuán)隊(duì)劃分為多個(gè)小組。他說(shuō):“一個(gè)小組專注于內(nèi)存控制器,一個(gè)管圖形內(nèi)核,另一個(gè)做音頻內(nèi)核,其它小組負(fù)責(zé)整體集成?!?BR>
Fujimoto稱LSI的傳統(tǒng)方法是讓每個(gè)小組作設(shè)計(jì),然后驗(yàn)證各個(gè)單獨(dú)的塊,最后用仿真器將這些塊與系統(tǒng)中的其它核作驗(yàn)證。但他的團(tuán)隊(duì)這回首次采用了一種FPGA原型化系統(tǒng),對(duì)圖形核、內(nèi)存控制器和一個(gè) LSI 開(kāi)發(fā)的音頻處理器作驗(yàn)證和軟、硬件的確認(rèn)。
Fujimoto說(shuō):“在一個(gè)仿真環(huán)境中驗(yàn)證這個(gè)設(shè)計(jì)可能會(huì)有太多的極限情況。這是我們第一次采用FPGA原型化系統(tǒng)?;叵肫饋?lái),我們應(yīng)該在設(shè)計(jì)早期對(duì)各個(gè)內(nèi)核多做一些驗(yàn)證?!盕ujimoto回憶說(shuō),一旦FPGA系統(tǒng)工作起來(lái),事情就會(huì)進(jìn)展得很快:“當(dāng)我們遇到問(wèn)題時(shí),我們可以在連接到 FPGA 原型板的 LCD 屏幕上看到它。我們可以簡(jiǎn)單地停下調(diào)試器,查看錯(cuò)誤發(fā)生處的內(nèi)部寄存器?!?BR>
小組還找到了一些后來(lái)證明是 FPGA 編程軟件中的錯(cuò)誤(而不是設(shè)計(jì)的)。Fujimoto 說(shuō):“我們并不知道正在對(duì)付的錯(cuò)誤是否是工具供應(yīng)商造成的。FPGA 供應(yīng)商提供的 FIFO 控制器也有問(wèn)題?!?BR>
Fujimoto 指出,圖形小組在規(guī)范階段創(chuàng)建了一個(gè)圖形核的 C 模型。Fujimoto 說(shuō):“我們本可以用這個(gè) C 模型作驗(yàn)證,但要做太多工作才能更新 C 模型和 RTL?!彼赋觯绻悴捎靡环N固定的規(guī)范,則可以用 C 模型方法,此時(shí)可以用 C 模型輸出來(lái)驗(yàn)證 RTL 的輸出。但在 LSI 的案例中,當(dāng)開(kāi)始 RTL 時(shí)規(guī)格并未全部完成。他說(shuō):“一旦我們的 FPGA 系統(tǒng)開(kāi)始運(yùn)行了,我們就拋棄了 C 模型?!碑?dāng)設(shè)計(jì)在 FPGA 原型化系統(tǒng)上穩(wěn)定下來(lái)時(shí),小組還開(kāi)始了驅(qū)動(dòng)程序的初步開(kāi)發(fā)。
原型電路板成為了驗(yàn)證電路板的基礎(chǔ),LSI 現(xiàn)在向希望用 Zevio SoC 開(kāi)發(fā)其它系統(tǒng)的客戶提供這塊驗(yàn)證板。當(dāng)小組的 RTL工作穩(wěn)定下來(lái)后,便運(yùn)行一個(gè)試驗(yàn)綜合和一個(gè)試驗(yàn)布局,在初步布局的一部分中填充“空門”,以獲得有關(guān)區(qū)域與核尺寸的一個(gè)粗略思路。Fujimoto 稱他的團(tuán)隊(duì)由Synopsys 作綜合,而由Magma 作布局和布線。
Fujimoto 稱,實(shí)驗(yàn)布局對(duì)確定內(nèi)存塊的正確布放尤其重要。設(shè)計(jì)中帶有 240 kB SDRAM。因此,Zevio 布局小組必須與 RTL 小組一起工作,將各個(gè)塊分解,以保證多個(gè)核能夠高效地訪問(wèn)內(nèi)存,而不致占用太多的布局空間。他說(shuō):“我們有這么大的內(nèi)存,但我們同時(shí)允許圖形引擎和 DSP 訪問(wèn)相同的內(nèi)存。在功能寄存器中,我們指定了哪個(gè)核有權(quán)訪問(wèn)內(nèi)存,哪個(gè)將訪問(wèn),這樣我們就必須為 DSP 和圖形引擎預(yù)先定義某些段?!睘閷?shí)現(xiàn)這個(gè)目標(biāo),布局與 RTL 小組通過(guò)多次重復(fù),確定了內(nèi)存的最佳布局。最后,整個(gè) Zevio SoC 包含200萬(wàn)個(gè)門。
為保持設(shè)計(jì)低功耗,小組采用了一個(gè)多電壓閾值的 0.13 微米庫(kù)。Fujimoto說(shuō):“我們的想法是,將整體設(shè)計(jì)用所有低泄漏、低性能門作綜合,然后確定時(shí)序中的瓶頸和關(guān)鍵路徑,并將這些路徑轉(zhuǎn)換為高速門?!蓖ㄟ^(guò)這個(gè)過(guò)程,團(tuán)隊(duì)就能夠?qū)崿F(xiàn)低泄漏與高性能晶體管的正確混合。
Fujimoto 稱物理驗(yàn)證和設(shè)計(jì)出帶都相當(dāng)順利?!霸凸杵貋?lái)了,三天以后,我們所有的演示都在實(shí)際系統(tǒng)上運(yùn)行起來(lái)??蛻裟軌蛱崆耙恢芑丶?。采用成熟的技術(shù),以及在過(guò)程的早期作驗(yàn)證和預(yù)備工作,所有這些都得到了真實(shí)的回報(bào)?!?
電路板開(kāi)發(fā)的快速“結(jié)束”也意味著 VTech 的軟件小組可以快速地進(jìn)入產(chǎn)品開(kāi)發(fā)階段,最終使 VTech 在 2006 年圣誕期間及時(shí)將系統(tǒng)推向市場(chǎng)。
但是,VFlash 并非 Zevio 系列產(chǎn)品的唯一應(yīng)用。事實(shí)上,F(xiàn)ujimoto 稱由于設(shè)計(jì)團(tuán)隊(duì)創(chuàng)建的 SoC 模塊化,LSI 可以為其它客戶的應(yīng)用作修改。Fujimoto 說(shuō):“我們平臺(tái)的設(shè)計(jì)目標(biāo)是,只需六個(gè)月就能創(chuàng)建出派生的平臺(tái)?!?BR>
他指出,模塊化平臺(tái)使用戶能夠相當(dāng)容易地將 ARM 核換成 MIPS 核,因?yàn)?LSI 同時(shí)擁有兩者的許可。用戶還可以換用一些外設(shè)核。LSI 正在為系統(tǒng)增加 USB 支持。Fujimoto 稱,下一代 Zevio 平臺(tái)也將很快用 DDR 代替 SDRAM。雖然 Koto 為平臺(tái)創(chuàng)建了最初的操作系統(tǒng),但 LSI 正在擴(kuò)展該平臺(tái)支持的操作系統(tǒng)數(shù)量,現(xiàn)在可以工作在 Linux OS 和 Windows CE 上。
Fujimoto稱,他的團(tuán)隊(duì)已在 Zevio 上為一個(gè)匿名客戶完成了另一個(gè)項(xiàng)目。他說(shuō),硅片已經(jīng)生產(chǎn),但該客戶還沒(méi)有推出產(chǎn)品。
LSI 在 2004 年 12 月開(kāi)始 Zevio 規(guī)范的制定過(guò)程,在 2005 年底啟動(dòng)設(shè)計(jì),在 9 個(gè)月后的 2006 年 9 月進(jìn)入生產(chǎn)。
Zevio 項(xiàng)目是消費(fèi)市場(chǎng)中成功的又一個(gè)案例,說(shuō)明成功并非總是意味著采用最新最好的工藝技術(shù)實(shí)現(xiàn)最快的 SoC。LSI 的團(tuán)隊(duì)在架構(gòu)階段作了大量規(guī)劃,并在整個(gè)過(guò)程中做了一些創(chuàng)新的工程實(shí)踐,建立了一個(gè)比較強(qiáng)大而有性價(jià)比的平臺(tái),幫助 VTech 抓住了市場(chǎng)窗口,LSI 也獲得了一個(gè)幫助其它客戶實(shí)現(xiàn)商機(jī)的通用工具。我們頗有興趣的是 LSI 會(huì)在多長(zhǎng)時(shí)間內(nèi)將 Zevio 繼續(xù)作為可行平臺(tái),以及能為其它客戶創(chuàng)造出多少派生產(chǎn)品。
評(píng)論