新聞中心

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

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

作者: 時(shí)間:2010-01-14 來(lái)源:網(wǎng)絡(luò) 收藏
使用可搭建MPSoC

本文引用地址:http://2s4d.com/article/152137.htm

當(dāng)使用多顆尤其是使用可來(lái)SoC時(shí),將會(huì)遇到一些關(guān)鍵問(wè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ù)下,如何能得到多種方案并進(jìn)行對(duì)比?

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

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

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


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

IDE是最引人注目的部分。Eclipsez作為一個(gè)開(kāi)源軟件,對(duì)擴(kuò)展已有的軟件工具、器件、調(diào)試軟件都有很好的支持,而這些功能可以使得MPSoC 設(shè)計(jì)在更抽象的層次上進(jìn)行。比如可以在Eclipse中加入處理器創(chuàng)建、擴(kuò)展的用戶(hù)配置界面,將用戶(hù)的配置轉(zhuǎn)化成某種特定語(yǔ)言描述的指令擴(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ù),并通過(guò)圖形界面向用戶(hù)顯示。并需提供分析工具,使得用戶(hù)可以方便得到傳輸延遲、資源競(jìng)爭(zhēng)、處理器等待、內(nèi)存的使用狀況,以及處理器數(shù)據(jù)讀取的平衡狀況等系統(tǒng)級(jí)信息。

IP的參數(shù)(meta-data)和一些臨時(shí)信息需要使用標(biāo)準(zhǔn)的格式來(lái)存儲(chǔ)。近來(lái)XML格式被廣泛的使用到工具中,如Mentor Graphics的Platform Express等等。XML格式排版的文件很容易被擴(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è)非常重要的概念,但到目前為止還沒(méi)有為T(mén)LM上的互操作定義標(biāo)準(zhǔn)。由于沒(méi)有一個(gè)可用的OSCI TLM標(biāo)準(zhǔn),考慮到OSCI工作的不透明性質(zhì)和其缺乏一個(gè)發(fā)展的路線圖,ESL世界里的系統(tǒng)仿真必須繼續(xù)依賴(lài)于IP提供商提供的可供互聯(lián)的適配器和用戶(hù)自己對(duì)“事務(wù)”這一概念的理解。

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

可配置處理器是高性能MPSoC系統(tǒng)的核心,通過(guò)擴(kuò)展指令的自動(dòng)生成技術(shù)使得在設(shè)計(jì)的最后階段仍可修改系統(tǒng)配置。通過(guò)在設(shè)計(jì)的早期階段自動(dòng)生成的配置和擴(kuò)展ISA,可將最初的任務(wù)映射到這個(gè)處理器上,當(dāng)處理器發(fā)生變化,任務(wù)需要重新被映射時(shí),該過(guò)程可以快速反復(fù)迭代進(jìn)行。通過(guò)手動(dòng)對(duì)設(shè)計(jì)進(jìn)行改善,最終可以通過(guò)提高進(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)商來(lái)提供,而不是EDA工具廠商。雖然仍可以使用通用的ESL工具,但具體的流程和特定工具都將是與所使用的IP直接相關(guān)的。

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

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