帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
推動SoC的ESL工具發展現況
 

【作者: 陳浩彰】   2005年06月01日 星期三

瀏覽人次:【8571】

當晶片的設計不斷地朝微縮尺寸發展,晶片的設計工作已經不可同日而語;最原始的使用電路閘設計、進展到利用電腦輔助語言如Verilog與VHDL來提高設計的效率、一直到最近幾年最流行的軟硬體協同設計,也就是ESL(Electronic System Level:電子系統層級)方式的EDA工具使用。ESL設計方式在現今與往後的IC設計將會日益重要,主要的原因在於內嵌式處理器的需求持續上升,而處理器的設計也逐漸向多核心邁進,另外日益昂貴的光罩成本,也是IC設計公司必須尋求更有效率的方式,來確保所設計的IC產品正確無誤地被生產。ESL的設計觀念與設計工具仍在不斷地發展之中,本文將介紹主要的EDA廠商於ESL的產品現況與發展趨勢。



ESL的工作原理


ESL導入IC設計領域,希望成為未來的一項主要設計方式,主要的目的就是要解決日益複雜的軟硬體協同設計問題。以往的設計方式必須等到晶片由晶圓廠生產並封裝後,才能對晶片做進一步的驗證工作,包括配合晶片的相關軟體驗證工作。傳統的做法採用循序驗證(Sequential Verification)的概念如(圖一),不僅會因為重複投片而提高成本,由於軟體與硬體的同步驗證工作,必須在晶片製作出來以後才能執行,使得晶片的驗證週期拉長;對於奈米等級的晶片設計而言,由於內嵌式微處理器的盛行(包括多核心處理器趨勢同樣造成軟硬體協同驗證的困難)、晶片內含電路閘數目增加,都會造成驗證的成本與時間進一步惡化。



《圖一 傳統軟硬體循序設計驗證流程》


透過ESL工具的輔助,成本與時間的惡化將會有效地改善。透過軟硬體協同設計與模擬,在晶片設計投片之前,就能預先執行大部份的設計與模擬工作,利用平行驗證(Concurrent Verification)的概念,如(圖二)所示,可以將晶片設計的時程縮短二至六個月,並且具有三項主要的優點:(一)在晶片產出前,預先修正硬體晶片與軟體的設計錯誤。(二)軟體可先依照真實硬體架構設計,縮短設計時間。(三)軟硬體協同設計提供軟硬體間資源取捨的可能;由圖二可以清楚看出,軟硬體協同設計的觀念,將晶片的設計工作與軟體的撰寫工作,拉到同一個時間範圍內,如此一來就可以有效地縮減設計與驗證時間,減少各個流程間的等待時間浪費,並且減少反覆投片所造成的龐大設計成本負擔。



《圖二 平行處理的軟硬體協同設計驗證流程圖》


Synopsys的System Studio


Synopsys在EDA領域的地位,較為人所熟知的就是它的RTL設計與合成的相關工具,在ESL領域中,Synopsys以CoCentric System Studio為主要的ESL設計與模擬工具;在一個典型的SoC晶片設計中,最常要克服的三大設計方向就是:演算法設計、架構設計與軟體整合設計。這三者間並不是很單純地分開設計完成即可,最大的困難點是協調這三者間的軟體與硬體資源,並且有效率低縮短設計與驗證時間,另外也必須克服因為三者搭配不良而重新投片的成本花費,如(圖三)所示。



《圖三 軟硬體整合設計的SOC設計流程》


  



演算法的設計在許多的應用都會是一個主要的設計議題,尤其是著重於信號處理的場合如多媒體應用、網路傳輸、通訊應用等等領域;架構設計必須要作的工作包括選定內部匯流排的形式、選定內部的記憶體規格與記憶體傳輸協定、客製化的電路邏輯設計與選擇合適的內嵌式處理器(大部分的情形需使用內嵌式處理器);軟體整合設計的部分,重點在於如何提供一個管道,來使得軟體整合工作得以在投片前就可以實施。如此一來,不僅可以減少反覆投片的巨大成本,也可以使得軟體與硬體的設計,能夠在整體系統資源考量下,有最佳化的機會。



