一種可進化IP核的設(shè)計和實現(xiàn)_第1頁
一種可進化IP核的設(shè)計和實現(xiàn)_第2頁
一種可進化IP核的設(shè)計和實現(xiàn)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、    一種可進化IP核的設(shè)計和實現(xiàn)    一種可進化IP核的設(shè)計和實現(xiàn)    類別:嵌入式系統(tǒng)      電路的設(shè)計中,使電路能根據(jù)當前的環(huán)境自動進行內(nèi)部電路的時化,從而生成最有效的電路,并能在普通的fpga器件上實現(xiàn)??蛇M化ip核以hdl源泉代碼的形式表示,與普通ip核的復用方式相同,可被綜合到不同的目標可重構(gòu)器件中去,大大減少了復雜系統(tǒng)的設(shè)計時間,提高了設(shè)計的利用率,是可進化硬件一個頗具潛力的發(fā)展方向。fpga

2、 可重構(gòu) 虛擬可重構(gòu)電路引言隨著信息技術(shù)的飛速發(fā)展,計算機系統(tǒng)面臨的問題越來越復雜,如何保證復雜系統(tǒng)的可靠性成為一個不容忽視的問題。可進化硬件給我們提供了一個很好的解決方案。可進化硬件ehw(evolvable hardware)是將進化算法和可編程邏輯元件融合在一起而產(chǎn)生的一種新的硬件研究流派。當所使用的環(huán)境發(fā)生變化時,或被放置于未知的環(huán)境中時,這種硬件會自動地改變內(nèi)部結(jié)構(gòu),使之經(jīng)常處于最適合狀態(tài),快速高效地完成規(guī)定的任務(wù)??删幊涕T陣列(fpga)以其獨有的優(yōu)點為國外多數(shù)研究人員用作硬件進化平臺。ehw利用fpga的在線可編程技術(shù)(isp)及動態(tài)重構(gòu)技術(shù),將fpga的配置信息作為染色體,通過

3、遺傳算法(ga)對其進行反復的適應(yīng)度計算,交叉和變異,最終進化出符號環(huán)境要求的個體(即電路配置),從而使電路適合環(huán)境的變化。與此同時,隨著fpga技術(shù)的發(fā)展,芯片的性能越來越強、規(guī)模越來越大、開發(fā)的周期越來越長,使得芯片設(shè)計業(yè)正面臨一系列新的問題:設(shè)計質(zhì)量難以控制,設(shè)計成本也越來越高。ip(intelligence property)技術(shù)解決了當今芯片設(shè)計業(yè)所面臨的難題。ip是指可用來生成asic和pld的邏輯功能塊,又稱ip核(ip core)或虛擬器件(vc)。設(shè)計者可以重復使用已經(jīng)設(shè)計并經(jīng)過驗證的ip核,從而專注于整個系統(tǒng)的設(shè)計,提高設(shè)計的效率和正確性,降低成本。目前數(shù)字ip已得到了充分

4、的發(fā)展,可以很方便地購買到ip核并整合到soc的設(shè)計中。因此,可以考慮將進化硬件的思想應(yīng)用于ip核的設(shè)計中,設(shè)計一種可進化的ip核,根據(jù)當前的環(huán)境進化出相應(yīng)的電路,并能夠在普通的可重構(gòu)器件中實現(xiàn)。1 什么是可進化ip核從進化硬件的經(jīng)驗可知,系統(tǒng)通常只有一部分是適應(yīng)性的(可進化的),另一部分可以通過傳統(tǒng)的不可變的電路來實現(xiàn)。同樣,使用ip核構(gòu)造的系統(tǒng)也是有些ip核是可進化的,有些ip核是不可變的。可進化的那些ip核稱為可進化組件或可進化ip核??蛇M化ip核像普通的ip核一樣被存儲在組件庫中,在被下載并放在一個可重構(gòu)器件中后,它們將自動地進化它們的內(nèi)部電路。當不再需要適應(yīng)性行為時,可以從可重構(gòu)器件

5、中刪除可進化ip核??蛇M化ip核和普通ip核的復用方式相同。2 可進化ip核的一般體系結(jié)構(gòu)如圖1所示,可進化ip核由可重構(gòu)電路,基因單元和控制器構(gòu)成(本文中可重構(gòu)電路是指可進化ip核內(nèi)的一個部分;可重構(gòu)器件是指整個可重構(gòu)平臺,如fpga)。這里要強調(diào)的是,基因單元不包含適應(yīng)度計算,它只實現(xiàn)基因的操作、染色體存儲和適應(yīng)度存儲。適應(yīng)度的計算和環(huán)境由其它的核來提供?;騿卧梢恍┡渲貌⑸陷d到可重構(gòu)電路中去,環(huán)境對這些配置進行評估,并將適應(yīng)度值發(fā)送給ip核??蛇M化ip核實際上是一個由環(huán)境控制的電路生成器。環(huán)境(由其它核提出)和可進化ip核之間的通信如下:首先ip核被初始化(生成初始化種群),然后進入

