《動(dòng)態(tài)局部可重構(gòu)》PPT課件.ppt_第1頁
《動(dòng)態(tài)局部可重構(gòu)》PPT課件.ppt_第2頁
《動(dòng)態(tài)局部可重構(gòu)》PPT課件.ppt_第3頁
《動(dòng)態(tài)局部可重構(gòu)》PPT課件.ppt_第4頁
《動(dòng)態(tài)局部可重構(gòu)》PPT課件.ppt_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Dynamic Partial Reconfiguration局部動(dòng)態(tài)可重構(gòu),Yongfu Feng,主要內(nèi)容,動(dòng)態(tài)可重構(gòu)系統(tǒng)的提出 FPGA基本理論 FPGA動(dòng)態(tài)可重構(gòu)基礎(chǔ)理論,可重構(gòu)系統(tǒng),最早的可重構(gòu)計(jì)算機(jī)出現(xiàn)在20世紀(jì)60年代早期,是由UCLA大學(xué)(University of California at Los Angeles)的Gerald Estrin提出并設(shè)計(jì)實(shí)現(xiàn)的固定+可變結(jié)構(gòu)計(jì)算機(jī)(Fixed Plus Variable/F+V Structure Computer). 核心是一個(gè)不可更改的可編程處理器和一個(gè)可更改的數(shù)字邏輯組件。F+V體系結(jié)構(gòu)及其軟件系統(tǒng)成為現(xiàn)代可重構(gòu)系統(tǒng)原型

2、 限于當(dāng)時(shí)的技術(shù)條件,Estrin只實(shí)現(xiàn)了一個(gè)粗糙的原型系統(tǒng),但這種結(jié)構(gòu)奠定了以后可重構(gòu)系統(tǒng)的核心基礎(chǔ),動(dòng)態(tài)可重構(gòu)系統(tǒng)的提出,隨著數(shù)字邏輯系統(tǒng)功能復(fù)雜化的需求,單片系統(tǒng)的芯片正朝著超大規(guī)模、高密度的方向發(fā)展,一直以來 ,芯片規(guī)模都是通過對(duì)現(xiàn)有的 FPGA 作累加來擴(kuò)大 ,這種方法主要面臨如下瓶頸: 芯片內(nèi)部布線有很大困難 ,隨著 FPGA門電路總數(shù)N增加 ,內(nèi)部的布線連接幾乎與 N成平方增長; 隨著容量的快速增加 ,布線復(fù)雜度增加 ,F(xiàn)PGA 的損壞率也隨之增加; 隨著系統(tǒng)規(guī)模的擴(kuò)大 ,單片資源的利用率反而下降,動(dòng)態(tài)可重構(gòu)系統(tǒng)的提出,從時(shí)間軸上來看,系統(tǒng)規(guī)模是基于各種邏輯功能模塊的組合,各個(gè)功

3、能模塊并不是時(shí)時(shí)刻刻都在工作的,而是根據(jù)系統(tǒng)外部的整體要求,輪流、循環(huán)地被激活來工作。因此,系統(tǒng)設(shè)計(jì)從傳統(tǒng)的追求大規(guī)模、高密度的方向,轉(zhuǎn)向了如何提高資源利用率,用有限的資源去實(shí)現(xiàn)更大規(guī)模的邏輯設(shè)計(jì)的方向上來。 FPGA 動(dòng)態(tài)可重構(gòu)技術(shù)則是通過資源的時(shí)分復(fù)用 ,對(duì)功能進(jìn)行動(dòng)態(tài)配置 ,來滿足大規(guī)模應(yīng)用需要。這樣 ,大大提高了FPGA的資源利用率 ,同時(shí)降低器件的損壞率 ,這是 FPGA器件的一個(gè)新發(fā)展方向,典型的FPGA動(dòng)態(tài)可重構(gòu)原理示意圖,重構(gòu)配置器,正在進(jìn)行的任務(wù),正在配置的任務(wù),掛起或執(zhí)行完的任務(wù),FPGA,一般系統(tǒng)布局,功能模塊1,功能模塊2,功能模塊3,功能執(zhí)行順序,動(dòng)態(tài)局部重構(gòu)系統(tǒng)布局

