亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA的動(dòng)態(tài)自重構(gòu)系統(tǒng)原理與實(shí)現(xiàn)

        2017-09-21 08:59:39徐彥峰張麗娟謝文虎
        電子與封裝 2017年9期
        關(guān)鍵詞:配置文件靜態(tài)分區(qū)

        徐彥峰,張麗娟,謝文虎

        (1.中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇無(wú)錫214072;2.無(wú)錫華普微電子有限公司,江蘇無(wú)錫214035)

        基于FPGA的動(dòng)態(tài)自重構(gòu)系統(tǒng)原理與實(shí)現(xiàn)

        徐彥峰1,張麗娟2,謝文虎1

        (1.中國(guó)電子科技集團(tuán)公司第五十八研究所,江蘇無(wú)錫214072;2.無(wú)錫華普微電子有限公司,江蘇無(wú)錫214035)

        現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,FPGA)提供了強(qiáng)大的可編程接口,支持靈活的現(xiàn)場(chǎng)可編程能力。動(dòng)態(tài)可重構(gòu)設(shè)計(jì)方法可以在尺寸、重量、功率和成本等方面優(yōu)化傳統(tǒng)的FPGA應(yīng)用。目前控制、存儲(chǔ)和接口組成的動(dòng)態(tài)可重構(gòu)實(shí)現(xiàn)系統(tǒng),雖然可以實(shí)現(xiàn)對(duì)FPGA的動(dòng)態(tài)可重構(gòu),但需要額外增加多個(gè)器件,反而使FPGA應(yīng)用系統(tǒng)更加復(fù)雜。基于動(dòng)態(tài)可重構(gòu)原理,提出了一種動(dòng)態(tài)自重構(gòu)系統(tǒng)的原理和實(shí)現(xiàn)方法。該方法通過(guò)在靜態(tài)邏輯中添加自重構(gòu)模塊,對(duì)自身可重構(gòu)分區(qū)進(jìn)行功能修改,從而實(shí)現(xiàn)對(duì)自身的動(dòng)態(tài)重構(gòu)。設(shè)計(jì)了兩種LED燈的閃爍方式模塊,實(shí)驗(yàn)結(jié)果證明:通過(guò)自重構(gòu)技術(shù),可以實(shí)現(xiàn)這兩種閃爍方式的切換,證明了自重構(gòu)技術(shù)的可行性。

        FPGA;動(dòng)態(tài)可重構(gòu);動(dòng)態(tài)自重構(gòu)

        1 引言

        目前,F(xiàn)PGA技術(shù)日益成熟,在為用戶提供大量高性能可編程資源的同時(shí),也提供了強(qiáng)大的可編程接口,支持靈活的現(xiàn)場(chǎng)可編程能力[1]。動(dòng)態(tài)可重構(gòu)進(jìn)一步提高了FPGA的靈活性,成為目前應(yīng)用研究的熱點(diǎn)[2]。

        動(dòng)態(tài)可重構(gòu)類似于時(shí)分多路復(fù)用,將時(shí)間軸上不重疊的功能隔離并實(shí)現(xiàn)為可重新配置的模塊。該方法是:在完整的BIT文件配置FPGA之后,根據(jù)系統(tǒng)的需求加載局部資源的配置文件,修改FPGA中可重構(gòu)區(qū)域的功能,實(shí)現(xiàn)不同功能的靈活切換,且不影響未重新配置(靜態(tài)邏輯)區(qū)域功能的正常運(yùn)行。動(dòng)態(tài)可重構(gòu)設(shè)計(jì)方法可以在尺寸、重量、功率和成本等方面優(yōu)化傳統(tǒng)的FPGA應(yīng)用[4]。典型的應(yīng)用如網(wǎng)絡(luò)交換機(jī):為了確保交換機(jī)支持多種接口協(xié)議,通常針對(duì)每個(gè)接口協(xié)議要求分別實(shí)現(xiàn)相應(yīng)的物理接口,從接口協(xié)議利用率的角度分析,該設(shè)計(jì)方法的效率比較低,因?yàn)槊總€(gè)端口同一時(shí)間只能使用一個(gè)接口協(xié)議。如果每個(gè)端口的接口協(xié)議設(shè)計(jì)為可重構(gòu)模塊,每次只將需要的接口協(xié)議模塊加載到可重構(gòu)模塊中,便可實(shí)現(xiàn)更高效的設(shè)計(jì)。這也大量削減了將多個(gè)協(xié)議引擎連接到一個(gè)端口時(shí)占用的邏輯資源。

        傳統(tǒng)的動(dòng)態(tài)可重構(gòu)實(shí)現(xiàn)方法是通過(guò)CPU等控制器讀取配置文件,并決定何時(shí)對(duì)FPGA進(jìn)行重構(gòu);存儲(chǔ)器負(fù)責(zé)存儲(chǔ)需要的配置文件;此外還需要CPLD之類的控制芯片,負(fù)責(zé)將CPU傳輸?shù)呐渲帽忍亓鬟M(jìn)行時(shí)序轉(zhuǎn)換,產(chǎn)生滿足FPGA配置時(shí)序的信號(hào),從而實(shí)現(xiàn)對(duì)FPGA的重新加載[3~4]。這種控制、存儲(chǔ)和接口的組合適合絕大部分系統(tǒng),但缺點(diǎn)在于需要額外增加存儲(chǔ)器、CPU等多個(gè)器件,無(wú)形中增加了硬件的尺寸、重量、功率和成本。

        本文基于目前的動(dòng)態(tài)可重構(gòu)原理,提出改進(jìn)型的硬件實(shí)現(xiàn)方案,即FPGA動(dòng)態(tài)自重構(gòu)。該方法的原理是,通過(guò)在FPGA靜態(tài)邏輯塊中添加動(dòng)態(tài)重構(gòu)的控制邏輯,在需要重構(gòu)時(shí)自動(dòng)加載相應(yīng)局部資源的碼流文件,最終實(shí)現(xiàn)FPGA對(duì)自身的局部重構(gòu)。該方法的優(yōu)點(diǎn)在于可以在實(shí)現(xiàn)可重構(gòu)的前提下不增加額外的硬件開銷,有利于降低產(chǎn)品的成本、功率和重量。

        2 FPGA動(dòng)態(tài)可重構(gòu)配置文件生成方法

        常規(guī)SRAM工藝的FPGA都可以實(shí)現(xiàn)功能重配置,但并非都能實(shí)現(xiàn)動(dòng)態(tài)可重構(gòu)。目前支持動(dòng)態(tài)可重構(gòu)的器件主要為Xilinx公司的FPGA芯片。Xilinx公司FPGA芯片的配置文件格式主要有.mcs、.bin、.bit等,Xilinx公司的FPGA開發(fā)軟件直接生成的FPGA配置文件格式為.bit文件,然后可通過(guò)相應(yīng)的工具將.bit文件轉(zhuǎn)換成.bin、.mcs等其他格式。

        動(dòng)態(tài)可重構(gòu).bit配置文件生成流程如圖1所示,包含功能分區(qū),各分區(qū)不同功能模塊綜合生成網(wǎng)表,各功能模塊實(shí)現(xiàn)并生成可重構(gòu).bit文件。下面將結(jié)合圖1,介紹FPGA動(dòng)態(tài)可重構(gòu)配置文件的生成方法。

        圖1 動(dòng)態(tài)可重構(gòu).bit配置文件生成流程

        實(shí)現(xiàn)動(dòng)態(tài)可重構(gòu)的FPGA設(shè)計(jì)類似于實(shí)現(xiàn)共享公共邏輯的多個(gè)非可重構(gòu)邏輯設(shè)計(jì)[2]。具體設(shè)計(jì)分為以下幾步。

        2.1 整體功能劃分

        首先需要完成對(duì)整體功能的分區(qū),將FPGA運(yùn)行過(guò)程中不需要更改的邏輯劃分到靜態(tài)邏輯模塊,將需要更改的邏輯劃分到可重構(gòu)邏輯模塊中,并獲得可重構(gòu)模塊A、可重構(gòu)模塊B等可重構(gòu)模塊。分區(qū)用于確保多個(gè)設(shè)計(jì)之間的靜態(tài)邏輯相同。

        2.2 生成各個(gè)功能塊網(wǎng)表文件

        完成分區(qū)后,需要使用專用綜合軟件將分區(qū)中的各個(gè)可重構(gòu)模塊綜合并生成網(wǎng)表文件(文件格式為EDIF或者NGC)。完成以上操作后便獲得了靜態(tài)邏輯網(wǎng)表和可重構(gòu)模塊網(wǎng)表。

        2.3 向可重構(gòu)分區(qū)導(dǎo)入網(wǎng)表

        在ISE工具中PlanAhead建立綜合后工程(post-synthesis Project)并注意勾選使能部分可重構(gòu)(Enable Partial Reconfiguration)。完成功能建立后導(dǎo)入頂層靜態(tài)網(wǎng)表和靜態(tài)網(wǎng)表約束文件。通過(guò)選擇已經(jīng)在頂層靜態(tài)邏輯中例化的可重構(gòu)模塊并使用“設(shè)置分區(qū)”(Set Partition)對(duì)話框菜單命令來(lái)導(dǎo)入可重構(gòu)分區(qū)的網(wǎng)表內(nèi)容。如該分區(qū)還需要加入其他網(wǎng)表,則在導(dǎo)入完第一個(gè)網(wǎng)表后,使用“加入可重構(gòu)模塊”(Add Reconfigurable Module)對(duì)話框菜單來(lái)導(dǎo)入該可重構(gòu)分區(qū)的其他網(wǎng)表內(nèi)容。此外還可以在該分區(qū)導(dǎo)入“黑盒子模塊”(Black Box Modules),只需在進(jìn)入導(dǎo)入界面后選擇“將此可重配置模塊添加為不帶網(wǎng)表的黑盒”(Add this Reconfigurable Module as a black box without anetlist)選項(xiàng)即可。

        2.4 定義可重構(gòu)區(qū)域

        在PlanAhead軟件中導(dǎo)入了所有可重配置分區(qū)的所有可重構(gòu)模塊網(wǎng)表后,下一步就是定義設(shè)計(jì)的物理布局。從主PlanAhead工具欄中,選擇“布局規(guī)劃模式”(Floorplanning mode)打開FPGA的物理約束選項(xiàng)卡和平面圖視圖,選擇Set PBlock Size命令并在FPGA的Device視圖中繪制一個(gè)矩形區(qū)域,要求該區(qū)域內(nèi)包含的資源數(shù)目略大于可重構(gòu)模塊所需資源的最大值。完成所有分區(qū)的設(shè)置后需運(yùn)行DRC檢查,以保證設(shè)計(jì)合乎規(guī)則。

        2.5 創(chuàng)建配置并生成.bit文件

        將所有模塊的網(wǎng)表文件導(dǎo)入相應(yīng)分區(qū)并設(shè)置了各分區(qū)大小后,系統(tǒng)會(huì)自動(dòng)生成名為config_1的配置實(shí)現(xiàn),該配置實(shí)現(xiàn)中默認(rèn)選擇每個(gè)可重構(gòu)分區(qū)中導(dǎo)入的第一個(gè)可重構(gòu)模塊。為了生成各分區(qū)中其他功能模塊的可重構(gòu)配置文件,需要建立多個(gè)配置實(shí)現(xiàn),并根據(jù)需要選擇每個(gè)分區(qū)包含的可重構(gòu)模塊。但是,無(wú)論創(chuàng)建多少個(gè)配置實(shí)現(xiàn)文件,都先運(yùn)行一個(gè)配置實(shí)現(xiàn),實(shí)現(xiàn)后選擇Promote Partitions選項(xiàng),產(chǎn)生可導(dǎo)入的靜態(tài)邏輯。創(chuàng)建其他配置實(shí)現(xiàn)時(shí),靜態(tài)邏輯(static logic)部分選擇“導(dǎo)入”(Import),其他可重構(gòu)模塊可選擇“實(shí)現(xiàn)”(Implement)或“導(dǎo)入”(Import)。

        所有需要的配置實(shí)現(xiàn)建成后,分別運(yùn)行各個(gè)配置實(shí)現(xiàn)并生成.bit文件,生成的文件包含一個(gè)完整的.bit配置文件(圖1中的Full_1.bit、Full_2.bit等)和這個(gè)配置實(shí)現(xiàn)中選擇的模塊的可重構(gòu).bit文件(圖1中的RMA.bit、RMB.bit等)。如果有多個(gè)分區(qū),則會(huì)產(chǎn)生多個(gè)可重構(gòu).bit文件(可根據(jù)需要轉(zhuǎn)換成.mcs等其他形式)。

        3 FPGA動(dòng)態(tài)自重構(gòu)的實(shí)現(xiàn)

        3.1 FPGA動(dòng)態(tài)自重構(gòu)的實(shí)現(xiàn)方法

        基于上述FPGA動(dòng)態(tài)可重構(gòu)的實(shí)現(xiàn)過(guò)程,本文提出了一種FPGA動(dòng)態(tài)自重構(gòu)方法。該方法的原理是,在FPGA的靜態(tài)邏輯中加入對(duì)存儲(chǔ)配置文件的控制模塊,并由FPGA根據(jù)外部控制器或內(nèi)部控制邏輯選擇需要重構(gòu)的分區(qū),并將該分區(qū)的文件寫入FPGA,實(shí)現(xiàn)FPGA自己對(duì)自己的重構(gòu)。其功能示意圖如圖2所示。

        圖2 動(dòng)態(tài)自重構(gòu)系統(tǒng)原理

        在圖2中,存儲(chǔ)器內(nèi)部保存了所有的可重構(gòu)配置文件、存儲(chǔ)器的地址、讀寫控制信號(hào)以及存儲(chǔ)器的數(shù)據(jù)輸出端口連接FPGA的專用配置引腳。

        FPGA芯片在上電初始化完成后通過(guò)BPI模式將完整的配置文件寫入FPGA,完整的配置文件里除包含靜態(tài)邏輯外(靜態(tài)邏輯中已經(jīng)包含動(dòng)態(tài)自重構(gòu)功能模塊),還包含各分區(qū)被選擇的可重構(gòu)模塊。在完整配置文件完成對(duì)FPGA的配置后,F(xiàn)PGA便可以根據(jù)靜態(tài)邏輯中的自重構(gòu)功能,讀取配置文件并完成對(duì)自身的動(dòng)態(tài)重構(gòu)。

        3.2 FPGA動(dòng)態(tài)自重構(gòu)方案的驗(yàn)證

        根據(jù)以上原理,本文采用AMD公司型號(hào)為Am29LV640M的NOR FLASH芯片存儲(chǔ)可重構(gòu)文件和完整配置文件,動(dòng)態(tài)自重構(gòu)的目標(biāo)FPGA器件選用Xilinx公司Virtex-5系列的XC5VSX95T。動(dòng)態(tài)自重構(gòu)方案的驗(yàn)證硬件示意圖如圖3所示。

        FPGA設(shè)置為Master BPI-UP模式,其連接方式與正常配置FPGA連接方式相同,Am29LV640M的數(shù)據(jù)端口連接FPGA的配置端口,需要1路普通I/O連接FPGA的CCLK以保證在對(duì)自身進(jìn)行自重構(gòu)時(shí)存在能夠接受數(shù)據(jù)的CCLK時(shí)鐘輸入。

        圖3 動(dòng)態(tài)自重構(gòu)方案的驗(yàn)證電路

        在上電且儲(chǔ)存器和FPGA完成初始化后,F(xiàn)PGA通過(guò)Master BPI-UP模式配置完整的配置文件。當(dāng)FPGA需要自重構(gòu)時(shí),只需讀取預(yù)存在Am29LV640M的可重構(gòu)配置文件即可,由于FPGA是在CCLK的上升沿采集數(shù)據(jù),所以配置數(shù)據(jù)流需要在CCLK的下降沿更新,以保證配置數(shù)據(jù)流滿足建立保持時(shí)間。

        根據(jù)以上驗(yàn)證方案的硬件電路,本文設(shè)計(jì)了一個(gè)動(dòng)態(tài)自重構(gòu)的演示工程。其中,該工程包含一個(gè)2輸入、4輸出的分區(qū)和實(shí)現(xiàn)自重構(gòu)功能的靜態(tài)邏輯;該分區(qū)含有2個(gè)可重構(gòu)模塊,每個(gè)模塊根據(jù)當(dāng)前的2個(gè)輸入din[1:0],產(chǎn)生不同形式的4個(gè)輸出dout[3:0]。第一個(gè)模塊為一個(gè)2位4位譯碼器,其輸出邏輯表達(dá)式為:

        第二個(gè)模塊dout[0]輸出恒定為高,其他值的輸出表達(dá)式為:

        靜態(tài)邏輯為每隔5.37 s讀取Am29LV640M數(shù)據(jù)對(duì)可重構(gòu)分區(qū)進(jìn)行自重構(gòu),兩個(gè)可重構(gòu)模塊配置文件交替被讀?。淮送?,靜態(tài)邏輯還包含向可重構(gòu)分區(qū)提供輸入值的功能,該功能為每隔0.34 s更新一次輸入數(shù)據(jù),依次為2’b00,2’b01,2’b10,2’b11,周而復(fù)始。使用邏輯分析儀獲得的4個(gè)輸出數(shù)據(jù)如圖4所示。

        在圖4中,通道A2(4~7)分別對(duì)應(yīng)dout[0~4]; FPGA芯片在約5.8 s完成完整配置文件的配置,完整配置文件中只有能夠?qū)崿F(xiàn)自重構(gòu)和向可重構(gòu)分區(qū)提供輸入的靜態(tài)邏輯,可重構(gòu)分區(qū)被例化為黑盒,所以此時(shí)dout的輸出為固定電平。在5.37 s后完成可重構(gòu)分區(qū)第一個(gè)模塊的自重構(gòu),其輸出結(jié)果與設(shè)定的邏輯相符。再經(jīng)過(guò)5.37 s,完成可重構(gòu)分區(qū)第二個(gè)模塊的自重構(gòu),輸出結(jié)果與設(shè)定的邏輯也相同。

        圖4 動(dòng)態(tài)自重構(gòu)系統(tǒng)輸出波形

        4 結(jié)論

        本文在動(dòng)態(tài)可重構(gòu)的原理基礎(chǔ)上,提出一種動(dòng)態(tài)自重構(gòu)系統(tǒng)的原理和硬件實(shí)現(xiàn)方法。實(shí)驗(yàn)結(jié)果證明:只需要將動(dòng)態(tài)局部重構(gòu)的控制邏輯作為靜態(tài)邏輯分配到FPGA的邏輯資源中,可以非常簡(jiǎn)單地實(shí)現(xiàn)FPGA對(duì)自身的動(dòng)態(tài)重構(gòu)。本系統(tǒng)對(duì)航空航天、網(wǎng)絡(luò)等領(lǐng)域的系統(tǒng)應(yīng)用具有較大的參考價(jià)值,可以在實(shí)現(xiàn)FPGA動(dòng)態(tài)可重構(gòu)的前提下,降低系統(tǒng)的復(fù)雜程度和整體功耗。

        [1]周盛雨,孫輝先,陳曉敏,等.基于FPGA的動(dòng)態(tài)可重構(gòu)系統(tǒng)實(shí)現(xiàn)[J].電子器件,2007,30(2):646-649.

        [2]Xilinx Company.UG702 Partial Reconfiguration User Guide(v14.5)[EB/OL].https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_7/ug702.pdf,2017-04-26.

        [3]盧振鈞,肖揚(yáng)燦.基于FPGA部分動(dòng)態(tài)可重構(gòu)的信號(hào)解調(diào)系統(tǒng)的實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(10):155-157.

        [4]南希,龔龍慶,田衛(wèi),等.基于FPGA的動(dòng)態(tài)可重構(gòu)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電路設(shè)計(jì),2009,6:4-6,11.

        Principle and Implementation of Dynamic Self-Reconfiguration System Based on FPGA

        XU Yanfeng1,ZHANG Lijuan2,XIE Wenhu1
        (1.China Electronic Technology Group Corporation No.58 Research Institute,Wuxi 214072,China;2.Wuxi Hope Microelectronics Co.,Ltd.,Wuxi 214035,China)

        FPGA provides a powerful programmable interface that supports flexible field-programmable capabilities.Dynamic reconfigurable design methods can optimize traditional FPGA applications in terms of size,weight,power,and cost.The dynamic reconfigurable implementation system,which is composed of control,storage and interface,can realize dynamic reconfiguration of FPGA,but it needs to add more devices,make FPGA application system become more complicated.Based on the current dynamic reconfigurable principle,this paper proposes the principle and implementation method of dynamic self-reconfiguration system. This method can modify the self-reconfigurable partition by adding self-reconfiguration module to the static logic,so as to realize the dynamic self-reconfiguration of itself.This paper designs two kinds of LED lights flashing mode module,the experimental results show that:through self-reconstruction technology,you can achieve these twoflashmode switching.Andprovesthe feasibilityofself-reconfigurationtechnology.

        FPGA;dynamic reconfiguration;dynamic self-reconfiguration

        TN402

        :A

        :1681-1070(2017)09-0015-04

        2017-7-11

        徐彥峰(1977—),男,遼寧朝陽(yáng)人,高級(jí)工程師,從事集成電路設(shè)計(jì)工作,主要研究方向?yàn)镕PGA架構(gòu)及內(nèi)部模塊的設(shè)計(jì)。

        猜你喜歡
        配置文件靜態(tài)分區(qū)
        提示用戶配置文件錯(cuò)誤 這樣解決
        上海實(shí)施“分區(qū)封控”
        靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
        搭建簡(jiǎn)單的Kubernetes集群
        互不干涉混用Chromium Edge
        忘記ESXi主機(jī)root密碼怎么辦
        浪莎 分區(qū)而治
        基于SAGA聚類分析的無(wú)功電壓控制分區(qū)
        基于多種群遺傳改進(jìn)FCM的無(wú)功/電壓控制分區(qū)
        機(jī)床靜態(tài)及動(dòng)態(tài)分析
        完整在线视频免费黄片| 国产99久久久国产精品免费看| 亚洲一线二线三线写真| 无码人妻视频一区二区三区99久久| 色偷偷亚洲av男人的天堂| 亚洲av老熟女一区二区三区| 成人午夜福利视频| 小12萝8禁在线喷水观看| 国产成人综合日韩精品无| 伊人狼人大香线蕉手机视频| 国产成人无码专区| 亚洲深深色噜噜狠狠网站| 国产顶级熟妇高潮xxxxx| 一本色道久久综合亚洲精品小说| 国产黑色丝袜在线观看网站91| 日本黑人乱偷人妻在线播放| 人妻aⅴ中文字幕| 国产黄三级三·级三级| 日本一区二区三深夜不卡| 福利视频一区二区三区| 欧美放荡的少妇| 欧美成人免费观看国产| 亚洲在中文字幕乱码熟女| 在线日本国产成人免费精品| 天天躁夜夜躁狠狠躁2021a2| 中文字幕无码免费久久| 亚洲av激情久久精品人| 国产精品亚洲av一区二区三区 | 精品人妻潮喷久久久又裸又黄| 精品久久亚洲一级α| 三级国产自拍在线观看| 无码国产精品久久一区免费| 无码人妻久久一区二区三区不卡| 亚洲人妻无缓冲av不卡| 好看午夜一鲁一鲁一鲁| 国产国拍精品亚洲av在线观看| 国产精品激情| 色老头久久综合网老妇女| 亚洲福利视频一区二区三区| 美女在线一区二区三区视频| 久久久久久久久蜜桃|