帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
系統晶片ESL開發工具之發展現況
系統晶片設計專欄(3)

【作者: 周世俊、陳雅淑、施吉昇】   2007年02月13日 星期二

瀏覽人次:【5812】

系統晶片(System-on-Chip)為一整合多種功能之獨立系統的單一晶片,此一設計方法可降低生產成本、提昇效能並減少耗能,因此,已大量為晶片設計所採用。


以往的開發流程,通常由系統開發人員通常根據經驗法則決定軟硬體的規格,之後便分成軟硬體設計人員分工進行,而系統測試和驗證工作必須等到軟硬體開發完成之後才能進行。在後期階段,經常發現配置過於強大的硬體而增加成本,或是硬體能力不足造成應用程式效能不符需求,甚至出現無法整合或是各式各樣的錯誤(Bug)。此類的限制,造成SoC的設計時程與成本高居不下。


Carnegie Mellon University的Donald E. Thomas於1993年發表其軟硬體共同設計之模型與方法論,其說明了多數功能既可以使用軟體,也可以使用硬體來達成,而決定的準則將是效率與成本間的取捨與拉鋸。依照系統功能與效能所需達成的目標,將軟硬體規劃在設計的階段同時考慮,例如,以效能為主的設計,可將某些軟體功能切割出來,交由硬體來實作,以達成加速的目的。


在軟硬體共同設計的模型之下,系統開發人員必須先決定系統規格,之後轉換系統功能為軟硬體描述語言,進而以軟硬體合成進行效能分析、測試與驗證。傳統的設計方法,具有開發成本高與時程長、系統架構修改難度高與效能數據收集不易等缺點,經由軟硬體共同設計方法,將可獲得有效的改善。


軟硬體整合設計的步驟從系統規格的輸入開始,經由程式資料流的分析,將軟硬體的部分做分割(HW/SW partition),接著就是軟硬體的雛型設計與製作,最後再將軟體與硬體共同模擬,收集數據與分析效能,進而改進設計架構。而面對日益複雜的系統晶片功能,開發者必須要擁有工具支援以增加設計流程中的自動化程度,因此,系統晶片開發工具(ESL Design Tool)能夠讓設計者得知設計上的錯誤或效率不佳的問題。


知名ESL工具介紹

ESL Tool(Electronic System Level;ESL)主要是幫忙解決硬體尚未完成開發前,如何做初步的系統驗證,以減低開發的成本。其發展的模型主要是提供一個虛擬平台(virtual platform)模擬最終的硬體架構,當硬體架構完成之後,使用者便可以在此平台上模擬初步的系統合成,進而收集與分析系統相關數據,以驗證目前的軟硬體分割是否可以符合系統效能與功能。目前市場上,系統晶片開發工具各提供了不同程度的支援。本文接下來將簡介幾個業界以及學術界所發展的知名工具。


Elix和Simtek

Space Codesign是由加拿大蒙特利爾理工學院的研究人員所成立的,其開發產品包括Elix和Simtek,稱為Space Studio,具有視覺化介面,可以控制SystemC模組並於元件庫中取用模組,Space studio的特色即是支援商用RTOS與指令集模擬器與採用「拖放」式的硬體/軟體劃分的功能。


Elix協助設計者做初步的軟硬體劃分工作,快速開發和驗證其設計架構;Simtek則以用戶指令集模擬器(ISS)來取代軟體模擬。使用者不需了解詳細的硬體規格或軟體架構,就可以利用系統語言(SystemC)創建系統級的架構模型,並模擬系統執行。使用者只需負責把自己的程式碼以Space Studio使用的程式語言產生出來,並於之後再直接指派各個模組為硬體或軟體,而不用詳細了解實際上硬體和軟體的實作。


此外,一個模組要更改成硬體或軟體執行,不需更改程式碼,只要重新編譯即可產生新的系統。系統晶片發展流程在Space Studio的環境下將轉換為:將系統以SystemC建立模組後,使用者可任意將模組指定為軟體或硬體,而所有的軟體將在一個存在即時作業系統(RTOS)以及用戶指令集模擬器(ISS)的環境下模擬;硬體則將由Gen-X Pro(開發中)自動建置。


由於以往的系統開發者熟悉於邏輯閘級(Register Level Transfer)的設計語言,針對系統及設計上為陌生,Summit Design公司為幫助這些開發者更為迅速建置系統1,提供許多從邏輯閘級到系統級的設計解決方案。


例如:System Architect,其具有支援SystemC-compliant的API功能,提供軟體與硬體應如何配置的分析,在micro-architecture下,達成效能模塑、架構設計與軟硬體探索效能評估;Visual Elite Co-simulation工具則提供了視覺化的C/C++與SystemC的模型設計與驗證環境,系統工程師可以快速的分析系統與表達系統概念,再交由開發工程師開發。


Binachip與Poseidon Design System