4、,功能模塊1,功能模塊2,功能模塊3,不可重構(gòu)域,可重構(gòu)域,總線宏,局部動(dòng)態(tài)重構(gòu)系統(tǒng)布局,執(zhí)行順序,配置數(shù)據(jù)流,重構(gòu)粒度概念,重構(gòu)粒度:指系統(tǒng)中可重構(gòu)基核單元操作數(shù)的位寬。 可重構(gòu)系統(tǒng)大致可以分為兩類: 粗粒度:基核單元為乘法器、算術(shù)邏輯單元ALU等完整功能單元。對(duì)于乘法器、算術(shù)邏輯單元這些基本的功能單元來說,它們都工作在總線級(jí),因此粗粒度的可重構(gòu)系統(tǒng)進(jìn)行字(Word,由多個(gè)位構(gòu)成)級(jí)的操作??偩€級(jí)的操作方式非常高效,適合計(jì)算密集型的應(yīng)用。 細(xì)粒度:基核單元為邏輯門、觸發(fā)器、查找表等。對(duì)于邏輯門、觸發(fā)器這些基本的邏輯單元來說,它們都工作在bit級(jí),因此細(xì)粒度的重構(gòu)操作都是屬于bit級(jí)的操作,相

5、當(dāng)具有靈活性,能夠更好的控制重構(gòu)過程,但配置數(shù)據(jù)多,配置時(shí)間長,FPGA動(dòng)態(tài)可重構(gòu)技術(shù)及設(shè)計(jì)思想,FPGA動(dòng)態(tài)可重構(gòu)技術(shù): 指基于靜態(tài)存儲(chǔ)器(SRAM)編程和專門結(jié)構(gòu)的FPGA,在一定的控制邏輯的驅(qū)動(dòng)下,不僅能實(shí)現(xiàn)系統(tǒng)重新配置電路功能,同時(shí)還能對(duì)芯片邏輯功能實(shí)現(xiàn)高速動(dòng)態(tài)變換。 設(shè)計(jì)思想: 按功能或時(shí)序?qū)⒄w分解為不同的組合,并根據(jù)實(shí)際需要,可在系統(tǒng)運(yùn)行中對(duì)電路功能進(jìn)行動(dòng)態(tài)配置,分時(shí)對(duì)芯片進(jìn)行動(dòng)態(tài)重構(gòu),器件外部特征不變,而內(nèi)部邏輯時(shí)間上交替變換,以小規(guī)模硬件邏輯資源來實(shí)現(xiàn)大規(guī)模系統(tǒng)時(shí)序功能,共同在時(shí)間空間上構(gòu)成系統(tǒng)整體邏輯功能,FPGA動(dòng)態(tài)重構(gòu)結(jié)構(gòu)上必須滿足以下要求,不僅具有可重新編程能力,同時(shí)

6、可動(dòng)態(tài)進(jìn)行系統(tǒng)資源地重新配置,而不會(huì)破壞器件中全局或局部邏輯操作能力。 FPGA內(nèi)部配置信息對(duì)稱,即在任何時(shí)刻、任何通用的基本邏輯功能可以配置于器件地任何一個(gè)位置,運(yùn)用模型組合去實(shí)現(xiàn)設(shè)計(jì)中的復(fù)雜功能。 基于SRAM結(jié)構(gòu),由于SRAM的各單元能夠單獨(dú)訪問配置,即部分重構(gòu)。它們的功能互不影響,因而具有部分重構(gòu)的特征,動(dòng)態(tài)可重構(gòu)系統(tǒng),配置,可重構(gòu)邏輯,執(zhí)行,對(duì)于時(shí)序變化的數(shù)字邏輯系統(tǒng),其時(shí)序邏輯的發(fā)生不是通過調(diào)用芯片內(nèi)不同區(qū)域 、不同邏輯資源組合而成的,而是通過對(duì)具有專門緩存邏輯資源的 FPGA 進(jìn)行局部或全局的芯片邏輯的動(dòng)態(tài)重構(gòu)而快速實(shí)現(xiàn)的 。 動(dòng)態(tài)系統(tǒng)結(jié)構(gòu)的 FPGA 具有緩存邏輯 (Cache

7、 Logic) , 在外部邏輯的控制下 , 通過緩存邏輯對(duì)芯片邏輯進(jìn)行全局或局部的快速修改 , 通過有控制重新布局布線的資源配置來加速實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)重構(gòu),按面積動(dòng)態(tài)重構(gòu)分類,就動(dòng)態(tài)重構(gòu)實(shí)現(xiàn)面積的不同 ,又可以分為全局重構(gòu)和局部重構(gòu)。 全局重構(gòu) : 對(duì) FPGA 器件或系統(tǒng)能且只能進(jìn)行全部的重新配置 。 在配置過程中計(jì)算的中間結(jié)果必須取出存放在額外的存儲(chǔ)區(qū),直到新的配置功能全部下載完為止,重構(gòu)前后電路相互獨(dú)立,沒有關(guān)聯(lián)。 局部重構(gòu): 對(duì)重構(gòu)器件或系統(tǒng)的局部重新配置,與此同時(shí),其余局部的工作狀態(tài)不受影響。局部重構(gòu)對(duì)減小重構(gòu)的范圍和單元數(shù)目,大大縮短重構(gòu)時(shí)間,占有相當(dāng)?shù)膬?yōu)勢,Xilinx發(fā)布的兩個(gè)動(dòng)

