帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
晶片設計技術的再升級
 

【作者: 誠君】   2002年04月05日 星期五

瀏覽人次:【6848】

系統單晶片(SOC)已經是晶片設計業者的下一波成長動力。可是隨著晶片設計尺寸的不斷縮小,對實體和邏輯設計的管理變得越來越困難。一個分層的、基於模組的設計流程有助於設計管理,並可使需求規劃和模組層的協同設計成為可能,本文介紹一種使ASIC設計人員和半導體廠商間可以密切合作,從而加速SOC開發的設計方法。


為了滿足時序要求,系統單晶片的設計人員需要利用多種設計方法、流程和工具。現在的實體合成工具能夠處理從RTL到GDSII的模組級時序收斂問題。不過,IC設計人員面臨的新挑戰出現在晶片級(chip level),包括多供電電壓支援、多個軟模組的分層整合、分層信號與設計完整性,還有時間延遲預估問題。由於許多功能模組和內核都是在晶片級整合的,因此板級(board level)問題會遺留給晶片級,這是不可避免的。下一代工具必須處理這些晶片級的問題,以確保SOC設計能經過最少的重覆設計迴圈,以快速完成。


晶片開發程序

晶片開發的程序可區分為六個階段:


階段一:需求規劃

針對客戶需求提出解決方案和規格計畫書,這包含:功能方塊圖、接腳數量和腳位、以及其它特殊需求,這規格計畫書一旦被客戶認可後,即成為設計合約的一部份。另依據此規格就可開出估價單。


階段二:設計與驗證

在交付晶圓廠生產前,必須先完成原型(prototype)設計。透過模擬和實際環境的測試,可以確保未來量產出來的晶片能完全符合客戶的需求。在此階段時,為了要驗證系統的性能,可能要為軟體和韌體設計執行平台,因此需要主機板、數個FPGA和其它元件。這些驗證工作可以使用VHDL RTL工具,將數據合成至FPGA或矽片上。當客戶滿意原型設計之後,雙方簽署設計同意書,晶片設計商就再將數據合成一次,並整合至選定的製程技術中,產生網表(netlist)提供下一階段使用。


這個階段產生的模擬式合成數據將會和未來的真實式晶圓合成數據相比較,以確保模擬出來的晶片功能和生產出來的晶片功能都一樣。


階段三:晶片電路佈局(layout)

在此階段,任何特殊的輸出入儲存格(IO cells)將被生產出來。有時為了節省時間,輸出入儲存格的生產可以併到第二階段時實施。當第二階段產生網表後,就可以轉成電路佈局,這電路佈局是定義每個矽層的電路模式。電路佈局完成後,開始計算時序(timing)。這是依據不同的製程、溫度、和電壓參數,以虛擬方法計算出晶片的最佳時序。


如果此最佳時序符合需求規格的條件,此電路佈局即可交由客戶簽署認可(signed-off)。GDSII數據依此產生,交給下一階段處理。如果最佳時序不符合需求規格的條件,就必須檢查電路佈局或網表是否有誤、甚至回至第一或第二階段重新開始。


階段四:產生光罩(mask)

光罩是晶圓廠在生產矽晶片時,所使用的感光板。依照不同的感光特性,可以在不同的矽晶層上產生不同的電路。一般的CMOS製程需要16到18片光罩,每片光罩的模式或圖樣(pattern)是依照GDSII數據得出的。


如果ASIC(Application Specific Integrated Circuits)全部採用硬體來實現(亦即完全客製ASIC),其成本是很高的,所以有許多客戶要求以韌體來取代硬體,以降低成本;亦即加入閘門陣列(Gate Array),這種ASIC通稱為「半客製ASIC」。使用韌體取代硬體時,只須針對特定的光罩重新製造,不需更換其它光罩和硬體電路,所以可以減少晶圓製造成本。


階段五:樣品生產

晶圓廠使用光罩生產出少量的原型矽晶圓(wafer),一般約為6到12片。其中一些將交由專業的測試廠做量產前的抽樣測試。其餘切成小晶片(die),經由封裝廠組裝,以塑料封包(plastic package)。封裝好的晶片交由客戶,在其真實的應用環境下進行驗證和測試。


階段六:正式量產

樣品一旦經客戶驗證、測試無誤後,即可簽訂量產合約。同時,晶片設計商必須負責設計測試工具(tooling)和準備測試向量(test vectors),並製作應用開發工具和必要的韌體和軟體供客戶使用。


分層設計的重要性

雖然扁平設計(Flat design)是實現設計任務的一種有效途徑,但是當設計規模超過500萬閘電路時,它就變得幾乎不可行了。對於複雜度達到或超過這一規模的設計,尤其是由多個設計小組合作完成一個大型設計任務時,必須採用一種分層的(Hierarchical)、基於模組的設計方法。


