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