近年來,IC 設計正在向電子系統(tǒng)級(ESL,electronic system level)解決方案發(fā)展。多家 EDA 公司以及 IP 供應商都推出了各自的 ESL 開發(fā)工具。晶心科技(Andes technology)是亞洲首家完全自主知識產權 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 的方法還可以使軟件設計人員
	提早進入調式和驗證,大幅縮短產品上市時間。因此,采用 ESL 的設計方法已經成為
	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 中,已經預定義了 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ù)需要通過選擇右側 IP 庫中的 IP 模型,并將它們之間的端口(主從端口和讀寫端口)進行連接,就可以很快的架設起初步的
	SoC 原型。工程師可以通過 Virtual SoC  Builder 界面下方的 Properties 視窗對單個 IP 模塊的屬性進行配置,例如修改 CPU 的 I/D Cache、MMU、I/D Local memory 等參數(shù)。還可以通過其他一些視窗對整個 SoC 系統(tǒng)進行設定,例如配置內存映射、配置中斷和設置時鐘等。

	圖 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í)行,還可以進行可視化的程序調
	試和分析(profiling)。另外,模擬器提供了多種模擬 I/O 設備,例如 LCD、Uart、GPIO、
	RTC 等,這使得工程師在 VEP 上運行應用程序時可以進行模擬的輸入或者得到與真實
	硬件平臺一樣的輸出結果。
	4.2 VEP中的IP模型
	    事物處理級模型(TLM)用于建??蓤?zhí)行平臺,通常只描述系統(tǒng)各個功能單元之間的
	抽象操作,一般來說即指各個功能單元之間交換的整個數(shù)據(jù)結構(或對象)上讀取/寫
	入或發(fā)送/接收操作。
	    AndESLive 的 VEP 功能就是基于事務級建模方法,采用事物處理級模型。VEP 中
	虛擬 IP 模型的實現(xiàn)由兩部分組成,內部是標準的 SID 組件,外部是符合 VEP 建模標準
	的組件描述符,如圖 2 所示。組件描述符定義了 IP 功能模塊在 AndESLive 中需要展現(xiàn)
	的特性,例如總線、管腳以及事件、時序等各種屬性,通過這層包裝 SID 組件便可以加
	入到 VEP 中。對于 AndESLive 中已經預定義好的 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)不斷調正原型平臺中各個模塊的特性,在
	性能、功耗和芯片制造成本之間尋求最佳平衡點。
	    圖3為使用 AndESLive 實現(xiàn)系統(tǒng)性能最優(yōu)化設計的示意圖。設計者首先在 Virtual 
	SoC Builder 中建立目標 SoC 原型(圖右側上方白色框所示),然后在 VEP 的模擬器上
	運行測試程序驗證系統(tǒng)性能。如果測試結果未滿足規(guī)格要求,工程師可以借助模擬器產
	生的分析報告(圖右側下方白色框所示)快速定位系統(tǒng)瓶頸,并對 CPU 速度、Cache
	大小、總線利用率、Memory 大小等多方面進行調整后再測試,直到結果符合設計規(guī)格
	的要求。此時,設計者便獲得了最佳的系統(tǒng)架構方案。

	圖 3  用 AndESLive 探索最優(yōu)化的系統(tǒng)架構
	5.2 大幅度縮短開?周期
	    在 SoC 設計中,系統(tǒng)性能不僅取決于芯片硬件,還取決于運行在芯片上的嵌入式軟
	件。采用傳統(tǒng)設計流程,設計者無法準確估算軟件性能,因此就無法確定整個系統(tǒng)的最
	終規(guī)格,只能憑借工程師的經驗設計。此外,軟件的設計、開發(fā)也只能在芯片的硬件原
	型已經提供后才能執(zhí)行,這使得軟/硬件整合時間被推遲,于是整個系統(tǒng)開發(fā)周期就變
	長了。
	    AndESLive 提供了事物處理級的虛擬原型平臺,即 VEP。有了和實際硬件一致的模
	型,軟件工程師就可以和硬件設計人員并行工作,進行代碼編寫并在虛擬原型上進行測
	試。VEP 中的 TLM 模型比同等的 RTL 模型運行速度快 100 至 1000 倍,這個速度足以
	運行相當大的應用程序,例如像 Linux 這樣的操作系統(tǒng)。另外,軟件開發(fā)人員的提早介
	入,使軟/硬件的集成和驗證變得更加容易。這樣,在芯片硬件開發(fā)完成后,大部分或
	者全部軟件都已經準備好并經過驗證,從而縮短了最后的硬件和軟件集成的時間。

	圖 4  傳統(tǒng)設計流程與基于 VEP 的設計流程
	    采用基于 AndESLive VEP 的開發(fā)流程與傳統(tǒng)開發(fā)流程相比(圖 4 所示),軟/硬件開發(fā)可以同時進行,因此系統(tǒng)的設計、開發(fā)和驗證過程更加快速,這不僅使得產品可以更早的
	進入市場,而且各種開發(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)架構方案,使產品更有效的滿足市場需求;基于VEP的設計流程,大幅縮
	減了芯片開發(fā)周期,使產品在市場中具備更強的競爭力。
                     本站內容除特別聲明的原創(chuàng)文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創(chuàng)文章及圖片等內容無法一一聯(lián)系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
                    