內建有佈局演算法的綜合工具可以提供更為精確的佈局和佈線時序預測,從而減少在設計流程前後階段之間,進行重覆迴圈的次數。只要將設計中的所有模組相鄰佈置,就可較為容易地對時序資訊進行估計。但是這種做法沒有為全局佈線預留任何空間。故佈局演算法必須考慮到全局佈線的要求。


因為金屬層的選擇可能對時序產生重大的影響,負責全局佈線的人員也必須了解模組的具體佈線。內層上的細信號線會相互耦合,還會與基底耦合,因此,考慮到這些越來越嚴重的信號線耦合,具體佈線人員需要對寄生信號的提取和分析有所了解。所有這些都意味著設計過程中,前面和後面的步驟已不再是相互孤立的了。同時也顯示下一代工具必須是緊密整合的,以使設計的每個階段間能夠進行重覆迴圈和數據交換。



《圖一:外殼/內核的劃分》
《圖一:外殼/內核的劃分》

設計人員們一般是在孤立的情況下,對模組進行綜合,然後將已經綜合的模組交給一個實體設計小組進行封裝設計。但是,晶片的封裝會對設計產生一些附加的限制,因此常常需要重新對模組進行綜合。一個整合的、分層的綜合/佈局和佈線方法,允許前後階段的設計人員在設計過程中更早地分享數據,從而使得只需要一次或很少次的設計,就能滿足時序的要求。


向前期設計小組提供有關全局約束(包括信號線總長度、全局緩衝器、電源佈線、對電池佈設的影響、以及模組內佈線)的資訊,將可減少設計重覆迴圈。另外,分層設計方法允許設計人員在需求規格設計時,使用從RTL描述中獲得的資訊執行電源規劃與佈線、全局緩衝,以及具體佈線。


外殼/內核的劃分

外殼/內核劃分是一種分層的時序分析方法(圖一)。它藉由從內部(內核)邏輯中劃分出介面(外殼)邏輯,建立一個關於模組間時序的精確總體資訊。外殼/內核劃分的第一步包括區別實體區域中的外殼邏輯和內核邏輯。外殼邏輯是指位於實體區域邊界與第一個輸入暫存器之間的設計部份。而在輸出端,最後一個暫存器與實體區域邊界之間的邏輯也是外殼邏輯。在輸入和輸出暫存器之間的設計部份是內核邏輯。如果模組中沒有暫存器,或者該邏輯並不通過一個暫存器,則將整個模組標記為外殼邏輯。


具體效能

這種外殼/內核的劃分顯著提高了晶片級時序分析與規劃的效能。時序分析只讀取外殼模組的網路表,而讓內核模組中的實體處於黑箱狀態。在典型設計中,一般的大型實體模組包含20%的介面邏輯和80%的內部邏輯,因此時序分析可使容量提高5倍,執行速度也會相對加快。


動態時序提取

在分層設計中還用到了「動態時序提取」技術,通常它能使晶片級時序分析的效能提高2倍,還能提高容量。藉由只分析晶片級的路徑,「動態時序提取」自動避免了對任何包含在模組中的路徑進行分析所帶來的額外開銷。設計人員只需指定設計中應當提取的模組,然後執行時序分析即可。


底層規劃

RTL底層規劃是植基於對設計尺寸的估計,估計中的任何不準確性都將使底層規劃和用來創建它的大部份設計工作無效。比較之下,藉由開展軟模組(或P&R單元)的協同設計,動態底層規劃可確保模組嚴格依照約束條件來實現。藉由將實體影響納入考慮,動態底層規劃避免了估計的不準確性。實體綜合技術構成了對實體限制進行估計的基礎,並提高了尺寸估計的準確性。


信號的完整性

就像時序收斂問題一樣,信號完整性的問題也隨著特徵尺寸的縮小而加劇。例如,對於0.25μm製程,只需要考慮幾千個網路(net)的寄生影響,這些網路可以透過手工進行處理。在0.18μm製程中,這一數字變成了幾百萬個。在0.13μm製程中,大多數的網路都有問題,電源電壓的降低也會使串擾和基底耦合問題變得更加嚴重。此時,以分析和校正為核心的方法也不管用了。


解決的辦法是修正構造,這可支援整體式及分層的信號,並確保設計的完整性。影響信號完整性的因素包括串擾噪聲、串擾對時延的影響、以及IR壓降。影響設計完整性的主要因素包括電氣遷移、導線自熱(有時稱作信號線電氣遷移)和熱電效應。在下一代的設計方法中,必須具有能在P&R過程中,避免將這些影響因素引入設計的試探演算法。而其後的一個獨立的分析和修正步驟,必須能驗証先前的預防步驟,並改正任何遺留的問題。