6、如下無限循環(huán)當環(huán)境發(fā)生變化后,環(huán)境計算當前電路配置的適應(yīng)度,并判斷電路是否適應(yīng)環(huán)境。如果染色體存儲器中的配置不可用,則向ip核發(fā)出控制信息,ip核開始進化。即基因單元把硬件配置信息作為染色體,根據(jù)適應(yīng)度對其進行交叉、變異等遺傳操作,生成一個新的種群。環(huán)境對新種群進行適應(yīng)度計算,并判斷是否有滿足當前環(huán)境的個體(配置)。若沒有,向ip核發(fā)控制信息,遺傳單元繼續(xù)對電路配置進行進化,直至有滿足當前環(huán)境的配置為止;若有,則將適應(yīng)度值發(fā)給ip核,ip核用這個新生成的最優(yōu)配置來重配置可重構(gòu)電路,并在染色體存儲器中保存當前最優(yōu)配置及其適應(yīng)度值,等待來自環(huán)境的下一個請求。環(huán)境總是要求下載當前最優(yōu)的進化電路,因此

7、,ip核必須保存目前為止最優(yōu)的配置,并且在需要的時候提供出去。可進化ip核總是屏蔽重構(gòu)過程,因此它對于外部環(huán)境來說是不可見的。對于一些特殊的應(yīng)用,必須為它們開發(fā)專用的可進化ip核,因為反映應(yīng)用的要求基因單元和可重構(gòu)電路的體系結(jié)構(gòu)將使進化過程優(yōu)于一個隨機的搜索。由于適應(yīng)度計算是在ip核外進行的,因此ip核原則上支持動態(tài)適應(yīng)度函數(shù)和無限的進化。可進化ip核可以用軟件實現(xiàn)。3 可進化ip核的實現(xiàn)31 實現(xiàn)中的問題可復用的ip核通常有軟核、固核和硬核三種。本文討論的是軟核。本文的目標是,設(shè)計和實現(xiàn)以hdl源代碼(例如,vhdl)表示的可進化ip核。其優(yōu)點是ip核的表示獨立于平臺,這樣它們就可以在各種不

8、同的目標結(jié)構(gòu)中運行。要解決的主要問題是,可進化的ip核的內(nèi)部可重構(gòu)電路的自動重構(gòu)(因為它們是可進化的)。    當一個可進化ip核從一個組件庫中被下載到可重構(gòu)器件的一個指定位置時,它的內(nèi)部可重構(gòu)電路必須進行重構(gòu)。這就意味著這個可重構(gòu)器件中的一些可編程塊必須能配置這個可重構(gòu)器件的其它內(nèi)部可編程塊。另外,這個可進化ip核(它的基因單元)能被放置于這個可編程陣列(即可重構(gòu)器件)的任何位置,也就是說,這個可重構(gòu)器件中必須支持內(nèi)部重構(gòu)。fpga以其動態(tài)可重構(gòu)的優(yōu)點,無疑是可進化ip核的最佳實現(xiàn)平臺。然而,通常的fpga并不支持內(nèi)部重構(gòu),而只允許通過一個特殊的配置接

9、口外部重構(gòu)(如圖2)。目前,只存在一種支持內(nèi)部重構(gòu)的平臺,就是單元陣列,但這種芯片目前還相當少。因此,為了在普通fpga器件實現(xiàn)可進化ip核,使之能在實際應(yīng)用中發(fā)揮作用,必須采用其它的一些方法。硬件虛擬化是基于fpga的系統(tǒng)常用的一種設(shè)計技術(shù)。從這個思想出發(fā),本文采用了一個被稱為虛擬可重構(gòu)電路的技術(shù)來實現(xiàn)可進化硬件中的內(nèi)部可重構(gòu)電路。但文中對設(shè)計虛擬可重構(gòu)電路的概念進行了擴展。3.2 虛擬可重構(gòu)電路一些fpga芯片支持部分重構(gòu),也就是允許可重構(gòu)系統(tǒng)的一部分重構(gòu),而不影響其余部分的運行。部分重構(gòu)的優(yōu)點在于,其重構(gòu)所花的時間比全部重構(gòu)更少。本文以支持部分重構(gòu)的xilinx virtex fpga為

