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