目前的ESL工具主要都是由C或C++語言來完成,透過SystemC語言的使用,許多C++函式庫得以被引用,也降低了IC設計者在RTL設計時,經常遇到轉換不同設計工具時,程式語言間不易統合的困境。依照Synopsys的資料指出,System Studio主要可以達到以下的功能包括有:(一)設計擷取與管理(Design Capture and Management)、(二)建立可驗證的架構模型(主要用於驗證匯流排效率與內嵌式IP的合用與否)、(三)迅速完成個別(或搭配使用時)的演算法或架構設計的正確性、(四)提供晶片投片前一個有效的驗證方式。



Cadence的Incisive驗證平台


Cadence在IC設計領域的電腦輔助設計工具上的地位舉足輕重,該公司在2003年時將訊號處理分析軟體SPW(Signal Processing Worksystem)的相關技術轉交給Coware公司,Cadence仍舊專注於驗證領域相關的EDA工具研發。Cadence於ESL的驗證工具上,主推Incisive驗證平台,根據Cadence的資料來看,Incisive將會有六大項主要的功能,如(圖四)所示,包括:(一)加速與模擬(Acceleration and Emulation)、(二)形式分析(Formal Analysis)、(三)類比混合訊號模擬驗證(AMS Verification)、(四)整合除錯與分析(Integrated Debug and Analysis)、(五)單核心模擬(Single Kernal Simulation)、(六)IP驗證(Verification IP)。



《圖四 Cadence的Incisive驗證平台》


  



對於大型、複雜的晶片設計,Cadence的Incisive提供的單一核心驗證架構,宣稱可以將驗證時間縮短至50%,同時支援Verilog、VHDL、SystemC、SystemVerilog和PSL,是一個完善的System-to-Silicon設計解決方案,當然也支援一些3rd-Party的設計工具如ARM、Denali、O-In與Motorola等等。



就實際的應用而言,Cadence主要是透過指令集模擬(ISS;Instruction Set Simulator)、Incisive模擬器(Incisive Simulator)與Palladium加速/驗證器(Paralladium Acceleration/Emulator)三項工具的交互組合,來完成各種不同需求時的軟硬體協同設計與驗證工作。各種組合的比較表如(表一)所示,可以清楚地看出,僅採用原本模擬器的方式來驗證,效果將會非常地差,而透過軟硬體協同設計的觀念來做晶片的設計與驗證,效果將會大幅提昇,其中採用硬體模擬器(Emulator)的做法,在效能上又會略優於僅採用加速器(Accelerator)的設計驗證方式。



Mentor Graphics的ESL工具發展


Mentor Graphics在ESL工具的發展上,主要可以由它的兩套EDA軟體來介紹:分別是Catapult C Synthesis與Seamless;前者是負責將C++語言的設計作行為合成,後者則是一套軟硬體設計的協同驗證工具。Mentor Graphics在ESL工具的發展上相當積極,Mentor Graphics另外尚有其它的ESL工具如主要用於模擬的ModelSim已支援SystemC,Platform Express是將內嵌IP整合在設計之中,並產生相對應的測試環境、匯流排介面邏輯等等。本文將介紹Catapult C Synthesis與Seamless。



Catapult C Synthesis