針對可程式化邏輯閘陣列(FPGA)平台的可重新規劃之特殊系統,Xilinx提供一系列的解決方案[2],其中與系統級設計工具包括Binachip與Poseidon Design System。Binachip-FPGA將二進位的軟體可執行檔轉換為硬體來執行,協助進行軟硬體切割,並建立可執行在可程式化邏輯閘陣列上的硬體程式,加快應用程式執行速度。


Poseidon Design Systems提供Tuner這套模擬工具,用於在目標硬體的抽象層次上執行應用軟體,並提供效能分析與視覺化工具,協助設計者觀察軟硬體間的互動行為。並進一步提供硬體產生工具Builder,亦即硬體合成工具(hardware synthesis tool),其轉換ANSI C的演算法為邏輯閘級描述語言,並提供了硬體所需的驅動程式,協助快速將有時限要求的模組從軟體移到硬體上來執行。


NAUET

為拉近軟體工程師與硬體工程師的設計理念差距,MataiTech的NAUET提供了專案的設計理念[2],開發者可以採用NAUET元件編輯器或者依照NAUET指定的文件格式Spirit IP XACT編輯出一份XML文件,NAUET會利用相關的工具,如:Verilog to C/C++轉換程式、VHDL to Verilog轉換程式與Verilog模擬器等,針對軟硬體設計者輸出相對應的文件,Verilog和VHDL暫存器標頭可讓硬體設計者直接使用,所產生的C/C++和SystemC程式碼可讓軟體設計者直接使用。


系統級設計工具相關研究

在學術界方面,對於系統級的設計工具也有相關的研究進行中,以下將簡介:Berkeley的Ptolemy and Ptolemy II 計畫、Seoul National University的PeaCE計畫、INRIA的SynDEx、Leiden University的ESPAM、CMU的MESH計畫與台灣大學無線網路與嵌入式系統實驗室發展的MFACE計畫。


《圖一 PeaCE之軟硬體協同設計步驟》
《圖一 PeaCE之軟硬體協同設計步驟》

Ptolemy

Ptolemy計畫目標是發展一個設計工具,協助系統設計師於即時與嵌入式系統的模塑、模擬與設計,此計畫的研究重點在於使用可計算的多模型方法於階層式的異質設計環境中。Ptolemy II進一步擴展了Ptolemy,以Java packages支援異質且同步的模塑與設計。簡言之,此工具提供軟體模塑與設計工具,可以整合異質的元件於所欲設計的分散式嵌入式系統中2。為提供快速發展由異質元件組成的數位系統,PeaCE計畫擴充了Ptolemy計畫的設計架構至共同設計的環境中,範圍從SoC設計至分散式的異質系統設計,其特色在於系統規格設計、模擬、設計探索、軟體元件合成與硬體元件之互動介面等,透過此設計架構在整個設計的過程中,如圖一,提供自動化與協助功能3。


SynDEx

有感於分散式即時嵌入式系統的設計複雜度日益增加,SynDEx計畫發展適用於此類系統的設計工具,包含定義將執行的應用程式之演算法圖形(algorithm graph)與定義系統執行平台的結構圖形(architecture graph)。SynDEx提供多元件的模擬平台,包括互相連接的處理器與整合的IC,系統設計者可快速開發出系統雛型與驗證系統的正確性4。為處理系統級(System-Level)與邏輯閘級(RTL)之橋接問題,ESPAM計畫發展可基於系統級規格,合成RTL之程式碼的工具,設計者在高階的抽象層次設計特殊應用的多處理器系統5。


MESH

MESH計畫是CMU Donald E. Thomas所帶領的軟硬體模塑環境計畫,其認為未來SoC與電子系統的趨勢將是把異質的多處理器與許多的執行單元(Processing Element)整合到一個晶片中,其提供新的模擬、模塑與設計策略。目前MESH的研究包含新類型的系統級評量基準(system-level? benchmarking)發展,異質程式對時間輸入數據(timed input datasets)的情境式(Scenarios)效能評估,以及新的設計策略,例如利用系統層級的排程技術達到省電功能,也就是以在低時鐘頻率(lower clock frequencies)運行之單純的執行單元取代複雜的執行單元。


MFACE

MFACE(Multiple function SoC analysis environment)是由台灣大學資訊工程研究所嵌入式系統暨無線網路實驗室所研發的系統級軟硬體共同設計效能分析與設計工具。設計者透過圖形化介面將系統規格(包括應用程式資料流圖形、執行單元列表、效能需求等)輸入至設計工具中,MFACE自動解讀這些設計資訊,並轉換成XML檔,提供接下來的分析步驟所使用。



《圖二 MFACE軟硬體設計流程》
《圖二 MFACE軟硬體設計流程》

