當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于可配置處理器的嵌入式系統(tǒng)ESL設(shè)計(jì)需求

近年來,越來越多的嵌入式系統(tǒng)和SoC開始轉(zhuǎn)向使用可配置處理器技術(shù),這樣既可以縮短產(chǎn)品開發(fā)周期,又可使設(shè)計(jì)更加靈活,甚至流片后仍可以修改部分功能。這要求處理器設(shè)計(jì)不僅能靈活重用已有設(shè)計(jì),同時(shí)又要高效,對(duì)于特定應(yīng)用具有很好的性能,并在符合性能、功耗前提下,能夠直接替代硬連線邏輯模塊。目前ESL工具對(duì)處理器的不同配置和擴(kuò)展已經(jīng)有很好的支持,但針對(duì)于像多核SoC(MPSoC)這樣的復(fù)雜設(shè)計(jì),ESL工具還很難滿足設(shè)計(jì)需求。我們可以將通常的ESL領(lǐng)域劃分成5個(gè)主要部分:

* 算法設(shè)計(jì)與實(shí)現(xiàn)

* 行為級(jí)綜合

* SoC架構(gòu)設(shè)計(jì)、仿真及分析

* 構(gòu)建虛擬系統(tǒng)原型

* 功能-架構(gòu)協(xié)同設(shè)計(jì)

算法設(shè)計(jì)工具允許用戶對(duì)算法進(jìn)行描述、仿真,并且可以生成算法實(shí)現(xiàn)流程的代碼描述。比如Mathworks的Matlab和Simlink就是這種工具。目前大部分的工具是使用面向數(shù)據(jù)流或數(shù)據(jù)密集型算法進(jìn)行建模,但是也有一些工具,如Mathworks的StateFlow,允許用戶使用有限狀態(tài)機(jī)對(duì)控制邏輯進(jìn)行描述,并可實(shí)現(xiàn)自動(dòng)生成C代碼。

行為級(jí)綜合工具是新一代基于C/C++或SystemC開發(fā)的工具,專門為滿足算法和軟件工程師而非硬件工程師的設(shè)計(jì)需要而開發(fā)的。由于使用C/C++,因此仿真速度比使用傳統(tǒng)的RTL方法有了10~1000倍的顯著提高。這也為系統(tǒng)硬件、軟件和算法的聯(lián)合仿真開辟了一條新道路。

用戶通過SoC的架構(gòu)設(shè)計(jì)工具使用傳統(tǒng)總線,標(biāo)準(zhǔn)嵌入式處理器庫(如MIPS或ARM),以及其他的一些組件(如存儲(chǔ)器,特殊的硬件模塊和外設(shè)等)來構(gòu)建SoC系統(tǒng)。之后便可以對(duì)整個(gè)設(shè)計(jì)進(jìn)行仿真,通常使用SystemC或C/C++描述的指令集仿真器(ISS)和外圍硬件模塊聯(lián)合仿真。這樣便可分析得到一些系統(tǒng)級(jí)的特性,如總線負(fù)荷、競(jìng)爭(zhēng),內(nèi)存訪問,處理器負(fù)荷等。這些工具可以從CoWare,ARM,Synopsys等公司得到。

虛擬系統(tǒng)原型工具提供單核或多核SoC平臺(tái)的仿真模型,可以以數(shù)十MHz的速度仿真實(shí)際系統(tǒng)。系統(tǒng)架構(gòu)師需要在這樣的平臺(tái)上運(yùn)行大量的測(cè)試序列,并得到系統(tǒng)性能分析的結(jié)果,軟件開發(fā)人員也可在接近實(shí)際的仿真模型中測(cè)試他們的嵌入式軟件。