8、態(tài)局部重構(gòu)的方法,基于差異(Difference-based)的局部可重構(gòu)設(shè)計(jì):只是比較重構(gòu)前后的電路差別,產(chǎn)生一個(gè)只包含重構(gòu)前后設(shè)計(jì)差別的比特流。 基于模塊(Module-based)的局部可重構(gòu)設(shè)計(jì):將電路功能劃分成一個(gè)個(gè)的模塊,這些模塊包括可重構(gòu)模塊(可以實(shí)現(xiàn)重構(gòu)的特殊區(qū)域)和固定模塊(功能不變不能實(shí)現(xiàn)重構(gòu)的區(qū)域,軟硬件平臺(tái),Xilinx ISE的ProjectNavigator,直接將硬件描述語言綜合、繪制、布局、布線從而產(chǎn)生下載文件,整個(gè)過程已經(jīng)進(jìn)行了優(yōu)化,不能實(shí)現(xiàn)動(dòng)態(tài)可重構(gòu)。必須使用ISE的單獨(dú)工具Constraints Editor,F(xiàn)loorplanner,F(xiàn)PGA Edito

9、r,iMPACT等來實(shí)現(xiàn)可重構(gòu),在此軟硬件基礎(chǔ)上就可以進(jìn)行FPGA的動(dòng)態(tài)可重構(gòu)研究了。 Xilinx ISE已經(jīng)更新到第四代部分重配置功能,可以在FPGA運(yùn)行的情況下,加載部分bit文件,而改變其功能,這能大幅擴(kuò)展 FPGA 的功能,因?yàn)榘?BRAM、DSP模塊和 IO等在內(nèi)的幾乎 FPGA 所有資源都是可重配置的。除了減小可編程系統(tǒng)的尺寸、重量、功耗和成本之外,部分重配置技術(shù)還能支持多種不同的高級(jí) FPGA 應(yīng)用,如設(shè)計(jì)安全性和加速可配置計(jì)算等新技術(shù),ISE 部分重配置流程現(xiàn)在可利用Xilinx業(yè)經(jīng)驗(yàn)證的 PlanAhead 工具及分區(qū)技術(shù)來實(shí)現(xiàn)時(shí)序收斂、設(shè)計(jì)管理與平面規(guī)劃和設(shè)計(jì)保存功能。

10、構(gòu)建可重配置設(shè)計(jì)的全部細(xì)節(jié)都在 PlanAhead 環(huán)境中管理,而 ISE Partitions則確保多種設(shè)計(jì)配置常見的邏輯和布線(靜態(tài)的和可重配置的)絕對(duì)相同。 這種靈活的工作環(huán)境加強(qiáng)了用戶控制,改進(jìn)了對(duì)其他自動(dòng)化特性的訪問,如網(wǎng)表分區(qū)和 CORE Generator IP 流程等。面向 Virtex-4、Virtex-5 和Virtex-6 LXT/CXT FPGA 設(shè)計(jì)的部分重配置得到 ISE 12.1 版本軟件的支持,而對(duì) Virtex-6 HXT/SXT FPGA 系列的支持將分別隨 12.2 版本和 12.3版本而推出,FPGA基礎(chǔ),島狀模型上個(gè)世紀(jì)80年代末由Jonason Jo

