<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 動態(tài)重構兩種模式的分析與對比

          動態(tài)重構兩種模式的分析與對比

          作者: 時間:2009-03-24 來源:網絡 收藏

          1、引言

          本文引用地址:http://www.ex-cimer.com/article/192118.htm

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

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

          2、基本理論

          嚴格來講,系統(tǒng)重構的概念可分為靜態(tài)系統(tǒng)重構和系統(tǒng)重構。靜態(tài)系統(tǒng)重構是指目標系統(tǒng)的邏輯功能靜態(tài)重載,即在系統(tǒng)空閑期間通過各種方式進行在線編程,而不是在其他部分動態(tài)運行時重載。

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

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

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

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

          FPGA的動態(tài)可重構有兩種不同的方式:基于模塊(Module-based)的部分動態(tài)可重構和基于差異(Difference-based)的部分動態(tài)可重構。基于模塊的部分動態(tài)可重構將設計分解成模塊,對一個設計來說,每個模塊都是完全獨立的。如果模塊之間需要交流通信,就需要一種特殊的總線宏,它允許信號穿過部分可重構的邊界。總線宏為設計的內部通信提供了一個固定的總線。每次實現(xiàn)部分可重構時,總線宏就用來確保模塊間布線通道沒有改變,保證正確的連接。而基于差異的部分可重構只是比較部分重構前后的電路差別,產生一個只包含重構前后設計差別的比特流。

          3、基于模塊的部分可重構

          部分可重構定義了一些特殊的區(qū)域,這些區(qū)域可以在器件的其他部分還在運行的情況下進行重構,這些特殊區(qū)域稱作可重構區(qū)域?;谀K的部分可重構就是將電路功能劃分成一個個的模塊,這些模塊包括可重構模塊(可以實現(xiàn)重構的特殊區(qū)域)和固定模塊(功能不變不能實現(xiàn)重構的區(qū)域)。其中可重構模塊是重構技術的關鍵,具有以下特性:

          重構模塊的高度是整個器件的高度。

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

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

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

          圖1 總線宏用作模塊內部通信

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

          時鐘邏輯和可重構模塊是相互分離的,時鐘和比特流是相互獨立的。

          可重構模塊上部和下部的IOB是可重構模塊資源的一部分。

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

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

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

          為了保證重構的時候實現(xiàn)合適的操作,需要外在的握手邏輯。

          在可重構過程之前和之后,要保存可重構模塊內的存儲元素的狀態(tài)。

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


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();