但現(xiàn)今提供的商業(yè)ESL工具沒有一種可以在更早的階段幫助工程師決定系統(tǒng)的基礎(chǔ)架構(gòu),例如決定整個(gè)系統(tǒng)需要使用處理器的數(shù)量和種類;需要設(shè)計(jì)專門的通信機(jī)制還是使用傳統(tǒng)的分級(jí)總線;如何將應(yīng)用程序劃分成多個(gè)任務(wù),并分配到不同的處理器上運(yùn)行;如何有效的探索各種可能的設(shè)計(jì)方案等。現(xiàn)在的SoC架構(gòu)設(shè)計(jì)工具和ISS要在體系架構(gòu)確定后才有用武之地。

今天的設(shè)計(jì)要比上世紀(jì)90年代末處理器加硬件模塊的結(jié)構(gòu)復(fù)雜許多。從最小、最簡(jiǎn)單的手持無線設(shè)備到標(biāo)準(zhǔn)的、帶有語音視頻處理功能的蜂窩電話,直至非常復(fù)雜的電子設(shè)備,當(dāng)今的技術(shù)已經(jīng)可以把多顆處理器、多片存儲(chǔ)器、復(fù)雜的片上通信總線網(wǎng)絡(luò),以及由相當(dāng)可觀的硬件模塊組成的協(xié)同工作子系統(tǒng)集成到一顆SoC中。同時(shí)應(yīng)用軟件也愈加復(fù)雜,數(shù)百萬行代碼組成的系統(tǒng)軟件已是司空見慣了。因此,使用傳統(tǒng)方法進(jìn)行體系結(jié)構(gòu)設(shè)計(jì)變得日益困難,這一切都使得ESL設(shè)計(jì)方法學(xué)變得越來越必要。尤其是當(dāng)可配置處理器代替?zhèn)鹘y(tǒng)的固定指令集處理器,可能的設(shè)計(jì)方案越來越多時(shí)更是如此。

定制指令集處理器(ASIP)

基于特定應(yīng)用定制指令集處理器(ASIP),這一概念在嵌入式系統(tǒng)設(shè)計(jì)中變得越來越重要。ASIP的設(shè)計(jì)方法學(xué)和開發(fā)工具也在學(xué)術(shù)界和IP設(shè)計(jì)領(lǐng)域被提及,并且許多商業(yè)的ESL工具已經(jīng)提供了類似的處理器和協(xié)處理器綜合工具。處理器的指令集大都采用一種中間形式進(jìn)行描述。Tensilica提供的XPRES工具也提供這樣的功能,由Tensilica定義的TIE語言描述的,并且工程師可以應(yīng)用這種語言,進(jìn)一步手動(dòng)優(yōu)化處理器的特定配置。

如果SoC的設(shè)計(jì)是要通過單顆CPU實(shí)現(xiàn),也許再增加一些硬件加速器來提升性能,那么現(xiàn)在的這些工具和設(shè)計(jì)方??就已經(jīng)足夠了。但事情并非如此簡(jiǎn)單,如今已有很多的SoC設(shè)計(jì)使用了至少兩顆處理器(一顆是做控制的RISC,另一顆是進(jìn)行數(shù)據(jù)處理的DSP),并且下一代SoC設(shè)計(jì)正朝著6~10顆處理器這一方向前進(jìn)。在這種情況下,目前顯然缺乏設(shè)計(jì)方??和工具來支持這樣的設(shè)計(jì)。

[!--empirenews.page--]使用可配置處理器搭建MPSoC系統(tǒng)

當(dāng)使用多顆處理器尤其是使用可配置處理器來設(shè)計(jì)SoC時(shí),將會(huì)遇到一些關(guān)鍵問題,包括:

* 一個(gè)或一組應(yīng)用需要使用多少顆處理器

* 應(yīng)如何配置、擴(kuò)展這些處理器

* 處理器采用同構(gòu)方式還是異構(gòu)方式

* 處理器之間如何通信?采用標(biāo)準(zhǔn)總線,還是片上網(wǎng)絡(luò)(NoC),采用點(diǎn)到點(diǎn)方式,或是多種方式的組合。

* 如何選擇正確的并行模式,是流水線還是多線程?

* 工程師如何從應(yīng)用程序中提取可并行執(zhí)行的任務(wù)?又怎樣分解他們?

