基于Andes Core 的 ESL 解決方案——AndESLive
近年來,IC 設計正在向電子系統(tǒng)級(ESL,electronic system level)解決方案發(fā)展。多家 EDA 公司以及 IP 供應商都推出了各自的 ESL 開發(fā)工具。晶心科技(Andes technology)是亞洲首家完全自主知識產(chǎn)權 32 位嵌入式處理器 IP 核(即 Andes core)的供應商與系統(tǒng)芯片開發(fā)平臺的設計公司。晶心科技為基于 Andes core 進行 SoC 設計和開發(fā)的客戶提
供了一套完整的 ESL 解決方案-AndESLive。本文將介紹 AndESLive 這套 ESL 開發(fā)工具是如何幫助客戶快速確定符合市場需求的最佳體系結構,并實現(xiàn)軟硬件并行工作以縮減開發(fā)周期的目的。1. 為什么采用 ESL 設計 隨著 SoC 設計的發(fā)展,芯片規(guī)模變得越來越大,IP 的使用進一步增加,復雜度和性能的需求不斷提高。另一方面,嵌入式軟件開發(fā)在整個設計中所占的比重也越來越大,整個系統(tǒng)的性能越來越取決于軟硬件協(xié)同工作所表現(xiàn)出的綜合性能。因此,芯片在設計階段就需要進行深入的系統(tǒng)級仿真,以及在芯片的仿真模型上運行大量軟件以覆蓋所需的功能。傳統(tǒng)的設計流程無法滿足這些仿真的執(zhí)行性能,就需要采用一種新的工具來避免由于早期設計的不確定性所帶來的影響。 ESL 設計和驗證是一種在較高的抽象層次上對芯片進行描述和分析的設計方法學,它能夠讓設計工程師快速地構建原型平臺,并以緊耦合的方式開發(fā)、優(yōu)化和驗證復雜系統(tǒng)架構,從而實現(xiàn)最優(yōu)化的系統(tǒng)性能。另外,采用 ESL 的方法還可以使軟件設計人員提早進入調(diào)式和驗證,大幅縮短產(chǎn)品上市時間。因此,采用 ESL 的設計方法已經(jīng)成為IC 設計的必然趨勢。2. 晶心科技的 ESL 解決方案:AndESLive AndESLive 是以 ESL 設計和驗證理念為理論基礎,專門針對基于 Andes core IP 進行 SoC 開發(fā)而設計的 ESL 開發(fā)工具。它集成在 AndeSight(晶心科技基于 Andes core 的集成開發(fā)環(huán)境)中,并通過 AndeSight 提供的 GUI 界面和工程師進行交互。AndESLive 為設計人員提供了一個虛擬評估平臺(VEP,Virtual Evaluation Platform),它是一個描述真實系統(tǒng)行為的系統(tǒng)級仿真模型。VEP 的核心由兩個部分組成,前端叫做Virtual SoC Builder,它可以幫助設計人員快速構建系統(tǒng)原型平臺;后端是一個系統(tǒng)級的模擬器。工程師可以在原型平臺上,對系統(tǒng)(包括硬件和軟件)性能進行評估和驗證,從而實現(xiàn)系統(tǒng)設計的最優(yōu)化。3. Virtual SoC Builder AndESLive 中的 Virtual SoC Builder 為設計人員提供快速搭建目標系統(tǒng)原型的功能。在 AndESLive 中,已經(jīng)預定義了 Andes 各個系列 CPU 的 IP,以及各種周邊設備控制器的 IP,包括高速設備(Memory、DMA、LCD、Ethernet 等)、低速設備(Uart、GPIO、SSP 等)和 BUS(AHB、APB)。另外,工程師還可以添加用戶自定義的 IP 模塊來實現(xiàn)一些特殊的功能需求。 圖 1 為 Virtual SoC Builder 在 AndESLive 中的基本 UI 界面。界面上方的區(qū)域是設計人員構建虛擬 SoC 系統(tǒng)模型的編輯區(qū),工程師根據(jù)需要通過選擇右側(cè) IP 庫中的 IP 模型,并將它們之間的端口(主從端口和讀寫端口)進行連接,就可以很快的架設起初步的SoC 原型。工程師可以通過 Virtual SoC Builder 界面下方的 Properties 視窗對單個 IP 模塊的屬性進行配置,例如修改 CPU 的 I/D Cache、MMU、I/D Local memory 等參數(shù)。還可以通過其他一些視窗對整個 SoC 系統(tǒng)進行設定,例如配置內(nèi)存映射、配置中斷和設置時鐘等。圖 1、Virtual SoC Builder 操作界面4. AndESLive 中的模擬器4.1 基于 SID 的模?器 AndESLive 采用 SID 作為 VEP 的后端模擬器來實現(xiàn)系統(tǒng)級仿真的功能。SID 是一個用于構建計算機系統(tǒng)仿真的框架,是一個松耦合模擬組件的集合。VEP 中的各種 IP 模塊都是 SID 的組件,SID 通過標準的 API(定義管腳、總線、屬性和關系)掛載組件,并通過 SID 配置文件實現(xiàn)組件間的連接和交互,從而達到模擬物理硬件行為的目的。AndESLive 中的模擬器具有很高的仿真效能,其執(zhí)行是基于機器周期或是機器指令的。工程師不僅可以在 VEP 上實現(xiàn)應用程序的快速執(zhí)行,還可以進行可視化的程序調(diào)試和分析(profiling)。另外,模擬器提供了多種模擬 I/O 設備,例如 LCD、Uart、GPIO、RTC 等,這使得工程師在 VEP 上運行應用程序時可以進行模擬的輸入或者得到與真實硬件平臺一樣的輸出結果。4.2 VEP中的IP模型 事物處理級模型(TLM)用于建??蓤?zhí)行平臺,通常只描述系統(tǒng)各個功能單元之間的抽象操作,一般來說即指各個功能單元之間交換的整個數(shù)據(jù)結構(或?qū)ο螅┥献x取/寫入或發(fā)送/接收操作。 AndESLive 的 VEP 功能就是基于事務級建模方法,采用事物處理級模型。VEP 中虛擬 IP 模型的實現(xiàn)由兩部分組成,內(nèi)部是標準的 SID 組件,外部是符合 VEP 建模標準的組件描述符,如圖 2 所示。組件描述符定義了 IP 功能模塊在 AndESLive 中需要展現(xiàn)的特性,例如總線、管腳以及事件、時序等各種屬性,通過這層包裝 SID 組件便可以加入到 VEP 中。對于 AndESLive 中已經(jīng)預定義好的 IP 模塊,工程師只要通過修改這些 IP模塊的描述符,改變模塊的參數(shù)和屬性,便可以使之具備所需要的新的特性。圖 2 VEP 模型結構圖 如果需要添加新的 VEP 模塊,工程師需要進行 VEP 模型的建模。建模有兩種方式,如果 SID 組件是由 C/C++語言來描述,那組件外部需要一層 XML 語言實現(xiàn)的描述符來進行包裝;如果工程師希望用 SystemC 實現(xiàn)模塊,則需要實現(xiàn)一個 SID-SystemC 橋文件,用 來 完 成 SID 與 SystemC 接 口 之 間 的 通 信 功 能 。 對 于 編 寫 組 件 描 述 符 文 件 或 者SID-SystemC 橋文件,晶心科技會提供完整的培訓和技術資源,幫助客戶快速實現(xiàn)建模工作。5.使用 AndESLive 進行設計和開發(fā)5.1 探索最優(yōu)化的系?架構 隨著 SoC 芯片規(guī)模擴大、工藝的提升, IP 的使用將進一步增加,芯片可能包含多個可編程部件(CPU 或 DSP)。為 了 SoC 設計的成功,在設計的初期探索和驗證符合市場需求的最優(yōu)化系統(tǒng)架構變得越來越重要。 AndESLive 為設計者提供了創(chuàng)建基于 TLM 的虛擬原型平臺功能。工程師可以通過Virtual SoC Builder 快速組裝基于 Andes core 的虛擬原型;通過模擬器仿真驗證系統(tǒng)結構方案功能的完整性;通過分析功能(profiling)不斷調(diào)正原型平臺中各個模塊的特性,在性能、功耗和芯片制造成本之間尋求最佳平衡點。 圖3為使用 AndESLive 實現(xiàn)系統(tǒng)性能最優(yōu)化設計的示意圖。設計者首先在 VirtualSoC Builder 中建立目標 SoC 原型(圖右側(cè)上方白色框所示),然后在 VEP 的模擬器上運行測試程序驗證系統(tǒng)性能。如果測試結果未滿足規(guī)格要求,工程師可以借助模擬器產(chǎn)生的分析報告(圖右側(cè)下方白色框所示)快速定位系統(tǒng)瓶頸,并對 CPU 速度、Cache大小、總線利用率、Memory 大小等多方面進行調(diào)整后再測試,直到結果符合設計規(guī)格的要求。此時,設計者便獲得了最佳的系統(tǒng)架構方案。圖 3 用 AndESLive 探索最優(yōu)化的系統(tǒng)架構5.2 大幅度縮短開?周期 在 SoC 設計中,系統(tǒng)性能不僅取決于芯片硬件,還取決于運行在芯片上的嵌入式軟件。采用傳統(tǒng)設計流程,設計者無法準確估算軟件性能,因此就無法確定整個系統(tǒng)的最終規(guī)格,只能憑借工程師的經(jīng)驗設計。此外,軟件的設計、開發(fā)也只能在芯片的硬件原型已經(jīng)提供后才能執(zhí)行,這使得軟/硬件整合時間被推遲,于是整個系統(tǒng)開發(fā)周期就變長了。 AndESLive 提供了事物處理級的虛擬原型平臺,即 VEP。有了和實際硬件一致的模型,軟件工程師就可以和硬件設計人員并行工作,進行代碼編寫并在虛擬原型上進行測試。VEP 中的 TLM 模型比同等的 RTL 模型運行速度快 100 至 1000 倍,這個速度足以運行相當大的應用程序,例如像 Linux 這樣的操作系統(tǒng)。另外,軟件開發(fā)人員的提早介入,使軟/硬件的集成和驗證變得更加容易。這樣,在芯片硬件開發(fā)完成后,大部分或者全部軟件都已經(jīng)準備好并經(jīng)過驗證,從而縮短了最后的硬件和軟件集成的時間。圖 4 傳統(tǒng)設計流程與基于 VEP 的設計流程 采用基于 AndESLive VEP 的開發(fā)流程與傳統(tǒng)開發(fā)流程相比(圖 4 所示),軟/硬件開發(fā)可以同時進行,因此系統(tǒng)的設計、開發(fā)和驗證過程更加快速,這不僅使得產(chǎn)品可以更早的進入市場,而且各種開發(fā)資源也得到了更大的使用效率,從而進一步降低了成本。6. 結語晶心科技(Andes)是一家致力于32位嵌入式處理器IP的授權公司,面對不同應用層級的32位處理器市場,推出了Andes core:N9(50-200MHz)、N10(50-240MHz)、N12(50-660MHz)三個系列的低功耗高性價比的32位處理器軟、硬核IP。AndESLive是晶心科技為基于Andes core進行SoC開發(fā)而設計的ESL開發(fā)工具。AndESLive幫助客戶找到最優(yōu)化的系統(tǒng)架構方案,使產(chǎn)品更有效的滿足市場需求;基于VEP的設計流程,大幅縮減了芯片開發(fā)周期,使產(chǎn)品在市場中具備更強的競爭力。