《圖二 與設計流程緊密結合的應用程式》
《圖二 與設計流程緊密結合的應用程式》

供電分配問題

為了將功耗降到最低,設計人員通常會採用不同的供電電壓,他們為設計中速度最快的部份保留較高的電壓,或者在類比/混合信號部份採用特定的電壓。因此功耗分配問題的複雜程度也進一步加劇了。


功耗最小化包括在實體設計中將電源和接地連接進行交互式的自動分配。但是,邏輯網路表中並未指明電源連接,電壓區域也不需要與分層模組的邊界相一致。為了對此進行補償,自動化工具採用幾種不同的方法來為新增加的閘電路確定供電連接。供電連接可從與上游閘電路和下游閘電路的連接中獲得,或者從面積推斷得知。網路和管腳名稱之間的一致性可以幫助建立供電連接。


閘電路的實體隔離也可暗示與一個普通供電電壓的連接。在底層規劃過程中,供電區域的可視化有助於佈局和佈線工作,它要報告每一個區域的利用情況和功耗情況。


此外,在設計中時序特性可能會隨各模組所用的供電電壓的不同而異。這意味著工具必須能將時序分析和多種電壓區域分配間的選擇達到最佳化。此外,必須將有關多種供電電壓的資訊傳遞給實體驗証工具。


具體功效

單晶片系統設計的一項主要技術是採用一個支援從RTL描述直到佈局佈線設計的分層數據的統一數據庫。保持設計的分層性也縮短了設計周期。除了此處敘述的分層的佈局佈線流程之外,這個統一的數據庫以及整合化的設計工具必須支援現有的扁平設計和分層設計的用途。為了提高設計流程中的可預測性,這個數據庫還必須支援統一的時序、功耗分析以及信號完整性引擎。對於一個完善的晶片,增量引擎是綜合過程所必需的。再加上一個公共域應用程式介面(API),設計人員就可以設計出與設計流程緊密結合的應用程式(圖二)。


超越傳統

傳統的設計流程常常包括一系列來自不同廠家或是內部開發的各不相容工具,維護這些工具可能會給設計小組帶來很大的麻煩。若能將這些自前端到後端的工具整合起來,在輸入、輸出和轉換數據等設計過程中,所消耗的時間就會大幅減少。


把所有設計工具都納入到一個通用的用戶界面之下,也很有幫助。這將為設計小組中的每一位成員,提供一個可以存取到整個流程中所有設計數據的環境。採用類似Tcl(功能比SNMP強的網路管理通訊協定)這樣的工業標準語言也很有幫助。


結語

未來十年將是晶片設計產業蓬勃發展的時代。不過目前國內大多數晶片設計業者礙於資本小,所以仍然無法吸引眾多優秀的技術人才參與。而擁有使用VHDL或Verilog技術直接設計電路(IP技術),完成晶片產品的國內業者並不多,大多數仍採用EDA或CAD軟體,將電路圖轉成VHDL或Verilog程式碼和數據,因此如何取得電路圖反而成為業者走捷徑的方法。


因為SOC需要系統整合技術,諸如:與數位、類比、射頻、混合信號等有關的硬體設計,與通訊協定、偵除錯、系統啟動、演算法、輸出入控制等有關的韌體,與作業系統、驅動程式、通訊協定、應用程式等有關的軟體,這些技術需要許多專家參與,所以要發展SOC就必須延攬各種領域的人才方能成功。


國內OEM業者已經投置太多資產在工廠製造上,造成管理上的難題和包袱,相對地也降低了對研發工作的投資。依據先進國家的經驗,國內OEM業者的研發模式遲早必須轉型為真正的ODM模式,而且必須提供能讓工程師們發揮創意的良好研發環境,否則其優秀人才遲早會被SOC設計業者所吸納。


相關文章
輕鬆有趣地提高安全性:SoC元件協助人們保持健康
仿真和原型難度遽增 Xilinx催生世界最大FPGA
SmartBond元件增加藍牙網狀網路支援能力
我們能否為異質整合而感謝亞里士多德?
關注次世代嵌入式記憶體技術的時候到了
comments powered by Disqus
相關討論
  相關新聞
» 美光針對用戶端和資料中心等市場 推出232層QLC NAND
» 摩爾斯微電子在台灣設立新辦公室 為進軍亞太寫下新里程碑
» 愛德萬測試與東麗簽訂Micro LED顯示屏製造戰略夥伴關係
» 格斯科技攜手生態系夥伴 推出油電轉純電示範車
» Arm:因應AI永無止盡的能源需求 推動資料中心工作負載


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.52.14.126.74
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw