新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于可配置處理器的嵌入式系統(tǒng)ESL設(shè)計(jì)需求

基于可配置處理器的嵌入式系統(tǒng)ESL設(shè)計(jì)需求

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

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

本文引用地址:http://m.butianyuan.cn/article/152137.htm

* 行為級綜合

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

* 構(gòu)建虛擬原型

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

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

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

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

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

但現(xiàn)今提供的商業(yè)ESL工具沒有一種可以在更早的階段幫助工程師決定系統(tǒng)的基礎(chǔ)架構(gòu),例如決定整個(gè)系統(tǒng)需要使用處理器的數(shù)量和種類;需要設(shè)計(jì)專門的通信機(jī)制還是使用傳統(tǒng)的分級總線;如何將應(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ù)雜許多。從最小、最簡單的手持無線設(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)足夠了。但事情并非如此簡單,如今已有很多的SoC設(shè)計(jì)使用了至少兩顆處理器(一顆是做控制的RISC,另一顆是進(jìn)行數(shù)據(jù)處理的DSP),并且下一代SoC設(shè)計(jì)正朝著6~10顆處理器這一方向前進(jìn)。在這種情況下,目前顯然缺乏設(shè)計(jì)方??和工具來支持這樣的設(shè)計(jì)。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