10、例,來說明虛擬可重構(gòu)電路的實現(xiàn)。ip核可以動態(tài)地下載到fpga或從fpga刪除。所有的操作都通過virtex重構(gòu)端口和jbits接口來完成。當一個可進化ip核被下載時,它的重構(gòu)位串在指定位置構(gòu)靠下列單元;虛擬可重構(gòu)電路、基因單元和控制器。圖2表明,虛擬可重構(gòu)電路實際上是一種在普通fpga上實現(xiàn)的新的可重構(gòu)電路。本例中由八個可編程元素構(gòu)成,由virtex單元(slice)實現(xiàn)。virtex單元實現(xiàn)新的可編程元素陣列、新的布線電路和新的配置存儲器。虛擬電路能內(nèi)部重構(gòu),但如果有其它新的配置存儲器與之連接,也可從fpga的i/o引腳配置。這種方法的優(yōu)點在于:可根據(jù)具體的應(yīng)用需要準確地設(shè)計可編程元素陣列

11、、布線電路和配置存儲器。虛擬可重構(gòu)電路的重構(gòu)方式和粒度能準確地反映具體應(yīng)用的需要。通過虛擬可重構(gòu)電路,很容易把領(lǐng)域知識插入到基因單元和可重構(gòu)電路的體系結(jié)構(gòu)中,從而獲得電路軟件模型的精確實現(xiàn)。圖3給出了一個虛擬可編程元素的例子。這個虛擬可重構(gòu)電路由8個這樣的元素構(gòu)成,有4個輸入和2個輸出。這些虛擬可編程元素稱為可重配置功能塊cfb(configurable functional blocks)。每個cfb對應(yīng)一個配置位串(這里的位串為6位),其中兩個配置位決定了cfb的功能,其它四位定義了輸入的連接信息。布線電路由多路器組成,它們由配置存儲器中的位串控制。配置存儲器由virtex單元構(gòu)成,一個v

12、irtex單元包含兩個觸發(fā)器,用于存儲配置位串中的兩位。配置存儲器的所有位都連到多路器,多路器控制布線和cfb中功能的選擇。虛擬可重構(gòu)電路中cfb的數(shù)量由具體的應(yīng)用決定。虛擬可重構(gòu)電路用結(jié)構(gòu)級vhdl語言來描述,但是一些基本的電路(例如“max”電路)用行為級來描述。虛擬可重構(gòu)能在不同的目標器件下綜合,目標器件并不需要支持部分重構(gòu)。    33 基因單元和控制器基因單元和控制器的實現(xiàn)通常有兩種選擇:采用普通微處理器實現(xiàn),或者設(shè)計一個專用的電路來實現(xiàn)。專用的電路是指一種進化算法的硬件實現(xiàn),目前在可進化硬件領(lǐng)域已經(jīng)開發(fā)了很多這樣的實現(xiàn)。這種算法的優(yōu)點是電路的

13、進化速度快,適合于復雜的應(yīng)用。采用微處理器實現(xiàn)時,可以購買或免費獲得現(xiàn)成的微處理器軟核,如xilinx提供的microblaze和picoblaze微控制器ip核,altera生產(chǎn)nios核,等等。此外,如果給出的目標可重構(gòu)器件中有片上處理器,可以使用片上處理器,xilinx virtex ii pro xc2vp50芯片包含四個powerpc處理器。處理器必須通過編程來執(zhí)行程序,它們能和核周圍的環(huán)境進行通信并完成對染色體的基因操作。此外,處理器還負責內(nèi)部虛擬可重構(gòu)電路的重構(gòu)。4 結(jié)論文中定義了數(shù)字系統(tǒng)設(shè)計的一個新的抽象級別,并將一些組件的方法引入可進化硬件的設(shè)計。為了實現(xiàn)可進化ip核,使用一種虛擬可重構(gòu)電路。這種方法在門的數(shù)量方面代價稍大,但卻能大大加快進化硬件的速度。可進化ip核的設(shè)計目的主要是以合理的代價實現(xiàn)適應(yīng)性和高性能實時系統(tǒng),最常見的如圖像壓縮。本文提出的核的結(jié)構(gòu)和接口都只是最基本的,實際應(yīng)用中還可進行擴充。例如,還可以給核擴充一個讀配置的端口,這個對于某些應(yīng)用來說是必需的?;蛘咴诳蛇M化ip核中包含兩個虛擬可重構(gòu)電路rc1和rc2。rc1實現(xiàn)當

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論