這個月初又走了一趟矽谷,這次訪問的主題則是「嵌入式IC設計」。看了看美國發展的狀況再想想台灣,我們雖坐擁IC設計第二大國的稱號,但想順利跨進系統單晶片(SoC)的世代,短期之內並不樂觀。
這有一些供需面的因素。首先就需求面的大環境來看,目前可攜式電子設備幾已成為市場主流,其強調輕薄短小的特點,對SoC設計無礙是一大誘因;但往深一層看,因這些行動設備走向市場區隔化,整體的需求量相對有限,能否撐起龐大的SoC開發成本,也讓業者質疑而卻步。
其次是產業供給面上的問題。所謂SoC即是強調將更多樣的IP都兜到一顆晶片當中,但真要能做到卻是障礙重重。就算先撇開射頻、基頻等在製程上的重大差異,要把同為邏輯功能的微處理器、控制元件、I/O及記憶體放在一塊,除非都是同一家廠商的技術,否則還真不知由誰來整合誰才好?當然,這除了牽涉到技術的瓶頸外,更大的問題還在於商場上的角力──這也是為何IDM大廠是目前SoC成果最斐然的廠商。
若回歸到技術面上,伴隨SoC的發展,我們可以聽到像是“Building Block”、“Platform-based Design”等新藍圖、新願景,乃至於更動人的“Plug & Play”(隨插隨用)口號,宛如把晶片設計當做PC的組裝一般,彈性十足。但以目前半導體產業的設計、製造流程來看,口號仍然只是口號,要真能達到上述的境界,整個產業還得有一套新的設計方法學(Methodology)。
現行的硬體設計語言Verilog或VHDL遇到愈來愈複雜的系統級設計,已顯得捉襟見肘。在系統級的設計中,軟/韌體與硬體的設計需要同時考慮,要達成這樣的目的,半導體產業有必要採用更高階的設計語言,如C/C++,或System C。
透過更高階的語言,才能更全面的觀照整個設計流程,並讓工程師將更多精力用在更有意義的演算法(如MPEG4)變動上,而非整天陷在閘道電路的除錯中;其次則是能提供自訂IP種類、處理器效能,以及高速最佳化模擬的能力,並能在除錯或功能修正時,提供軟、硬體兼顧的回頭修改能力,真正達到「隨插隨用」,甚至是貫穿IC設計、封測,乃至於PCB、系統產品的理想境界。
當然,目前高階語言對硬體描述的精確性仍不足,要做到輸入需求規格,即可預見晶片或系統產品在生產線另一端成形的自動化境界,恐怕還有得等。但已可見到有廠商(如Tensilica)大力擁抱高階語言,並在自己的定位(如處理器核心)上解決高階與硬體語言溝通的障礙,甚至願意將原始碼開放,進而組織聯盟(如Eclipse),以加速半導體業對此一新方法學的認識與信心。我們樂見其成並期待能激起更大的迴響,吸引更多業者投入,並無私的彼此整合。
回過頭來再看台灣,這些年來我們雖也自行開發了不少IP,但在SoC的設計中,不論是處理器核心或匯流排管理等明星IP,或是EDA流程工具,乃至上述的高階語言系統化控制等,對於這些發展關鍵我們仍然掌握地太少。因此即使政府推動的IP Mall能順利解決台灣廠商IP交易的心結,但要掌控SoC晶片的開發還是相當不易。不過我們也無需妄自菲薄或自我設限,只要與全球的領先技術緊密接軌,即使不是「先知先覺者」,但也能穩紮穩打地過渡到下一個「整合」的年代。