* 在可配置處理器,多處理器,新的通信架構(gòu)以及內(nèi)存選擇等多種可供選擇的技術(shù)下,如何能得到多種設(shè)計(jì)方案并進(jìn)行對(duì)比?

* 在90nm以下的工藝流程上,如何從10個(gè)處理器的設(shè)計(jì)擴(kuò)展到100個(gè),甚至1000個(gè)處理器?

如今EDA供應(yīng)商所提供的ESL工具還不足以解決這些問題。可配置處理器IP廠商的工具提供了以下流程幫助工程師進(jìn)行設(shè)計(jì):從已有的應(yīng)用程序或算法的軟件代碼開始;分解成多個(gè)同步處理進(jìn)程;將各個(gè)進(jìn)程分別映射到已經(jīng)優(yōu)化過的處理器上,這些處理器之間有著理想的通信網(wǎng)絡(luò);迭代處理器定義和進(jìn)程映射;分析處理器間通信網(wǎng)絡(luò)的需求;設(shè)計(jì)并行控制和調(diào)度模塊;涉及通信網(wǎng)絡(luò)(包括存儲(chǔ)器、總線、隊(duì)列等);分析結(jié)果并且迭代其他可能的配置;反復(fù)迭代優(yōu)化直至實(shí)現(xiàn)滿足設(shè)計(jì)需求的MPSoC系統(tǒng);實(shí)現(xiàn)軟件/硬件的具體設(shè)計(jì)。

這種自上至下、以應(yīng)用需求為驅(qū)動(dòng)的設(shè)計(jì)流程,在一些MPSoC子系統(tǒng)的應(yīng)用設(shè)計(jì)中是非常適合的。尤其是當(dāng)需要一個(gè)全新的功能,或者之前的系統(tǒng)設(shè)計(jì)方案不足以支持新標(biāo)準(zhǔn)應(yīng)用程序的開發(fā)時(shí),這種從設(shè)計(jì)需求和應(yīng)用程序的特征出發(fā)進(jìn)行設(shè)計(jì)的方法,往往可以得到最優(yōu)的解決方案。使用這種方法定義系統(tǒng)的體系架構(gòu)時(shí),通過模擬、分析,并迭代得出使用處理器的種類和數(shù)量,內(nèi)存的層次結(jié)構(gòu)以及通信子系統(tǒng)等等是非常有效的。


MPSoC ESL設(shè)計(jì)方法需要提供很多功能,這些需要包含在集成開發(fā)環(huán)境(IDE)中,如系統(tǒng)建模,程序映射,各種設(shè)計(jì)方案對(duì)比,以及對(duì)可配置處理器的配置修改。

IDE是最引人注目的部分。Eclipsez作為一個(gè)開源軟件,對(duì)擴(kuò)展已有的軟件工具、器件、調(diào)試軟件都有很好的支持,而這些功能可以使得MPSoC ESL設(shè)計(jì)在更抽象的層次上進(jìn)行。比如可以在Eclipse中加入處理器創(chuàng)建、擴(kuò)展的用戶配置界面,將用戶的配置轉(zhuǎn)化成基于某種特定語言描述的指令擴(kuò)展,之后交給外部的特定編譯器進(jìn)行編譯。因?yàn)檫@一擴(kuò)展被編譯成RTL級(jí)的描述,在這種意義下可以使用IDE定制和實(shí)現(xiàn)一個(gè)軟硬件系統(tǒng)。

IDE軟件提供的項(xiàng)目編輯功能可以支持設(shè)計(jì)輸入、修改、映射到特定處理器等操作。同時(shí)還要能夠配置處理器、內(nèi)存、通信接口、總線以及外設(shè)等設(shè)備,用以搭建一個(gè)完整的系統(tǒng)。IDE還需要支持系統(tǒng)級(jí)仿真,可以裝載處理器的ISS,能夠裝載整個(gè)系統(tǒng)的仿真模型,靜態(tài)或動(dòng)態(tài)的追蹤系統(tǒng)級(jí)上發(fā)生的事件,能統(tǒng)計(jì)處理器的執(zhí)行狀況并記錄數(shù)據(jù),并通過圖形界面向用戶顯示。并需提供分析工具,使得用戶可以方便得到傳輸延遲、資源競(jìng)爭(zhēng)、處理器等待、內(nèi)存的使用狀況,以及處理器數(shù)據(jù)讀取的平衡狀況等系統(tǒng)級(jí)信息。