根據Mentor Graphics的資料,Catapult C Synthesis提供一個已經經過驗證的C++語言合成工具,能夠正確無誤地產生RTL的合成結果,對於ASIC或FPGA設計而言,提供一個較傳統設計方式(手動方式由C++設計轉換至RTL設計)快二十倍以上的設計流程。Mentor Graphics所定義的一個基於C語言的設計流程如(圖五)所示,利用C++語言與支援C++語言的函式庫,設計工程師可以迅速地設計出需要使用複雜演算法的IC產品如視訊或通訊應用產品;Catapult C Synthesis將設計好的C++語言演算法,經過介面合成(Interface Synthesis)、排程控制(Schedule)、資料路徑控制產生(Data Path Control Generator)後,作進一步的分析(Analysis),再經由限制條件(Constraints)的加入判斷,做出一個基於設計時脈週期的模擬設計(Cycle Accurate Simulation),不過此時尚未考慮電路閘的特性。經由Catapult C Synthesis將C++的演算法設計轉換成RTL語言設計,可再交由下一階段作RTL模擬、RTL合成、電路閘模擬後實際做成ASIC或燒錄至FPGA。



《圖五 Catapult C Synthesis的設計流程》


採用不同於RTL設計語言的設計流程,一個最大的好處就是可以降低模擬時間,以Mentor Graphics的資料來看,如(圖六)所示,若是使用C++或SystemC語言來產生測試程式,配合演算法設計亦採用C++語言來設計,整個模擬速度將是傳統使用RTL語言設計的10000倍,若是和行為層級的設計方式比較(Behavioral Design),將會是行為層級設計方式的200倍(10000x/50x=200);同樣地,和採用TLM SystemC設計方式相比,亦會將模擬速度提高十倍之多(10000x/1000x=10)。



《圖六 Catapult C Synthesis與其它設計方式的模擬時間比較》


  



Seamless


Seamless最主要的目的與功能就是要提供軟硬體的協同驗證功能,在半導體設計挺進至奈米等級的線寬之時,嵌入式的處理器亦逐漸地向多核心處理器靠攏,選擇一個合適的嵌入式處理器,同時安排合適的嵌入式處理器與周邊客製晶片設計資源的協調與整合,就變得相當地重要。一個最基本的問題就是:該如何選擇一個合適的嵌入式處理器?



傳統的方式多半是依賴設計師的經驗來解決,處理器的選擇過程是在有經驗設計師的主觀判斷下決定,而缺乏客觀的數據來反映出不同處理器間與客製晶片設計資源間的相互關係,亦無法反映出不同處理器間軟體效率與撰寫的問題,所有的問題與答案必須等到晶片設計完成後,經由實際的投片產出,設計人員才能清楚知道上述的問題。傳統的作法造成許多時間與成本上的浪費,才能清楚了解某一型號的處理器與晶片設計之間的關係;Seamless將整合的工作從實體領域移轉到虛擬領域,在虛擬領域的設計流程中,相對應的軟體與硬體可以輕易地加以修改,將原本需耗時數月的反覆產品設計所需的收斂時間,縮短至數天之內即可以解決。



要達成上述的設計模擬概念,就必須擁有數量龐大與完整的處理器資料庫,Seamless目前是以處理器支援集(Processor Support Package;PSP)的方式來提供不同的處理器模型支援,包含一百種以上的處理器模型,可以提供虛擬處理器模型驗證之用,如ARM系列處理器、Intel、MIPS、Tensilica、LSI Logic、Xilinx、Freescale、IBM、Renesas、TI、Mitsubishi、Freescale等等。每個Seamless處理器都包含有一個指令集模擬器,提供處理器暫存器集的控制能力,支援使用組合語言來進行程式的開發與除錯;Seamless同時採用專利的記憶體最佳化技術,這是與其它軟體硬體協同驗證工具最大的不同點,記憶體最佳化技術不但能允許系統繼續使用邏輯模擬器,加快嵌入式軟體的執行速度,還在必要時執行詳細的分析與除錯。此外,Seamless也提供充份的支援,確定啟動程式、驅動程式、診斷常式與作業系統都能正常執行,另外也檢查特定硬體的軟體程式,來進行硬體與軟體界面的完整驗證。



