電子科技新旋風:矽晶圓上的電子城市–系統晶片設計
94/09/06
瀏覽次數
10277
馬金溝|
工業技術研究院系統晶片技術發展中心
什麼是系統晶片
系統晶片(system-on-chip,SoC)有著各式各樣的名稱,晶片系統、單晶片系統或系統(單)晶片。不論叫什麼,都可以看出是:由於積體電路製程的進步,一個完整的系統,例如整個電腦或整部 DVD,可以放到一個晶片(chip)裡,這就叫SoC。因此把系統所有的功能方塊,如中央處理器、記憶體、數位信號處理器、快閃記憶體、邏輯電路、輸出入功能方塊等整合在一個晶片裡,就叫作系統晶片。
但這與大家所熟悉的超大型積體電路(VLSI)有何不同?為什麼又特別叫作系統晶片?這到底有什麼意義呢?
我們知道,近年來市場上產品翻新的速度相當快,也被要求須輕薄短小、功能多樣化。而積體電路製程技術在經過近半個世紀之後,已從幾個微米的技術進入0.25微米,再至0.18微米,更向0.1微米,甚至奈米尺度前進。尺寸的縮小使晶片內電晶體的容量每年成長約58%,恰如摩爾定律所預測的,製程技術每2年就精進一倍。理論上,每單位尺寸縮小一半,晶片面積應縮小成四分之一,所以在原來的面積內,應可放置4倍的電晶體,也就是數以百萬計的電晶體電路可放在一個晶片上。
因此對現有特定應用積體電路設計廠商而言,他們已可把很多功能方塊都放到單晶片內。但如果系統晶片只是把很多功能方塊放到晶片裡,那系統晶片就像是因製程進步必然產生的結果。事實並非如此,因為現有的設計技術趕不上製程技術,所以設計與製程之間其實有一個相當大的斷層。簡單地說,系統晶片設計就是要在極短的時間內,把一個功能繁複的應用系統放到一顆晶片裡的技術。
系統晶片(SoC)是具備系統級整合的晶片,也就是說SoC是一個供應特定用途的積體電路,其中須包含運算功能,如微處理器核心、數位訊號處理器核心、影像處理器—MPEG核心或繪圖核心等,再加上記憶體、邏輯電路、輸出入電路與其他連接電路,整個電路包含了百萬個以上的邏輯閘。綜合來說,SoC是一個把原本分處在不同晶片上,負責不同功能的IC元件整合在單晶片上,這種晶片被視為是一個已包含了完整功能的系統。Zoran晶片的DVD 記錄器就是 SoC產品的一個例子。
系統晶片的特性
現今系統產品的發展有如下的趨勢:
產品生命周期縮短 隨著消費市場的需求變化日趨快速,系統廠商必須在更短時間內開發出功能更新的產品,以擴大市場占有率。因此系統產品的開發時程勢必縮短,以期在產品成熟期前進入市場,使產品獲利的時間能有效延長。
輕薄短小 目前可攜式的系統產品日益增加,如行動電話、個人數位助理(PDA)、筆記型電腦等,而這些產品都需要有更小巧的外型及更輕的重量,以滿足攜帶方便的需求。
耗電量低 對攜帶式產品而言,如何有效延長電池使用的時間,使電池更換的頻率降低,是各廠商費盡心思,積極投入發展的方向。
低價格 由於市場競爭劇烈,加上產品生命周期縮短,系統產品價格滑落的速度相當快,因此廠商必須有效控制成本,以提高產品的獲利能力。
高效能 雖然產品的價格滑落迅速,但消費者對品質的要求並未降低,因此系統廠商對所使用元件的效能要求也相對提高。
功能整合 目前系統產品已不局限於僅提供單一的功能,就發展的趨勢來看,產品必須提供更多樣性的功能,例如整合行動電話與PDA功能的智慧型行動電話,或具備DVD放影機功能的電視遊樂器,而具備網際網路接取的功能,也會成為各類型系統產品的主要目標。
多C整合 電腦處理、通訊、消費性產品、數位多媒體等多C整合,已不再是遙不可及的夢想。低價格、高效能、省電、輕薄短小,並且提供多C整合功能的產品,已能透過系統晶片在市場上占有一席之地。
要在極短的時間內設計出如此繁複功能的系統晶片,設計者必須利用可重複使用的矽智財,再配合平臺式的設計方式,才不會因為晶片的複雜性太高而延遲設計時程,讓使用該系統晶片的產品可以及時進入市場。
早期蓋房子是一磚一瓦慢慢地堆疊,但這樣的技術無法應付現代蓋高樓大廈的需求,現在的方式都是先蓋鋼架(平臺),再把窗戶、門、房間、浴室、廚房等功能組塊(矽智財)加上去,這樣就可快速完成一棟高樓大廈(系統晶片)。同樣地,蓋一個城市也可先蓋區塊,如住宅區、商業區、生活區、娛樂區、教育區、工業區、交通網等,以及連接架構(平臺),再把每個完整區塊內容(矽智財)加上去,便可快速完成一個城市的開發建置。
SoC設計與典型的特定應用積體電路設計最大的不同,在於後者只需考量單一IC應具備的功能與規格,再配合製程的可行性,按照一般的流程就可完成整個設計工作。
而一個完整的SoC設計,除了晶片規格的確定之外,還必須同時考慮該晶片的軟硬體需求,以及在該晶片上為了執行不同功能所需的電路布局、電源消耗、散熱、設計完成所需時間等細節。還有如何整合不同功能在單一晶片上,以及製程中可能遭遇的問題,也應在設計階段就加以考量。因此,整個工作所需考量的因素,遠較特定應用積體電路以單一晶片執行單一功能的設計更加複雜。
另外,系統晶片也須具備可規格化或可程式化的能力。由於未來的標準、規格與功能都會隨需求而快速地變化,可規格性與可程式性可使產品在不更動內部電路的情況下達到變更的目的,如此對產品開發者與使用者都有利。而提供平臺及可重複使用矽智財的概念,更可使設計業者有效減少新產品開發的時程,提高生產力。
如何設計SoC
前面已提到,SoC 除了要利用製程技術把各個功能愈趨複雜的系統方塊整合入一個晶片外,另一個重要的目標,就是要縮短晶片的設計時程與製程技術間的斷層。產品市場生命周期短、推陳出新快,又有輕、薄、短、小、省、廉、多、慧等需求,因此SoC設計技術除了一定要重新思考如何快速地把各個愈趨複雜的系統方塊,含軟體和硬體,整合入一個晶片外,也必須考慮改變現行特定應用積體電路的設計方法,才能趕上製程技術的精進,縮短兩者之間的距離。
積體電路設計技術,可分為三大發展段落,就是以時序為基礎的設計(timing-driven design,TDD),以功能組塊為基礎的設計(block-based design,BBD),和以平臺為基礎的設計(platform-based design,PBD)。
以時序為基礎的設計 對中尺寸與中複雜度的特定應用積體電路設計而言,以時序為基礎的設計(TDD)可說是最適當的設計技術。TDD設計技術主要是直接設計深次微米製程技術的新邏輯方塊。在這之前是以面積為基礎的設計技術,而為了求得較小的IC面積,邏輯簡化是最主要的工作,設計工程師發揮他們的技術使得整個設計最簡小化,但仍必須考慮功效與電力的需求。
以功能組塊為基礎的設計 由於製程技術的精進,整合度愈來愈高,系統晶片也愈來愈複雜,從每個功能方塊一步一步設計的方法已漸不符合實際需求。為提升設計產出,一種可增加功能方塊再使用機會的新設計方法,也就愈顯得迫切需要。以功能組塊為基礎的設計(BBD)技術,是系統層次的行為模式設計技術,這時軟、硬體的取捨,和系統功能組塊的軟硬體共同驗證,都會較為可行。在這種情況下,SoC設計可把系統分割成對應至各特定功能組塊的架構,而各特定功能組塊再依所分配到的執行時間、功耗、尺寸大小來設計。
在BBD技術裡,可看到愈來愈多的系統功能組塊的再使用,但這些再使用系統功能組塊卻有非最佳化、不易更動、須再驗證等問題。因此可程式處理器核心模塊,如嵌入式微處理器,就漸被考量包含在系統晶片設計裡。由於SoC設計複雜度高,因此在BBD系統架構裡常用匯流排的結構和建入式自我測試等設計。
由於採用從上而下的設計,使得可階層式地分配和分析系統功能組塊。BBD技術需要一個有效的系統功能組塊分配和分析機制,以便很快地估計和分配每個功能組塊的預算,在預算分配時也須注意使彼此的介接可達收斂。這種設計技術非常有效,但碰到一些功能組塊,像記憶體、混合訊號功能組塊、處理器等時,就很難運作。
以平臺為基礎的設計 以平臺為基礎的設計(PBD)會是下一代設計的主流技術,它主要是讓整個SoC設計可達熱插拔的方法。PBD技術累積了TDD和BBD技術的功能,並擴充了設計重複使用及階層化的能力,除了可減少第一代上市的設計時程,還可讓衍生系列的產品快速上市。不論是PBD或BBD,都須採用階層式設計法則,也就是須從系統階層往下設計,而兩者最主要的差別在於PBD強調的是可擴充性和可重複再使用設計,而這些可掌控的可先期驗證系統功能組塊,是訂定有介面標準的。這些系統功能組塊如果有再使用的規畫與設計,將來需要修改的情形就不會發生,如此可顯著提升設計生產率。在PBD的SoC設計時代,可預期SoC設計只會專注兩項工作:功能組塊管理與系統階層設計及整合。
由於PBD所需的功能組塊有各式各樣的型態,因此在功能組塊管理的工作裡,如何界定這些型態的介面標準以滿足不同應用系統設計需求,是一件最主要的工作。為使設計有效率,有兩個設計觀念非常重要,一定要建立,即功能組塊介面標準與利用虛擬矽智財組塊的虛擬系統設計方法。
介面標準的建立,能使公司內部或跨公司設計團隊的合作順利進行。而虛擬系統設計方法常能針對一些問題提供很好的解決方案,例如必須提供怎樣的功效藍圖?是否需要提供多家製程測試選擇?應選用硬、韌或軟系統功能組塊或它們的混合?系統功能組塊能否重組或改變其幾何形狀?系統功能組塊只能與一種匯流排介接、可與多種匯流排介接、或用網路方法連接?系統對於各種不同運作時序和內部的同運作時序樹,是否有足夠的可變性?
可再使用智財有四種模式:特製、共通資源、核心和虛擬。可再使用的虛擬矽智財組塊的類型,又可區分為明星型、標準型及基礎型三種。
明星型的產品設計與開發時間長、進入障礙高、競爭者少,包括微處理器、微中央控制器、數位信號處理器等較為複雜的IC元件都是這種設計,產品應用在消費性電子與通訊領域,附加價值較高。標準型的產品是指符合產業標準的產品,包括USB2.0、IEEE1394、MPEG-2/4等。而基礎型的產品與製程相關性高且價格低廉,包括一些功能組織資料庫(cell library)、邏輯閘陣列(gate array)及輸出入(I/O),臺積電與聯電等晶圓代工廠甚至也會免費提供這些低價智財給客戶。
從可再使用智財的四種模式,以及與TDD、BBD及PBD設計技術演進的關聯,可以看出剛開始時是有機會再使用就多加利用,但最終一定要使其成為系統晶片設計的習性,如此才能達到縮短SoC設計的時間,與確保整個設計準確和成功。
虛擬矽智財組塊是由積體電路設計業者或系統整合設計大廠投入大量的研發費用,設計一些IC元件與其他元件配合,組合而成具備特定功能的系統組合方塊。透過可重複使用電路設計特性及以平臺為基礎的系統晶片設計技術,可節省SoC設計時間,並提高SoC設計的成功率,對SoC的發展具有極大的助益。
先前介紹了SoC的設計方法,過去的歷史告訴我們,一個設計公司的成敗往往取決於該公司的研發團隊能否很快地轉入新設計技術與流程,如不能很快轉進,會被市場洪流所淘汰。而SoC設計除了利用製程技術的精進,把各個愈趨複雜的系統功能組塊設計整合入一個晶片外,另一個目標是縮短晶片的設計產出時程,並確保複雜的SoC能準確地設計成功。
通訊與消費性電子產品是下一波電子產品主流,而這類產品市場生命周期短,又要滿足輕、薄、短、小等多項需求,因此SoC設計技術除了必須思考如何快速地把各個愈趨複雜的系統功能方塊設計整合入一個晶片外,也必須改變現行特定應用積體電路的設計方法,才能趕上製程技術的精進。而以可重複再使用虛擬矽智財組塊平臺為基礎的SoC設計技術,是下一世代SoC設計技術的主流,臺灣要成為全球SoC設計與服務中心,IC設計產業應努力朝這項設計技術發展。