IP的參數(shù)(meta-data)和一些臨時(shí)信息需要使用標(biāo)準(zhǔn)的格式來存儲(chǔ)。近來XML格式被廣泛的使用到工具中,如Mentor Graphics的Platform Express等等?;赬ML格式排版的文件很容易被擴(kuò)展,解析和生成,所以是一種描述存儲(chǔ)系統(tǒng)架構(gòu)和參數(shù)的極具吸引力的方法。

有了系統(tǒng)架構(gòu)的信息,也有了標(biāo)準(zhǔn)格式的ISS模型,便可以生成系統(tǒng)仿真模型用于系統(tǒng)測(cè)試。許多已有的ISS支持在SystemC環(huán)境中運(yùn)行,這樣便可以和總線模型、內(nèi)存模型、硬件模塊模型、外設(shè)模型等其他系統(tǒng)模型在事務(wù)級(jí)上進(jìn)行互聯(lián)、仿真。TLM在ESL方??中是一個(gè)非常重要的概念,但到目前為止還沒有為TLM上的互操作定義標(biāo)準(zhǔn)。由于沒有一個(gè)可用的OSCI TLM標(biāo)準(zhǔn),考慮到OSCI工作的不透明性質(zhì)和其缺乏一個(gè)發(fā)展的路線圖,ESL世界里的系統(tǒng)仿真必須繼續(xù)依賴于IP提供商提供的可供互聯(lián)的適配器和用戶自己對(duì)“事務(wù)”這一概念的理解。

快速功能仿真,有時(shí)也被稱為“虛擬系統(tǒng)原型”,是對(duì)周期精確型的TLM模型的重要補(bǔ)充。周期精確型的TLM模型允許對(duì)系統(tǒng)運(yùn)行時(shí)的細(xì)節(jié)進(jìn)行分析,每秒鐘只能運(yùn)行數(shù)千個(gè)周期或再多一些,而快速功能仿真則可以數(shù)百萬個(gè)周期每秒的速度運(yùn)行,這對(duì)軟件的開發(fā)有著特別的意義。

可配置處理器是高性能MPSoC系統(tǒng)的核心,通過擴(kuò)展指令的自動(dòng)生成技術(shù)使得在設(shè)計(jì)的最后階段仍可修改系統(tǒng)配置。通過在設(shè)計(jì)的早期階段自動(dòng)生成的配置和擴(kuò)展ISA,可將最初的任務(wù)映射到這個(gè)處理器上,當(dāng)處理器發(fā)生變化,任務(wù)需要重新被映射時(shí),該過程可以快速反復(fù)迭代進(jìn)行。通過手動(dòng)對(duì)設(shè)計(jì)進(jìn)行改善,最終可以通過提高進(jìn)程效率,從而降低處理器頻率,達(dá)到設(shè)計(jì)目標(biāo)。自動(dòng)生成的軟件工具鏈(包括編譯器、ISS、調(diào)試器和IDE擴(kuò)展功能模塊)允許對(duì)處理器的每一個(gè)修改都可以反映到整體系統(tǒng)中。

本文小結(jié)

復(fù)雜的多顆可配置處理器組成的嵌入式系統(tǒng)設(shè)計(jì)對(duì)現(xiàn)今的ESL工具提出了更高的要求,這些需求似乎更像是應(yīng)該由IP供應(yīng)商來提供,而不是EDA工具廠商。雖然仍可以使用通用的ESL工具,但具體的流程和特定工具都將是與所使用的IP直接相關(guān)的。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