FPGA動(dòng)態(tài)局部可重構中基于TBUF總線(xiàn)宏設計

發(fā)布時(shí)間:2010-8-10 15:57    發(fā)布者:lavida
關(guān)鍵詞: TBUF
引 言  

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

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

在研究總線(xiàn)宏的結構基礎上,采用FPGA Editor可視化的方法設計基于TBUF的總線(xiàn)宏,并通過(guò)FP-GA動(dòng)態(tài)可重構實(shí)驗驗證了該方法的正確性。  

1 基于TBUF的總線(xiàn)宏結構  

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

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



  


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

2 基于TBUF的總線(xiàn)宏設計  

這里在深入研究Xilinx公司所提供的總線(xiàn)宏的基礎上,結合宏的設計技術(shù),完善了總線(xiàn)宏的設計。  

(1)TBUF的內部路由。圖2給出內部路由后的TBUF電路結構圖。TMUX的T端決定總線(xiàn)宏的控制端LT和RT高電平有效,而T_B端決定低電平有效。  



  


無(wú)論控制信號是高電平有效,還是低電平有效,在使用總線(xiàn)宏進(jìn)行通信時(shí),LT和RT的值必須是相反的,或者是同時(shí)無(wú)效的。例如,當控制信號高有效時(shí),即T端為1時(shí),TBUF打開(kāi)。如果總線(xiàn)宏是從左向右傳遞數據,則必須將LT設為1,RT為0,反之亦然;如果總線(xiàn)宏不需要傳遞數據,那么兩個(gè)控制信號應同時(shí)為0,此時(shí)總線(xiàn)宏輸出為高阻態(tài)。  

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



  


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

(4)總線(xiàn)宏輸出端口的定義?偩(xiàn)宏輸出端口的定義只能通過(guò)手工路由(Manual Route)方法,把相應TBUF的輸出端口通過(guò)端口連線(xiàn)和TBUF長(cháng)線(xiàn)連接起來(lái)。  

(5)參考TBUF的設置。設計中通過(guò)約束參考TBUF的位置來(lái)決定整個(gè)總線(xiàn)宏的位置,若用戶(hù)沒(méi)有設置參考TBUF,則FPGA Editor工具會(huì )將用戶(hù)添加的第一個(gè)TBUF默認為參考TBUF。  

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



  


3 總線(xiàn)宏的驗證  

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



  


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

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

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

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

4 結 語(yǔ)  

目前,Xilinx公司提倡使用最新的EAPR(Early Access Partial Reconfiguration)方法實(shí)現FPGA動(dòng)態(tài)局部可重構技術(shù)。該方法中用于可重構模塊與其他模塊之間通信的總線(xiàn)宏是基于Slice的,但這個(gè)方法只適用于Virtex-Ⅱ,Virtex-ⅡPro,Virtex-IV和Virtex-V等器件,對于Virtex,SpartanⅡ,SpartanⅢ等器件,只能使用基于TBUF的總線(xiàn)宏實(shí)現動(dòng)態(tài)可重構技術(shù),因此該文對基于TBUF的總線(xiàn)宏研究是有意義的。
本文地址:http://selenalain.com/thread-20697-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页