專利名稱::一種虛擬fpga結構建模及其映射方法
技術領域:
:本發(fā)明涉及一種基于n輸入LUT(lookuptable)的可進化虛擬FPGA結構模型的建模及其映射方法,屬于現(xiàn)場可編程門陣列(FPGA)的電子設計自動化
技術領域:
。
背景技術:
:可進化硬件EHW(EvolvableHardware)[l]是在與外部環(huán)境相互作用時,能自主、動態(tài)地改變其自身結rt和行為的硬件電路,其基本特征是具有自組織、自適應、自修復能力,因而在智能化通信網絡、智能感知、模式識別與人工智能等方面有著廣泛的應用前景[2]?;贔PGA的可進化硬件一般使用基因算法這種搜索算法,針對由FPGA的配置編碼組成的染色體進行操作和處理,最后在FPGA上得到能夠完成目標功能的硬件電路。在主流的基于FPGA的可進化硬件中,最典型的有邏輯門級[3][4]或功能函數(shù)級[5]的虛擬可重構電路模型(VRC,virtualreconfigurablecircuit)兩種。他們均是針對特定應用目標,首先,從邏輯門或更高的邏輯函數(shù)層次建立相應的虛擬電路模型,見圖1,再通過FPGA軟件開發(fā)系統(tǒng)生成相應的位流文件,然后,將位流文件再映射到實際FPGA器件配置位串層次。這種兩層的電路模型和FPGA底層結構相脫離,存在的普遍問題是邏輯資源利用率低,進化效率低而且速度慢,另外,由于這些模型強烈依賴于具體的應用或進化目標,也就是說不同的應用或進化目標需要建立不同的FPGA模型,所以,可重復利用率也較低,通用性差。參考文獻1YZorian."AdistributedBISTcontrolschemeforcomplexVLSIdevices[A〗,,,InProceedingsofIEEE1993VLSITestSymposium,Princeton,1993.492PGirard,CLandrault,SPravossoudovitch,etal,"Reducingpowerconsumptionduringtestapplicationbytestvectorordering[A],"In:ProceedingsofIEEE1998International3Sekanina,L.Friedl,"OnRoutineImplementationofVirtualEvolvableDevicesUsingCOMB06,"InProc.ofthe2004NASA/DoDConferenceonEvolvableHardware,Seattle,USA,IEEEComputerSocietyPress,2004,pp.63—704Z.VasicekandL.Sekanina,"AnevolvablehardwaresysteminXilinxVirtexIIProFPGA,"Int.J.InnovativeComputingandApplications,1(1):63-73,2007.5YaoX,HiguichiT,"Promisesandchallengesofevolvablehardware[J],,,IEEETransactionsonSystems,ManandCybernetics~PartC:ApplicationsandReviews,1999,29(1):8796潘光華,來金梅,陳利光等,"FPGA可編程邏輯單元時序功能的設計實現(xiàn),"電子學報,2008.8:1480-148
發(fā)明內容本發(fā)明的目的在于提供一種基于n輸入LUT的可進化虛擬FPGA結構模型的建模及其映射方法,以提高應用于可進化硬件的虛擬電路模型的進化效率,以及映射在FPGA上的逕輯資源的利用率、提高應用的靈活性和通用性。為實現(xiàn)上述目的,本發(fā)明的技術內容是一種虛擬FPGA結構建模方法,應用于可進化硬件的虛擬電路模型,其步驟如下a.以n輸入LUT作為基本單元,建立m(行)Xp(列)的陣列;b.在所述mXp的基本單元陣列中,每一個基本單元的n個輸入端分別設置一個m選1的選擇器(MUX),每一個MUX的m個輸入端均對應前一列所有m個基本單元的輸出;當針對時序邏輯進行進化時,在基本單元LUT的輸出端處添加寄存器。對25輸入LUT的各種虛擬FPGA結構模型在進化效率方面進行實驗分析,得到了一種最佳的基于3輸入LUT的虛擬FPGA結構模型。以上述建模方法所建虛擬FPGA結構模型的映射方法,其步驟如下a.選擇FDP-FPGA作為被映射的實際FPGA結構,F(xiàn)DP-FPGA中的每個可編程邏輯單元CLB由兩個完全等同的Slice組成,每個Slice又是由LUT、多路選擇器MUX和觸發(fā)器三部分組成;Slice中的LUT部分是由兩個4輸入LUT(LUTG和LUTF)、以及控制邏輯組成;Slice中的多路選擇器MUX部分是提供LUT與觸發(fā)器的連接,以及實現(xiàn)進位鏈功能的模塊;Slice中的觸發(fā)器部分主要包括DfiX與DffY;b.將Slicel中LUTl(LUTG)配置為一個3輸入LUT基本單元;將Slicel中的LUT2(LUTF)、Slice2中的LUT3(LUTG)和LUT4(LUTF)均配置成4選1多路選擇器MUX,輸入為前一列4個基本單元的輸出,然后這三個MUX的輸出端通過CLB內部互連連接至Slicel中的LUT1的輸入端;c.對FDP-FPGA各部分進行配置或相關染色體選擇方案如下(1)Slicel中LUT1的配置若選擇LUT1輸入是G[4:l]中的任意的3個輸入端口作為基本單元的輸入,基本單元的染色體則對應LUTl編程點中相應的8位;若選擇的是G[4:2],則對應LUTl的高8位編程點;(2)Slicel中的MUX選擇端配置,包括LUT1輸出處的MUX、以及觸發(fā)器DffX的輸入端處的MUX的選擇端配置,使得LUTl的輸出連接到Slicel的輸出端Y處;(3)Slicel中LUT2的配置將LUT2通過配置其16個編程點配置成4選1的MUX,輸出端則可以通過配置Slicel中的MUX部分連接至X端,其染色體則對應LUT2的所有編程點;(4)Slicel中其他不相關的部分按照默認配置;(5)Slice2中的LUT3和LUT4的配置方法和染色體選擇參照Slicel中LUT2的配置方法。相比于傳統(tǒng)的基于邏輯門的可進化虛擬電路模型,利用本發(fā)明所建立的虛擬FPGA結構模型提高了進化效率和FPGA邏輯資源的利用率,而且,在針對不同的應用或不同的應用目標時,這種模型在進化效率上都具有較好的表現(xiàn),即這種模型有很好的靈活性和通用性。圖1是現(xiàn)有技術邏輯門級的虛擬電路模型;圖2是本發(fā)明建模方法建立的適合于竭化的虛擬FPGA結構模型;圖3是本發(fā)明映射方法建立的實際FPGA結構模型;圖4是圖3中Slice的配置圖5是本發(fā)明建模和映射方法實施應用的可進化硬件平臺結構框圖。具體實施例方式下面結合附圖對本發(fā)明虛擬FPGA結構建模和映射方法作進一步說明。針對主流的虛擬FPGA模型結構(如圖1所示)的缺點,本發(fā)明提出了一種與FPGA底層結構結合緊密的、基于LUT的虛擬FPGA結構模型的建模方法,應用此方法建立的虛擬FPGA結構模型(如圖2所示)是以任意n輸入LUT作為電路進化的基本單元,并由這樣的基本單元組成一個虛擬FPGA陣列結構。具體的建模方法是-(1)確定虛擬FPGA結構中的單元及其互連本發(fā)明建模方法以n輸入LUT作為基本單元,建立m(行)Xp(列)的陣列;在所述mxp的基本單元陣列中,每一個基本單元的n個輸入端分別設置一個m選1的選擇器(MUX),每一個MUX的m個輸入端均對應前一列所有m個基本單元的輸出,見圖2。當針對時序邏輯進行進化時,在基本單元LUT的輸出端處添加寄存器。(2)對虛擬FPGA結構中的基本單元進行優(yōu)化在上述建?;A上,針對大量以不同的隨機的組合邏輯函數(shù)為目標進行進化結果測試,通過對25輸入LUT的各種虛擬FPGA結構模型的進化結果進行優(yōu)化比較分析,以3輸入LUT為基本單元的虛擬FPGA結構優(yōu)于以其他輸入LUT的虛擬FPGA模型以及基于邏輯門的虛擬模型。這種結構,和傳統(tǒng)的虛擬FPGA結構模型相比,提高了進化效率,并且在應用性上具有一定的靈活性和通用性。將上述得到的FPGA結構模型配置到實體FPGA結構的過程稱為虛擬FPGA結構模型與實際FPGA的映射,圖3就是將基于3輸入LUT的虛擬FPGA結構模型中的一個基本單元及相關互連結構映射到實例FDP[6](FuDanProgrammableDevice)-FPGA結構的示意圖,其中圖4為Slice的配置示意圖。具體的虛擬FPGA結構模型的映射方法是(1)建立實際FPGA結構一FDP-FPGA結構選擇FDP-FPGA作為被映射的實際FPGA結構,F(xiàn)DP-FPGA中的每個可編程邏輯單元CLB由兩個完全等同的Slice組成(Slicel=Slice2),每個Slice又是由LUT、多路選擇器MUX和觸發(fā)器三部分組成。Slice中的LUT部分由兩個4輸入LUT—LUTG和LUTF、以及控制邏輯組成;Slice中的多路選擇器MUX是提供LUT與觸發(fā)器的連接,以及實現(xiàn)進位鏈功能的模塊;Slice中的觸發(fā)器主要包括DffX與DffY。(2)可進化虛擬FPGA結構模型中的一個基本單元及相關互連的映射將Slicel中LUT1(LUTG)配置為一個基本單元(3輸入LUT);Slicel中的LUT2(LUTF)、Slice2中的LUT3(LUTG)和LUT4(LUTF)均配置成4選1多路選擇器MUX,輸入為上一列4個基本單元的輸出,然后這三個MUX的輸出端通過CLB內部互連連接至Slicel中的LUT1的輸入端,這樣FDP-FPGA的1個CLB即可實現(xiàn)模型中的一個基本單元及其相關的互連了,可見,其中一個基本單元只耗費1/4個CLB資源(即一個LUT就可以實現(xiàn)),其余3個LUT只是作為基本單元的3個多路選擇輸入端。(3)FDP-FPGA的配置或相關染色體選擇方案1)Slicel中LUT1的配置選擇LUT1輸入G[4:l]中的任意的3個輸入端口作為基本單元的輸入,基本單元的染色體則對應LUT1編程點中相應的8位。若選擇的是G[4:2],則對應LUT1的高8位編程點。2)Slicel中的MUX選擇端配置,包括LUT1輸出處的MUX、以及觸發(fā)器DffX的輸入端處的MUX的選擇端。主要使得LUT1的輸出連接到Slicel的輸出端Y處。3)Slicel中LUT2的配置如圖3所示,LUT2的輸入已經通過互連線連接到上一列所有基本單元的4個輸出端,因此在圖4中可以將LUT2通過配置其16個編程點配置成4選1的MUX,輸出端則可以通過配置Slicel中的MUX部分連幾至X端,其染色體就對應LUT2的所有編程點;4)Slicel中其他不相關的部分按照默認配置;5)Slice2中LUT3和LUT4的配置方法和染色體選擇參照SUcel中LUT2的配置方法。本發(fā)明建模和映射方法實施應用的可進化硬件平臺由三個部分構成遺傳算法實現(xiàn)部分,適應度評估部分,以及虛擬的FPGA結構模型部分,如圖5。以上這三個部分在可進化硬件平臺中的功能各不相同。其中遺傳算法模塊主要包括初始化模塊、種群及適應度存儲、交叉模塊和變異模塊,其完成的主要功能是根據(jù)適應度評估值,對染色體按遺傳算法進行操作,并將操作后的染色體傳至可進化虛擬FPGA結構模塊;適應度評估模塊包括進化目標的存儲、適應度計算,負責計算與染色體相應的適應度;可進化虛擬FPGA結構模型模塊主要是根據(jù)接收到的染色體對可進化硬件進行配置,實現(xiàn)目標電路的功權利要求1.一種虛擬FPGA結構建模方法,應用于可進化硬件的虛擬電路模型,其特征在于步驟如下a.以n輸入LUT作為基本單元,建立m(行)×p(列)的陣列;b.在所述m×p的基本單元陣列中,每一個基本單元的n個輸入端分別設置一個m選1的選擇器(MUX),每一個MUX的m個輸入端均對應前一列所有m個基本單元的輸出。2.如權利要求1所述的建模方法,其特征在于所述n為3。3.如權利要求1或2所述的建模方法,其特征在于當針對時序邏輯進行進化時,在基本單元LUT的輸出端處添加寄存器。4.以上述建模方法所建虛擬FPGA結構模型的映射方法,其特征在于步驟如下a.選擇FDP-FPGA作為被映射的實際FPGA結構,F(xiàn)DP-FPGA中的每個可編程邏輯單元CLB由兩個完全等同的Slice組成,每個Slice又是由LUT、多路選擇器MUX和觸發(fā)器三部分組成;Slice中的LUT部分是由兩個4輸入LUT(LUTG和LUTF)、以及控制邏輯組成;Slice中的多路選擇器MUX部分是提供LUT與觸發(fā)器的連接,以及實現(xiàn)進位鏈功能的模塊;Slice中的觸發(fā)器部分主要包括DffX與DffY;b.將Slicel中LUTl(LUTG)配置為一個3輸入LUT基本單元;將Slicel中的LUT2(LUTF)、Slice2中的LUT3(LUTG)禾口LUT4(LUTF)均配置成4選1多路選擇器MUX,輸入為前一列4個基本單元的輸出,然后這三個MUX的輸出端通過CLB內部互連連接至Slicel中的LUT1的輸入端;c.對FDP-FPGA各部分進行配置或相關染色體選擇方案如下(1)Slicel中LUT1的配置若選擇LUT1輸入是G[4:l]中的任意的3個輸入端口作為基本單元的輸入,基本單元的染色體則對應LUT1編程點中相應的8位;若選擇的是G[4:2],則對應LUT1的高8位編程點;(2)Slicel中的MUX選擇端配置,包括LUT1輸出處的MUX、以及觸發(fā)器DffX的輸入端處的MUX的選擇端配置,使得LUT1的輸出連接到Slicel的輸出端Y處;(3)Slicel中LUT2的配置將LUT2通過配置其16個編程點配置成4選1的MUX,輸出端則可以通過配置Slicel中的MUX部分連接至X端,其染色體則對應LUT2的所有編程點;(4)Slicel中其他不相關的部分按照默認配置;(5)Slice2中的LUT3和LUT4的配置方法和染色體選擇與Slicel中LUT2的配置方法相同。全文摘要本發(fā)明提出了一種基于n輸入LUT的可進化虛擬FPGA結構模型的建模及其映射方法,它以任意n輸入LUT作為電路進化的基本單元,并由這樣的基本單元組成一個虛擬FPGA陣列結構;對2~5輸入LUT的各種虛擬FPGA結構模型進行比較分析,得到了一種最佳的基于3輸入LUT的虛擬FPGA結構模型;同時,提出了一種將該虛擬結構映射到實際FPGA底層結構的方法,從而實現(xiàn)對FPGA底層結構配置位串的直接操作。與現(xiàn)有技術相比,利用本發(fā)明所建立的虛擬FPGA結構模型提高了進化效率和FPGA邏輯資源的利用率,而且具有很好的靈活性和通用性。文檔編號G06F17/50GK101446996SQ200810204779公開日2009年6月3日申請日期2008年12月17日優(yōu)先權日2008年12月17日發(fā)明者卜海祥,張火文,來金梅,童家榕,陳利光申請人:復旦大學