新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 動(dòng)態(tài)重構(gòu)兩種模式的分析與對(duì)比

動(dòng)態(tài)重構(gòu)兩種模式的分析與對(duì)比

作者: 時(shí)間:2009-03-24 來(lái)源:網(wǎng)絡(luò) 收藏

1、引言

本文引用地址:http://m.butianyuan.cn/article/192118.htm

隨著數(shù)字邏輯系統(tǒng)功能的復(fù)雜化,單片系統(tǒng)的芯片正朝著超大規(guī)模、高密度的方向發(fā)展。然而,隨著數(shù)字邏輯系統(tǒng)規(guī)模的擴(kuò)大,在相同速度的條件下,在一定的時(shí)間區(qū)間,由于從時(shí)間軸上來(lái)看,系統(tǒng)中的各個(gè)功能模塊并不是任何時(shí)刻都在激活或工作,所以其功能模塊的平均使用率將下降。也就是說(shuō),隨著系統(tǒng)規(guī)模的擴(kuò)大,單片電路的資源利用率反而下降。因此,系統(tǒng)設(shè)計(jì)能不能從傳統(tǒng)的追求大規(guī)模、高密度的方向,轉(zhuǎn)向如何提高資源利用率上來(lái)呢?

FPGA重構(gòu)技術(shù)正適應(yīng)了這種要求,用有限的資源去實(shí)現(xiàn)更大規(guī)模的邏輯設(shè)計(jì),大大提高了資源利用率。但它決不僅僅是一種新型功能電路的應(yīng)用,其涉及數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)思想的變革,可以使數(shù)字系統(tǒng)單片化的設(shè)計(jì)從追求邏輯規(guī)模轉(zhuǎn)向追求邏輯的分時(shí)復(fù)用;從專用的固定功能邏輯系統(tǒng)轉(zhuǎn)向功能可自適應(yīng)進(jìn)化的邏輯系統(tǒng)。重構(gòu)技術(shù)是未來(lái)FPGA研究和使用方向。

2、基本理論

嚴(yán)格來(lái)講,系統(tǒng)重構(gòu)的概念可分為靜態(tài)系統(tǒng)重構(gòu)和系統(tǒng)重構(gòu)。靜態(tài)系統(tǒng)重構(gòu)是指目標(biāo)系統(tǒng)的邏輯功能靜態(tài)重載,即在系統(tǒng)空閑期間通過(guò)各種方式進(jìn)行在線編程,而不是在其他部分動(dòng)態(tài)運(yùn)行時(shí)重載。

動(dòng)態(tài)系統(tǒng)重構(gòu)是指在系統(tǒng)實(shí)時(shí)運(yùn)行當(dāng)中對(duì)FPGA的邏輯功能實(shí)時(shí)地進(jìn)行動(dòng)態(tài)配置,能夠只對(duì)其內(nèi)部需要修改的邏輯單元進(jìn)行重新配置,而不影響沒(méi)有被修改的邏輯單元的正常工作。動(dòng)態(tài)重構(gòu)特征引出了一種新的設(shè)計(jì)思想[3]:即用有限的硬件邏輯資源來(lái)實(shí)現(xiàn)大規(guī)模系統(tǒng)時(shí)序功能;將傳統(tǒng)的空間分布的硬件邏輯,分為器件外部特征不變,而內(nèi)部邏輯在時(shí)間上交替變換的硬件邏輯,并共同在時(shí)間空間上構(gòu)成系統(tǒng)整體邏輯功能。

當(dāng)器件的同一個(gè)區(qū)域需要載入不同的設(shè)計(jì)功能并且又不需要重新配置整個(gè)電路也不影響其他電路的運(yùn)行時(shí)就需要部分動(dòng)態(tài)重構(gòu)。這樣既可以降低電路能量消耗又可以提高板子利用率、加快下載速度。

可重構(gòu)系統(tǒng)的歷史很短,目前還處于研究、驗(yàn)證階段,但已經(jīng)被應(yīng)用到了很多方面,如軍事目標(biāo)匹配[4,5] 、集成電路計(jì)算機(jī)輔助設(shè)計(jì)[6]等。可重構(gòu)系統(tǒng)研究的關(guān)鍵之處在于硬件方面即FPGA,有代表性的主要有MI芯片[7]、SIDSA FIPSOC結(jié)構(gòu)[8]、MIT的DPGA[9]和Virtex系列,目前使用較多的是Xilinx 公司推出的Virtex系列。