為協助進行軟硬體分割以及執行單元配置問題,MFACE利用多資料流分析模組(Multi-Flow Analyzer),如(圖三),讀取系統規格之後,透過其研發的工作分配演算法,根據應用程式於不同執行單元上執行的效能與花費、應用程式的功能項目、功能之間的互依性以及應用程式的時間限制等等資訊,建立各功能與執行單元的負載分析報表,輔助系統設計者進行軟硬體分割的設計。


為減少配置的執行單元數目,多資料流分析模組採取適當的排程方式,維持程序與資料傳遞的正確性,並盡可能的共用所有的資源。其排程方法不僅適用於多處理器、執行單元,甚至可以應用至晶片匯流排系統,並藉由適當的分析執行時間、匯流排競爭狀況等數據,重新配置硬體系統,提升整體效能與降低產品價格。


完成系統設計之後,MFACE自動產生符合的系統級軟硬體規格,相關的排程技術和RTOS也會一併產生。之後使用者可利用模擬硬體的工具(CoWare),利用MFASE產生的新虛擬平台以及相關的軟體去模擬,如(圖二)之Co-Simulation步驟,與驗證設計的規劃。



《圖三 Multi-flow Analyzer》
《圖三 Multi-flow Analyzer》

多資料流分析模組的細部工作如圖三所示,首先進行HW/SW的分割,由IP的資源庫配置足夠的資源給系統以及分配功能任務到適當的處理單元(PEs)執行,如microprocessors與 IPs。接下來就是進行第一次協定(Protocol)的合成,由排程演算法資料庫選擇適當的排程演算法,將決定PE的數目與每個PE的Buffer大小,同時也嘗試將功能任務與處理單元的分配達到最節省成本的平衡。


第三個步驟則是建構匯流排與記憶體的架構設計,為的提供符合需求的低成本溝通平台。MFASE也會協助設計者決定匯流排的排程演算法、匯流排調解政策(Bus arbitration policy)與PEs的記憶體配置,以建立一個虛擬的SoC平台,用以驗證其設計。


有別於其他的工具,MFACE著重在發展適合於多執行單元晶片的排程方式與仲裁者機制,並且經由有系統的分析方式,協助系統設計者找出系統中的效能瓶頸,進一步提供適合的執行單元配置、匯流排配置以及執行單元優先權的分配。此外,MFACE提供自動產生的RTOS,並可將功能級描述(Function Level)的軟硬體規格,以系統級描述語言產生硬體可以執行的程式碼,並且產生所有軟體與其OS溝通的介面。


而在軟硬體模擬過程中,MFACE會載入OS與軟體放到虛擬平台上執行,並且收集相關資訊,協助進行效能評估與分析,如圖二之Performance Evaluation步驟。如果效能沒有在預期之內,則會從頭再做一次新的設計,並根據這次的數據去分析原因,改進缺點。透過這樣的循環,協助設計者得到合乎要求的設計。


結語

系統晶片開發工具(ESL design tool)的發展,使得軟硬體設計逐漸走向更高層次與更抽象的方向來發展,以便符合整體系統效能,將設計概念快速實現以及功能驗證與效能分析。大多數的系統晶片開發工具都支援以C/C++及SystemC,提供系統級和處理程序層級模型(TLM)設計最佳化功能。


其中處理程序層級模型支援高層次的抽象設計,相較於邏輯閘級設計,需要設計者實現的細節少,因此使系統設計、設計變更和功能確認的速度更快。利用電子系統級設計工具的輔助,可提早確認系統功能與行為,降低設計迴圈次數,並提供更快速的模擬,使得設計人員有機會考量更多的設計架構可能性,以尋找最佳化的架構。其設計結果將有助於系統效能,降低產品價格,並進一步整合軟硬體開發之間的鴻溝。


---本文作者周世俊為台灣大學資訊網路與多媒體研究所博士班研究生、陳雅淑為台灣大學資訊工程研究所博士班研究生;施吉昇為台灣大學資訊網路與多媒體研究所助理教授---


<參考資料:


[1]http://www.summit-design.com/products/index.html


[2]http://ptolemy.eecs.berkeley.edu/ptolemyII.


[3]http://peace.snu.ac.kr/research/peace/


[4]http://www-rocq.inria.fr/syndex


[5]http://www.liacs.nl/~stefanov/publications.html>


---------------


------------------------------------------------------------


---------------


------------------------------------------------------------


相關文章
矢志成為IC設計界的建築師
數位延遲鎖相迴路介紹
推動SoC的ESL工具發展現況
comments powered by Disqus
相關討論
  相關新聞
» TI創新車用解決方案 加速實現智慧行車的安全未來
» AMD擴展商用AI PC產品陣容 為專業行動與桌上型系統挹注效能
» 豪威汽車影像感測器高通數位底盤 可用於次代ADAS系統
» 意法半導體擴大3D深度感測布局 打造新一代時間飛行感測器
» AMD第2代Versal系列擴展自調適SoC組合 為AI驅動型系統提供端對端加速


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

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