C語言平臺 縮短SoC前期設計時間
結構探索作業結束后,再整合客戶的要求規格,評估客戶提出的規格時,此時為防與止晶片出現怪異現象,除了動作等級的System C之外,必需使用低抽象度RTL(Register Transfer Level)等級的設計資料。一旦取得客戶的許可后就可以同時進行System C的硬體、軟體設計。由于C語言平臺設計方式使用了,C語言演算、System C模型和RTL模型等多種模型,因此必需維持模型之間的理論等價性,然而實際上「形式驗證工具」還未達到實用階段,必需使用一般理論模擬分析,驗證上述設計資料的等價性,其中RTL等級的理論模擬分析非常耗時,因此它已經成為C語言平臺設計有待克服的問題。
本文引用地址:http://www.j9360.com/article/85279.htm目前動作合成工具技術上還不成熟,若直接轉換成System C,Gate規模與消費電流值會變大。(Interconnect Systems)
C語言平臺的設計的特色
實際上利用C語言平臺的設計方式方面,例如日本某業者,曾經開發以Pentium微處理器使用的壓縮處理技術硬體化
的SoC,使其具備MPEG-4單壓縮功能,基于資料處理并聯化對降低動作頻率非常有效等考慮,因此使用動作合成方式使SoC整體達成的硬體連線化目的。由于在結構探索工程中已經針對并聯處理段數,等相異多結構進行評估,因此檢驗結果與實際晶片的量測結果幾乎完全相同,證實C語言平臺設計方式可以實現高精度的結構探索目的。
另外,也有業者在開發應用在行動電話的長時間MP3音樂播放晶片,同樣具備MPEG-4單壓縮功能時,設計上被要求盡量降低耗功,因此設計人員決定採用動作合成方式,使SoC整體達成的硬體連線化目的。此外,該業者為了減少耗功與晶片面積,因此進行演算處理位元寬度最佳化設計,就展開調查各處理作業的資源消耗量,與演算位元寬度的關係,依此制作演算位元寬度、建立調整方桉、進行音質檢驗、決定位元寬度,根據實測結果證實傳統同等級SoC的耗功為60mW,可以降至7mW。
東芝成立小組導入C語言設計平臺
目前可以感受到,隨著半導體制程的微細化,SoC的開發時間越來越長,在此同時短交期、低成本的要求依然沒變,因此大幅提高SoC的設計效率,成為開發SoC時非常重要的課題。以往SoC大多利用高抽象度動level設計硬體,設計資料使用C語言平臺描述,如此就能夠在SoC樣品晶片完成前,開始進行軟體驗證、修正作業。
所以,東芝在2005年就成立「R-CUBE」小組專研新晶片的前期設計規劃,來因應此一變化,R-CUBE高階設計環境主要是由,軟、硬體協調驗證環境、結構探索環境、高階驗證環境、高階合成環境,和整體驗證環境等等,5個次環境構成。
實際的想法是,設計流程中最初會使用結構探索環境,此時規格書中會將所有功能當作ANSIC語言/C++演算描述,并將該演算分成實現軟硬體兩大單元。至于分割的妥當性則利用效能分析工具驗證,如果驗證無誤就進入下個階段。此時設計流程可分成, 軟、硬體協調驗證,以及硬體的執行(Implementation)兩大部份,軟、硬體協調驗證環境會整合了可以實現硬體部份的C語言平臺描述,以及微處理器核心的C語言平臺描述,并製作SoC整體的硬體模型。上述驗證會先確認軟、硬體之間的介面是否有不妥,接著進行軟體整體的驗證與修正作業,由于此時要求實機的1/10~1/100左右的模擬分析速度,因此硬體的模式必需使用高抽象度C語言平臺進行描述。
圖說:沖電氣採用「μPLAT」+軟體的合成動作方式,可以使晶片發揮低耗功化效果。(Tanner Research)
在硬體的執行設計方式方面,首先以人工方式將硬體的演算C語言平臺轉換成System C,再使用高階驗證環境驗證此System C的描述,該環境包含多種工具,例如,利用形態檢查器驗證System C描述意義的工具,以及是否已經成為高階合成用資料的工具等等。高階驗證環境還包含東芝開發的可以檢查驗證進度(coverage)的工具, 它可以防止遺漏檢查,進行Line Coverage)、分岐含蓋范圍、條件含蓋范圍等檢查,經過驗證的System C的描述,再利用高階合成環境轉換成RTL描述。
目前高階合成工具無法以一次的合成作業,獲得令人滿意的高品質輸出,必需對C語言平臺描述進行修正,并作反覆數次的高階合成動作。如果晶片已經備妥全模組的RTL描述,就利用整體驗證環境進行晶片整體驗證作業,在該環境下使用理論模擬器(Emulator)與硬體加速器(accelerator)等驗證專用電腦,再以時脈循環(clock cycle)的時序(timing)精度驗證SoC整體,若驗證沒有異常就結束高階設計作業,接下來的晶片設計則與傳統RTL設計完全相同。
整體開發時間只有傳統的1/3左右
在實際設計例子上,東芝所開發的液晶電視用SoC,就此採用這樣的架構平臺開發設計,此晶片有三個設計作業適合上述設計環境,分別是,統一平臺的開發、減少開發軟體的TAT(Turn Around Time),以及使用高階合成獲得的RTL描述。
在統一平臺的開發部分,由于晶片目標是廣用衍生型的SoC,并且主要訴求是開發容易,因此必需將共通部位定義成統一平臺,此時最重要的是On Chip匯流排的結構,與記憶體次系統的定義,設計人員利用上述環境,討論出如何能夠定義成最適宜的統一平臺。
具體步驟首先檢查匯流排的存取流通量(Throughput)、延遲、仲裁(Arbitration)功能、匯流排的擴充性(Scalability),接著利用C語言平臺描述進行效能模擬分析,再透過
定性優劣比較作定量性分析,透過該分析就能夠定義最適當的統一平臺。
在減少開發軟體的TAT,由于是以廣用SoC為目標,所以必需充分應用軟、硬體協驗證,因此在樣品晶片完成前,就需要成功驗證大部份的軟體,因此從樣品晶片公佈,一直到發佈軟體工具為止,整個的開發時間只有傳統的1/3左右,主要原因是Stream data能夠使用協調驗證所致。
此外即使使用應用協調驗證環境,并不表示如此一來就不需要進行樣品晶片的實機驗證,因為C語言平臺描述的精度還有無法驗證Bug,例如記憶體初期化與電晶體的初期化設定錯誤,以及有關插入時序的不協調,一般協調驗證都無法檢查。
在高階合成取得RTL的描述部分,這顆晶片的MPEG2解碼器后處理部分,非常適合使用高階合成,尤其是將動作頻率高達266Mhz的后處理方塊,當作82K閘道(gate)規模的電路合成,可以獲得媲美人工設計的結果。至于軟、硬體協調驗證使用的硬體部位C語言平臺描述,就可以利用這顆晶片的C語言平臺描述作基礎,只改寫變更部分即可。
IC設計業者已經開始建立C語言設計平臺
目前許多IC設計公司已經開始建立C語言平臺設計技術,應用在半導體晶片的設計,該技術除了能夠使晶片架構在短時內進行比較、檢討作業,同時還可以應用在各種SoC(System On a Chip)結構的最佳化設計。以行動電話的語音處理晶片為例,C語言平臺設計技術可以使晶片的耗功降至1/10,預定今后2~3年內,市場上將會有20~30%的SoC,是採用C語言平臺設計技術。所以,通常SoC的開發要求同時滿足各式各樣規格,然而同時滿足高效能、低耗功、低制作成本的特性。
評論