Seamless同時提供了獨家的C-Bridge技術如(圖七),C-Bridge技術可以提供一個C host code的除錯介面,將C語言匯流排上的周邊設計轉換至不同的處理器介面,而這不同的處理器匯流排介面,就是由PSP來提供處理器模型;C-Bridge則是充當兩者之間的橋樑角色,透過C-Bridge技術,設計師就不用特別針對特定處理器撰寫程式,而是在一個更高階的摘要形式完成模型撰寫(High-Level Abstraction Modeling),這樣的環境可以提供設計者更為有利的設計環境,在決定細節的設計之前,不需要投入大量的時間撰寫特定的程式語言。



《圖七 C-Bridge應用示意圖》


結語與展望


使用ESL的設計方式,是近幾年EDA工具開發者一個開發工具的重點方向,當半導體製程推進至奈米等級,嵌入式處理器的應用就相對增多,而嵌入式處理器的應用也會日趨複雜,包括如何取捨嵌入式處理器核心、核心數目的選擇、嵌入式處理器的功能等級與周邊晶片設計的難度等等,每一個不同的選擇結果都會影響到晶片設計開發與軟體介面程式的撰寫。這樣的工作在今日更不容易靠有經驗的設計師依據經驗來作主觀判定,一個不合適的處理器選用將影響到的是:不切實際的搭配硬體晶片設計、反覆收斂軟體與硬體設計的時間、反覆投片的晶片製作成本;這些因素都會隨著高階製程的選用而更形惡化。



以模擬時間來看,採用高階語言如同C語言、C++語言、SystemC語言之類的撰寫方式有助於節省系統的模擬時間,亦會減輕設計師反覆利用不同語言來撰寫不同模擬任務的負擔(包括不同語言撰寫時間花費、不同語言需要更有經驗的工程師完成等等);本文介紹了主要的EDA大廠Synopsys、Cadence、Mentor Graphics於此方面的產品發展,在此領域有相當多小型EDA開發公司積極推動包括有Forte、Coware等,SystemC語言將會是未來晶片設計工程師必須認識的基本語言,設計工程師屆時可以涵蓋的領域更廣,卻不見得需要如今日設計工程師一般使用RTL設計語言如Verilog或VHDL,當EDA工具可以作的事情愈多,設計工程師可以用更有效率的觀點來作軟硬體設計,而系統晶片SoC的觀念也會因為IC設計方法學的向上提昇,得以進一步的落實。



















延 伸 閱 讀





















Novas軟體公司近日針對搭配嵌入式處理器的SoC推出一款除錯工具nESL,可望在新興的電子系統級(ESL)驗證市場上爭得一席之地。相關介紹請見「系統級除錯工具解決SoC設計難題」一文。
Mentor Graphics(明導國際)目前為全球第三大的EDA廠商,不同於競爭對手將產品整合為平台的產品行銷策略,該公司的產品主要集中於系統單晶片驗証、硬體描述語言與FPGA設計、實體設計與分析、電路板設計等四領域。你可在「新的方法學將產生—專訪明導國際CEO Walden C. Rhines」一文中得到進一步的介紹。
在2003及2004年中,FPGA兩大廠商 – Xilinx和Altera為了走出prototype的設計定位,一直把ASIC廠商當做假想敵,強調在高階製程技術的支持下,FPGA也能成為ASIC的替代方案。在「半導體產業技術趨勢:65奈米、多處理器SOC、系統設計語言」一文為你做了相關的評析。


















相關組織網站





















Synopsys公司網站


Cadence公司網站


Mentor Graphics公司網站




相關文章
矢志成為IC設計界的建築師
數位延遲鎖相迴路介紹
系統晶片ESL開發工具之發展現況
相關討論
  相關新聞
» 日本SEMICON JAPAN登場 台日專家跨國分享半導體與AI應用
» Nordic Thingy:91 X平臺簡化蜂巢式物聯網和Wi-Fi定位應用的原型開發
» 豪威集團推出用於存在檢測、人臉辨識和常開功能的超小尺寸感測器
» ST推廣智慧感測器與碳化矽發展 強化於AI與能源應用價值
» ST:AI兩大挑戰在於耗能及部署便利性 兩者直接影響AI普及速度


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

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