11、se等首先提出的一種FPGA設(shè)計(jì)架構(gòu)。 這種FPGA架構(gòu)的特點(diǎn)就是結(jié)構(gòu)簡單,映射模型標(biāo)準(zhǔn)化以及對(duì)實(shí)際設(shè)計(jì)的邏輯資源需求的預(yù)見性強(qiáng)。 目前,Xinlinx公司提供的FPGA芯片以及其提供的動(dòng)態(tài)插入技術(shù)(DynamicHardware Plug-in)可以實(shí)現(xiàn)可重構(gòu)系統(tǒng)的設(shè)計(jì)。 大多數(shù)FPGA都是基于SRAM查找表結(jié)構(gòu),但是SRAM的各單元能夠單獨(dú)訪問配置,它們的功能互不影響,因而具有部分重構(gòu)的特征,Virtex-II系列FPGA基本結(jié)構(gòu)(島型,IOB:輸入輸出模塊,CLB:可配置邏輯功能塊, 每個(gè)邏輯塊被布線軌道包圍,CB:可編程連接開關(guān) (連接塊,SB:可編程布線開關(guān) (開關(guān)塊,CLB與CB

12、短線,SB與SB 長線,可配置邏輯功能塊(CLB)的結(jié)構(gòu),CLB,據(jù)LUT的輸出是否通過寄存器,基本邏輯元素輸出可以是寄存器類型或不寄存類型。這樣可以實(shí)現(xiàn)各種各樣的組合電路或者時(shí)序邏輯,基本邏輯元素BLE,基于SRAM的FPGA三種可編程開關(guān),FPGA的可編程通過三種方式來實(shí)現(xiàn),使用最多的是利用SRAM單元 來控制傳輸門、多路選擇器和三態(tài)緩沖器把可編程布線和邏輯塊配置成所需要的形式。大多數(shù)的Xilinx FPGA、Altera器件、Actel FPGA、Lucent技術(shù)FPGA和Vantis VFI FPGA都是基于SRAM的,FPGA的CAD流程,基于差異動(dòng)態(tài)重構(gòu)方法,可以使用兩種方法來改變

13、設(shè)計(jì)、產(chǎn)生重構(gòu)前后的差別: 前端改變(HDL描述):設(shè)計(jì)必須重新綜合,創(chuàng)建一個(gè)新的布局布線好的NCD文件。 后端改變(NCD文件):只需要改變NCD文件,不必重新綜合,可以通過FPGA Editor工具來修改。使用BitGen就可以生成電路可重構(gòu)部分內(nèi)開關(guān)狀態(tài)差別的可下載差異文件,基于差異動(dòng)態(tài)重構(gòu)設(shè)計(jì)流程,初始化設(shè)計(jì),布局布線結(jié)果,初始配置數(shù)據(jù),針對(duì)修改的部分動(dòng)態(tài) 重構(gòu)配置數(shù)據(jù),局部修改,修改后的布局 布線結(jié)果,比較,基于差異的局部動(dòng)態(tài)可重構(gòu)局限性,基于差異重構(gòu)系統(tǒng)的重構(gòu)文件大小可以減少60%,極大的減少了重構(gòu)的配置時(shí)間。但是基于差異的重構(gòu)方式所需要存儲(chǔ)的副本太多,雖然減少了系統(tǒng)重構(gòu)時(shí)間,但是

14、需要大量的存儲(chǔ)空間。 下載這個(gè)配置文件必然比整個(gè)配置文件節(jié)約大量的時(shí)間,但是這種設(shè)計(jì)流程只適合不太復(fù)雜的電路設(shè)計(jì),因?yàn)殡娐窂?fù)雜,人工的修改配置信息很容易發(fā)生配置錯(cuò)誤,甚至導(dǎo)致電路的損壞,基于模塊的局部可重構(gòu),可重構(gòu)區(qū)域:局部可重構(gòu)定義了一些特殊的區(qū)域,這些區(qū)域可以在器件的其他部分還在運(yùn)行的情況下進(jìn)行重構(gòu),這些特殊區(qū)域稱作可重構(gòu)區(qū)域。 基于模塊的部分可重構(gòu)就是將電路功能劃分成一個(gè)個(gè)的模塊,這些模塊包括可重構(gòu)模塊(可以實(shí)現(xiàn)重構(gòu)的特殊區(qū)域)和固定模塊(功能不變不能實(shí)現(xiàn)重構(gòu)的區(qū)域,具有兩個(gè)可重構(gòu)模塊的設(shè)計(jì)布局圖,各模塊間都是通過總線宏 來進(jìn)行通信的,總線宏 BUS MACRO,為了促進(jìn)可重構(gòu)模塊之間的

15、通信,需要保證穿過可重構(gòu)模塊邊界的布線資源是完全固定而且必須是靜態(tài)的,這就需要一種特殊的總線宏。 它是一個(gè)事先已經(jīng)布線好的用來確定精確布線軌道的宏,并且在編輯改變的時(shí)候保持不變。對(duì)于每個(gè)不同的設(shè)計(jì)應(yīng)用來說,它是一個(gè)絕對(duì)固定不變的總線宏。 總線宏是兩個(gè)模塊間的一個(gè)固定的布線橋,總線宏的通訊,左邊的A是一個(gè)模塊,右邊的B是另一個(gè)模塊,A或者B是可重構(gòu)模塊,或者AB全是 可重構(gòu)模塊。A和B中間的總線宏,就是支持AB之間通信的特殊總線宏。它保證 AB間布線資源的不變性,也就是說當(dāng)一個(gè)模塊進(jìn)行重構(gòu)時(shí)模塊內(nèi)部信號(hào)用到的 布線資源不能改變,總線宏是兩個(gè)模塊間 的一個(gè)固定的布線橋,總線宏的物理執(zhí)行,總線宏由8

16、個(gè)三態(tài)緩沖器組成4bits的寬度,總線宏允許信息雙向傳遞,一個(gè)比特的信息使用一個(gè)三態(tài)緩沖器的長線。 virtex器件的每一行支持一個(gè)總線宏的四個(gè)比特。總線宏的位置精確的跨騎在模A和模塊B之間,其中四柵三態(tài)緩沖器在A內(nèi),另外四柵三態(tài)緩沖器在B內(nèi)。 由三態(tài)緩沖器長線輸出所組成的固定橋確保兩個(gè)模塊問固定的通信??偩€宏的信息通訊是雙向的,既可以從左到右也可以從右到左。但是對(duì)于這個(gè)設(shè)計(jì)來說,一旦信息通信方向確定以后就不能再改變,總線宏的設(shè)計(jì)工具,總線宏的設(shè)計(jì)工具是使用FPGA底層編輯器FPGA Editor。 FPGA Editor是一個(gè)手工布局布線設(shè)計(jì)工具,需要設(shè)計(jì)者具有一定設(shè)計(jì)經(jīng)驗(yàn)才能完成設(shè)計(jì),但是

17、FPGA Editor的使用靈活性也更高。 通過FPGA Editor可以編輯或者查看可配置邏輯功能塊(CLB),I/O功能塊等一些FPGA內(nèi)部的基本單元,總線宏的優(yōu)缺點(diǎn),使用總線宏約束重構(gòu)模塊和固定模塊之間的布線資源使其不被改變。 總線宏的設(shè)計(jì)需要消耗額外的硬件資源,造成一些資源浪費(fèi); 總線宏固定了重構(gòu)模塊和固定模塊之間的布線,即固定模塊之間的通信,模塊之間不再可以進(jìn)行任意通信,這在一定程度市內(nèi)過降低了部分重構(gòu)系統(tǒng)在實(shí)現(xiàn)上的靈活性。 但是在當(dāng)前技術(shù)條件下,基于模塊的部分重構(gòu)設(shè)計(jì)使用總線宏的通訊機(jī)制是目前最佳的解決方案,基于模塊的動(dòng)態(tài)可重構(gòu)設(shè)計(jì)流程概述,基于模塊的部分可重構(gòu)設(shè)計(jì)允許設(shè)計(jì)者獨(dú)立綜

18、合每個(gè)模塊,全部綜合完畢后再將所有模塊一起編譯,這種并行方法即節(jié)省時(shí)間又允許每個(gè)模塊獨(dú)立終止運(yùn)行。 基于模塊的部分可重構(gòu)設(shè)計(jì)還需要設(shè)計(jì)者確保模塊分區(qū)正確,并且在最終編譯時(shí)能夠一起正常工作。 這種模塊設(shè)計(jì)最好用做可以分區(qū)成自我控制模塊的大型設(shè)計(jì),分區(qū)后的模塊數(shù)量越少越好,基于模塊的動(dòng)態(tài)可重構(gòu)設(shè)計(jì)流程,流水線可重構(gòu)結(jié)構(gòu)工作方式,流水線可重構(gòu)中重構(gòu)時(shí)隙問題,功能1,r+2級(jí),功能2,配置文件流,r+1級(jí),r級(jí),配置時(shí)間,數(shù)據(jù)傳輸時(shí)間,時(shí)鐘,緩存形式解決重構(gòu)時(shí)隙,功能1,r+2級(jí),功能2,配置文件流,r+1級(jí),r-1級(jí),配置時(shí)間,時(shí)鐘,緩存器,緩存器,r級(jí),較少的硬件資源實(shí)現(xiàn)更多的硬件功能相違背,配置形式解決重構(gòu)時(shí)隙,功能1,r+2級(jí),功能2,配置文件流,r+1級(jí),r-1級(jí),配置時(shí)間,時(shí)鐘,空數(shù)據(jù),空數(shù)據(jù),r級(jí),增加

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論