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

        ?

        FPGA動態(tài)局部可重構(gòu)中基于TBUF總線宏設(shè)計

        2010-05-13 08:46:00趙秋桂,段青亞
        現(xiàn)代電子技術(shù) 2009年12期

        趙秋桂,段青亞

        摘 要:FPGA動態(tài)局部可重構(gòu)技術(shù)通常將系統(tǒng)劃分為固定模塊和可重構(gòu)模塊,可重構(gòu)模塊與其他模塊之間的通信都是通過使用特殊的總線宏實現(xiàn)的。總線宏的正確設(shè)計是實現(xiàn)FPGA動態(tài)局部可重構(gòu)技術(shù)的關(guān)鍵。在研究了FPGA動態(tài)局部可重構(gòu)技術(shù)中基于三態(tài)緩沖器(Tri-state Buffer,TBUF)總線宏結(jié)構(gòu)的基礎(chǔ)上,采用Xilinx ISE FPGA Editor可視化的方法實現(xiàn)總線宏的設(shè)計,并借助可重構(gòu)硬件平臺——XCV800驗證板,通過設(shè)計動態(tài)可重構(gòu)實驗,論證總線宏設(shè)計的正確性。

        關(guān)鍵詞:FPGA動態(tài)局部可重構(gòu);總線宏;三態(tài)緩沖器;FPGA編輯器

        中圖分類號:TP368.1文獻(xiàn)標(biāo)識碼:B

        文章編號:1004-373X(2009)12-022-03

        Design of Bus Macro-based TBUF for FPGA Dynamic Reconfiguration

        ZHAO Qiugui,DUAN Qingya

        (Xi′an Microelectronics Technology Institution,Xi′an,710054,China)

        Abstract:FPGA dynamic partial reconfiguration always divides a system into static modules and reconfigurable modules.The communication between reconfigurable modules and the other modules should be implemented with the special bus macro.The bus macro correctly designed is the key to the implementation of FPGA dynamic partial reconfiguration.This paper researches structure of the bus macro which is based on TBUF for FPGA dynamic partial reconfiguration,implements its design with the method of Xilinx ISE FPGA Editor,and verifies the validity of the design through the experiment of dynamic reconfiguration,with the help of reconfigurable hardware platform of XCV800.

        Keywords:FPGA dynamic partial reconfiguration;bus macro;tri-state buffer;FPGA editor

        0 引 言

        FPGA動態(tài)局部可重構(gòu)技術(shù)是指允許可重構(gòu)的器件或系統(tǒng)的一部分進(jìn)行重新配置,配置過程中其余部分的工作不受影響。動態(tài)局部可重構(gòu)縮短了重構(gòu)的時間,減少了系統(tǒng)重構(gòu)的開銷,提高了系統(tǒng)的運行效率。局部動態(tài)可重構(gòu)技術(shù)中通常將系統(tǒng)劃分為固定模塊和可重構(gòu)模塊。可重構(gòu)模塊與其他模塊之間的通信(包括可重構(gòu)模塊和固定模塊之間、可重構(gòu)模塊和可重構(gòu)模塊之間)都是由總線宏實現(xiàn)的[1]。

        動態(tài)可重構(gòu)技術(shù)在FPGA中的實現(xiàn)是Xilinx公司首先提出的,并且提供了相應(yīng)的開發(fā)工具和開發(fā)流程。他們從Virtex系列器件開始支持動態(tài)可重構(gòu)技術(shù),同時他們提供了現(xiàn)成的總線宏文件給動態(tài)可重構(gòu)系統(tǒng)開發(fā)者使用,但是它們提供的總線宏設(shè)計與軟件版本的兼容性很差。Xilinx提供的總線宏可能因為軟件版本的問題會無法正常使用,所以用戶需要借助正在使用的版本軟件設(shè)計總線宏,以實現(xiàn)FPGA動態(tài)局部可重構(gòu)設(shè)計。

        在研究總線宏的結(jié)構(gòu)基礎(chǔ)上,采用FPGA Editor可視化的方法設(shè)計基于TBUF的總線宏,并通過FPGA動態(tài)可重構(gòu)實驗驗證了該方法的正確性。

        1 基于TBUF的總線宏結(jié)構(gòu)

        在不同系列的Xilinx FPGA器件中,使用不同的總線宏來實現(xiàn)動態(tài)局部可重構(gòu)技術(shù)。在Virtex,Virtex-E,Virtex-Ⅱ Pro X,Spartan-Ⅱ,Spartan-ⅡE和Spartan-3系列器件中所使用的總線宏都是基于TBUF的,可重構(gòu)模塊的位置固定不變;在Virtex4,Virtex5更高性能的器件中,所使用的總線宏是基于Slice的,可重構(gòu)模塊的位置是可變的;而Virtex-Ⅱ,Virtex-Ⅱ Pro所使用的總線宏既可以基于TBUF,也可以基于Slice[2,3]。

        目前,使用最多的總線宏[4],其物理實現(xiàn)是使用8個三態(tài)緩沖器(TBUF),實現(xiàn)4位的雙向通信。每個TBUF占用1位,每位使用1根TBUF長線,從FPGA 的最左側(cè)到最右側(cè),如圖1所示。TBUF的T端是三態(tài)使能端口;I端是數(shù)據(jù)輸入端口;O是數(shù)據(jù)輸出端口。相應(yīng)地,總線宏的T端(LT和RT)是方向控制端口,控制總線宏從左或從右輸出;I端(LI和RI)是數(shù)據(jù)輸入端口;O端(LO和RO)是數(shù)據(jù)輸出端口。

        總線宏的信息通信是雙向的,既可以從左到右,也可以從右到左。但是對于一個設(shè)計來說,一旦信息通信方向確定以后就不能再改變??偩€宏的位置精確地跨騎在模塊A和模塊B之間(A或B是可重構(gòu)模塊,或AB全是可重構(gòu)模塊),其中四柵三態(tài)緩沖器在模塊A內(nèi),另外四柵在B內(nèi)。對于Virtex-Ⅱ等系列器件,因內(nèi)部結(jié)構(gòu)不同,故兩柵跨騎在模塊A內(nèi),另外兩柵跨騎在模塊B內(nèi)。

        圖1 基于TBUF的總線宏的物理執(zhí)行

        2 基于TBUF的總線宏設(shè)計

        這里在深入研究Xilinx公司所提供的總線宏的基礎(chǔ)上,結(jié)合宏的設(shè)計技術(shù)[5,6],完善了總線宏的設(shè)計。

        (1) TBUF的內(nèi)部路由。圖2給出內(nèi)部路由后的TBUF電路結(jié)構(gòu)圖。TMUX的T端決定總線宏的控制端LT和RT高電平有效,而T_B端決定低電平有效。無論控制信號是高電平有效,還是低電平有效,在使用總線宏進(jìn)行通信時,LT和RT的值必須是相反的,或者是同時無效的。例如,當(dāng)控制信號高有效時,即T端為1時,TBUF打開。如果總線宏是從左向右傳遞數(shù)據(jù),則必須將LT設(shè)為1,RT為0,反之亦然;如果總線宏不需要傳遞數(shù)據(jù),那么兩個控制信號應(yīng)同時為0,此時總線宏輸出為高阻態(tài)。

        圖2 路由后的TBUF內(nèi)部電路結(jié)構(gòu)

        (2) TBUF添加的方法。Virtex,Virtex-E,Spartan-Ⅱ,Spartan-ⅡE的內(nèi)部結(jié)構(gòu)類似,與TBUF添加的方法是相同的。在相應(yīng)的位置選擇一個可編程邏輯塊(Configurable Logic Block,CLB)中的一個TBUF作為總線宏的一個TBUF(1個CLB包含2個TBUF),依次選擇同一行相連下一個CLB中的一個TBUF,直至選夠8個TBUF為止;對于Spartan-3,Virtex-Ⅱ,Virtex-Ⅱ Pro和Virtex-Ⅱ Pro X系列器件;每一個CLB中的2個TBUF都作為總線宏的TBUF被選用,在同一行中依次選擇相連的4個CLB中的8個TBUF作為總線宏的TBUF,如圖3所示。

        (3) TBUF外部端口的命名規(guī)則。根據(jù)圖1的總線宏結(jié)構(gòu),對各個TBUF的外部端口T,I和O進(jìn)行相應(yīng)的命名,命名時要符合所使用版本軟件的要求。例如,若對端口進(jìn)行如下命名:LI<3>,LT<3>等,而端口在進(jìn)行物理設(shè)計規(guī)則檢查(Design Rule Check,DRC)時會出錯,根據(jù)所提示的出錯信息將命名改為:LI(3),LT(3)等,即能順利通過DRC,完成端口的命名。

        圖3 不同類型器件TBUF的添加

        (4) 總線宏輸出端口的定義??偩€宏輸出端口的定義只能通過手工路由(Manual Route)方法,把相應(yīng)TBUF的輸出端口通過端口連線和TBUF長線連接起來。

        (5) 參考TBUF的設(shè)置。設(shè)計中通過約束參考TBUF的位置來決定整個總線宏的位置,若用戶沒有設(shè)置參考TBUF,則FPGA Editor工具會將用戶添加的第一個TBUF默認(rèn)為參考TBUF。

        至此,整個總線宏的設(shè)計完成,如圖4所示。

        3 總線宏的驗證

        為了驗證上述總線宏設(shè)計方法的正確與否,這里設(shè)計了一個功能簡單的FPGA動態(tài)局部可重構(gòu)實驗。電路重構(gòu)前實現(xiàn)的功能為:(A+B)*(C-D),重構(gòu)后實現(xiàn)的功能為:(A+B)(C-D)。根據(jù)電路功能將電路劃分為3個模塊。其中,加法(A+B)、減法(C-D)為固定模塊M1,M2;乘法/移位(*/)為可重構(gòu)模塊M3。M1與M3,M2與M3之間分別用總線宏BM1和BM2實現(xiàn)通信,如圖5所示。

        圖4 不同器件中總線宏設(shè)計

        圖5 FPGA資源劃分

        該實驗采用的軟件開發(fā)平臺:Xilinx ISE6.2i;硬件開發(fā)平臺:可重構(gòu)硬件平臺——XCV800驗證板。

        每一個總線宏只能傳遞4位的信號。當(dāng)可重構(gòu)模塊間需要多于4位的數(shù)據(jù)通信時,可以通過多個總線宏的拼接實現(xiàn)。這種拼接只是簡單地將多個宏拼接為一個文件,而不是將多個宏拼接為一個宏,所以在使用約束語句,約束總線宏的位置時,仍然必須單獨約束每個宏,而不是直接約束一個文件[7,8]。例如該實驗中模塊M1與模塊M3之間的數(shù)據(jù)通信是8位,則需要2(8/4)個總線宏來實現(xiàn)模塊M1與M3間的通信,M2與M3之間也一樣[9]:

        INST BM1/bus1 LOC=TBUF_R1C9.0;

        INST BM1/bus2 LOC=TBUF_R5C9.0;

        INST BM2/bus1 LOC=TBUF_R1C65.0;

        INST BM2/bus2 LOC=TBUF_R5C65.0;

        按照FPGA動態(tài)可重構(gòu)軟件設(shè)計流程[4,10]生成局部動態(tài)可重構(gòu).bit文件;通過JTAG電纜下載到可重構(gòu)硬件平臺——XCV800驗證板進(jìn)行調(diào)試驗證;通過邏輯分析儀觀察結(jié)果,如圖6所示。

        A,B的和Q1作為總線宏BM1的數(shù)據(jù)輸入LI1;C,D的差Q2作為總線宏BM2的數(shù)據(jù)輸入RI2;BM1和BM2的方向控制端LT1,RT2為高(255),RT1,LT2為低(0);數(shù)據(jù)輸入端RI1,LI2懸空,R01,L02分別為總線宏的輸出;Q3為可重構(gòu)模塊M3的輸出。由實驗結(jié)果可知,總線宏的設(shè)計是正確的。

        圖6 實驗結(jié)果

        4 結(jié) 語

        目前,Xilinx公司提倡使用最新的EAPR(Early Access Partial Reconfiguration)方法實現(xiàn)FPGA動態(tài)局部可重構(gòu)技術(shù)。該方法中用于可重構(gòu)模塊與其他模塊之間通信的總線宏是基于Slice的,但這個方法只適用于Virtex-Ⅱ,Virtex-Ⅱ Pro,Virtex-IV和Virtex-V等器件,對于Virtex,SpartanⅡ,Spartan Ⅲ等器件,只能使用基于TBUF的總線宏實現(xiàn)動態(tài)可重構(gòu)技術(shù),因此該文對基于TBUF的總線宏研究是有意義的。

        參考文獻(xiàn)

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

        [2]Xilinx Inc.Early Access Partial Reconfiguration User Guide For ISE 8.1.01i.UG208[EB/OL].http://www.xilinx.com/support,2006.

        [3]趙遠(yuǎn)寧,吳強,鄒祎.基于Virtex-ⅡPro 系列FPGA的動態(tài)部分可重構(gòu)系統(tǒng)設(shè)計與實現(xiàn)[EB/OL].http://www.paper.edu.cn,2008.

        [4]Xilinx Inc.Two Flows for Partial Reconfiguration:Module-based or Difference-based.XAPP290[EB/OL].http://www.xilinx.com/support,2008.

        [5]王誠,薛小剛,鐘信潮.FPGA/CPLD設(shè)計工具Xilinx ISE使用詳解[M].北京:人民郵電出版社,2005.

        [6]喬守明,祝洪珍,王偉.動態(tài)重構(gòu)中總線宏的結(jié)構(gòu)與實現(xiàn)[J].電腦知識與技術(shù),2007(13):145-147.

        [7]許駿,晏渭川,彭澄廉.基于模塊的動態(tài)可重構(gòu)系統(tǒng)設(shè)計[J].計算機工程與設(shè)計,2008,29(6):1 367-1 369,1 383.

        [8]Xilinx Inc.Xilinx Constraints Guide 8.1i[EB/OL].http://toolbox.xilinx.com,2007.

        [9]尚麗娜.FPGA動態(tài)可重構(gòu)研究[D].杭州:浙江大學(xué),2006.

        [10]黃俊,朱明程.局部動態(tài)重構(gòu)在SoPC中的應(yīng)用[J].深圳大學(xué)學(xué)報:理工版,2006,23(4):351-355.

        作者簡介 趙秋桂 女,1983年出生,廣西合浦人,在讀碩士研究生。研究方向為IC設(shè)計。

        段青亞 女,1970年出生,陜西大荔人,高級工程師,在讀博士研究生。研究方向為計算機體系結(jié)構(gòu)技術(shù)。

        91最新免费观看在线| 天天躁夜夜躁狠狠躁2021a2| a级特黄的片子| 伊人网在线视频观看| 蜜桃伦理一区二区三区| 一区二区三区日韩精品视频| 麻豆蜜桃av蜜臀av色欲av| 欧美性xxxx狂欢老少配| 午夜不卡亚洲视频| 亚洲一区二区懂色av| 国产高清在线观看av片| 欧美日韩一区二区三区自拍| 亚洲一区二区三区av在线免费| 国产高清大片一级黄色| 亚洲成a∨人片在线观看无码| 久久久午夜精品福利内容| 国产短视频精品区第一页 | 亚洲熟妇少妇69| 久久熟女乱一区二区三区四区| 国产自拍偷拍视频免费在线观看 | 8ⅹ8x擦拨擦拨成人免费视频| 亚洲国产成人精品激情资源9| 亚洲中文字幕视频第一二区| 久久久久亚洲av综合波多野结衣| 亚洲永久精品ww47| 久久久久无码中文字幕| 少妇爽到高潮免费视频| 国产综合无码一区二区辣椒| 日韩第四页| 玖玖资源网站最新网站| 亚洲欧洲av综合色无码| 狠狠色丁香久久婷婷综合蜜芽五月 | 日韩中文字幕一区二十| 免费a级毛片高清在钱| 无码人妻丰满熟妇区五十路百度| 国产69口爆吞精在线视频喝尿 | 精品奇米国产一区二区三区| 精品偷自拍另类在线观看| 人妻无码一区二区三区四区| 国产精品一区二区午夜久久| 美女在线一区二区三区视频|