Virtex器件的有效部分重構(gòu)可以使用Select映射或者Boundary Scan(JTAG)下載。不需要重新配置器件也不需要下載完整的配置,新的數(shù)據(jù)只需下載到器件的可重構(gòu)部分。對(duì)于目前的FPGA器件來(lái)說(shuō),數(shù)據(jù)是以column為基礎(chǔ)下載,最小的可下載單元是一幀(frame)的配置比特流,它根據(jù)目標(biāo)器件的不同而有不同的大小。

FPGA的動(dòng)態(tài)可重構(gòu)有兩種不同的方式:基于模塊(Module-based)的部分動(dòng)態(tài)可重構(gòu)和基于差異(Difference-based)的部分動(dòng)態(tài)可重構(gòu)?;谀K的部分動(dòng)態(tài)可重構(gòu)將設(shè)計(jì)分解成模塊,對(duì)一個(gè)設(shè)計(jì)來(lái)說(shuō),每個(gè)模塊都是完全獨(dú)立的。如果模塊之間需要交流通信,就需要一種特殊的總線宏,它允許信號(hào)穿過(guò)部分可重構(gòu)的邊界??偩€宏為設(shè)計(jì)的內(nèi)部通信提供了一個(gè)固定的總線。每次實(shí)現(xiàn)部分可重構(gòu)時(shí),總線宏就用來(lái)確保模塊間布線通道沒(méi)有改變,保證正確的連接。而基于差異的部分可重構(gòu)只是比較部分重構(gòu)前后的電路差別,產(chǎn)生一個(gè)只包含重構(gòu)前后設(shè)計(jì)差別的比特流。

3、基于模塊的部分可重構(gòu)

部分可重構(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òu)模塊是重構(gòu)技術(shù)的關(guān)鍵,具有以下特性:

重構(gòu)模塊的高度是整個(gè)器件的高度。

重構(gòu)模塊的寬度最小可以是四個(gè)slice最大可以到整個(gè)器件的寬度,但必須以四的整數(shù)倍個(gè)slice增加。

重構(gòu)模塊放置的水平坐標(biāo)必須是四的整數(shù)倍個(gè)slice的邊界,例如:左邊邊界可以放置在x=0,4,8,……

可重構(gòu)模塊和其他模塊之間的通信(包括可重構(gòu)模塊和普通固定模塊之間、可重構(gòu)模塊和 可重構(gòu)模塊之間)都是通過(guò)使用特殊的總線宏,如圖1。

圖1 總線宏用作模塊內(nèi)部通信

重構(gòu)模塊寬度范圍內(nèi)包括的所有邏輯資源都被看作是可重構(gòu)模塊的一部分,包括slice、TBUF、RAM塊、乘法器、IOB和布線資源。

時(shí)鐘邏輯和可重構(gòu)模塊是相互分離的,時(shí)鐘和比特流是相互獨(dú)立的。

可重構(gòu)模塊上部和下部的IOB是可重構(gòu)模塊資源的一部分。

如果一個(gè)可重構(gòu)模塊貫穿了整個(gè)板子的左部和右部,那么每一邊的IOB都是可重構(gòu)模塊資源的一部分。

為了降低設(shè)計(jì)難度,要盡量減少可重構(gòu)模塊的個(gè)數(shù)(理想狀況下,如果可能的話,最好只有一個(gè)可重構(gòu)模塊)。

可重構(gòu)模塊的邊界不能改變。任何一個(gè)可重構(gòu)模塊的位置、所占據(jù)的區(qū)域都是固定的。

為了保證重構(gòu)的時(shí)候?qū)崿F(xiàn)合適的操作,需要外在的握手邏輯。

在可重構(gòu)過(guò)程之前和之后,要保存可重構(gòu)模塊內(nèi)的存儲(chǔ)元素的狀態(tài)。

如圖2所示,是一個(gè)具有兩個(gè)部分可重構(gòu)模塊的設(shè)計(jì),各模塊間都是通過(guò)總線宏來(lái)通信。通過(guò)合理的時(shí)序控制,實(shí)現(xiàn)在其他電路還在運(yùn)行時(shí)的動(dòng)態(tài)配置重構(gòu)模塊,實(shí)現(xiàn)硬件復(fù)用。從而用更少的硬件資源去實(shí)現(xiàn)更大的系統(tǒng)功能,提高資源利用率。同時(shí),可重構(gòu)模塊比整個(gè)系統(tǒng)小很多,下載速度也得到大大提高。


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