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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的可變長度移位寄存器優(yōu)化設(shè)計(jì)

          基于FPGA的可變長度移位寄存器優(yōu)化設(shè)計(jì)

          作者: 時間:2011-07-24 來源:網(wǎng)絡(luò) 收藏
          2.1.2 應(yīng)用示例

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

            利用Spartan-3系列芯片的一個CLB(相當(dāng)于8個基本邏輯單元)就可以構(gòu)成N=128的,如圖5所示。作為對比,如果不調(diào)整芯片類型與結(jié)構(gòu)類型的搭配,比如直接采用Altera Cyclone II芯片,按結(jié)構(gòu)A實(shí)現(xiàn)N=128的,則需消耗169個基本邏輯單元(由Quartus II編譯)。

            

          利用Spartan-3系列芯片的一個CLB就可以構(gòu)成N

            2.2 移位寄存器結(jié)構(gòu)

            通過移位寄存器結(jié)構(gòu),采用片內(nèi)RAM來實(shí)現(xiàn)移位寄存器,利用片內(nèi)RAM速度快、數(shù)量大的優(yōu)點(diǎn),直接減少基本邏輯單元的消耗,提高資源利用率。

            2.2.1 實(shí)現(xiàn)原理

            片內(nèi)RAM常見有兩種,一種是分布式RAM(Distributed RAM),如Xilinx Spartan-3的LUT,每個LUT都可作為16位的RAM使用;另一種是嵌入式塊RAM(Block RAM),如Xilinx Spartan-3的18KB塊RAM、Altera Cyclone II的4KB塊RAM(M4K)。結(jié)構(gòu)A與結(jié)構(gòu)B中,各級都需要對本級節(jié)點(diǎn)的信號流向進(jìn)行控制,這種形式限制了FPGA嵌入式塊RAM的使用。為此,了結(jié)構(gòu)C——梯級組合型,如圖6所示,這種結(jié)構(gòu)非常利于采用片內(nèi)RAM來實(shí)現(xiàn)移位寄存器。

            

          梯級組合型

            分析結(jié)構(gòu)C,梯級組合型有兩個要素:一是2:1多路復(fù)用器,每個都有單獨(dú)的控制位,共n個,而且n〈〈N,二者呈指數(shù)關(guān)系;二是不同的移位寄存器組成的梯級,初級(第0級)由20=1個觸發(fā)器組成,第1級由21=2個觸發(fā)器鏈接組成,第2級由22=4個觸發(fā)器鏈接組成,……,第N級由2N個觸發(fā)器鏈接組成。在梯級組合型的結(jié)構(gòu)中,不需要對每個觸發(fā)器的輸入輸出都控制,只需通過控制位BI對各個梯級的輸入輸出控制就可以實(shí)現(xiàn)分辨率為1的長度連續(xù)變化,寄存器的長度N=BN×2N+…+B2×22+B1×21+B0×20.

            例如,對于最大N=255(控制字為8位)且采用結(jié)構(gòu)C的長度移位寄存器,要實(shí)現(xiàn)長度為5的移位寄存器,只需設(shè)置控制字為00000101B即可;要實(shí)現(xiàn)長度為255的移位寄存器,只需設(shè)置控制字為1111111B即可。由于同一個梯級里,除頭尾兩級外,其他各級不再有信號流向控制,且各梯級觸發(fā)器鏈的長度為2n,可以方便地利用FPGA嵌入式塊RAM和廠商提供的經(jīng)過的宏功能模塊來實(shí)現(xiàn)長度較大的梯級,從而提高資源利用率。

            2.2.2 應(yīng)用示例

            以Altera Cyclone II[3]的M4K為例,每個M4K塊RAM有4 608個存儲位(其中包括512個奇偶位),操作頻率高達(dá)250MHz,M4K工作于移位寄存器模式時的結(jié)構(gòu)如圖7所示,數(shù)據(jù)寬度(w)、每段長度(m)、抽頭數(shù)(n)的關(guān)系可方便地在廠商提供的RAM的移位寄存器宏模塊“altshift_taps”中設(shè)置。當(dāng)w×m×n不大于4 608且w×m不大于36時,消耗一個M4K和少量基本邏輯單元;當(dāng)不能滿足上述兩項(xiàng)中任意一項(xiàng),開發(fā)工具會自動連接多個M4K.通過調(diào)整w、m、n的組合,M4K能以多種方式高效實(shí)現(xiàn)結(jié)構(gòu)C的梯級。

            

          M4K工作于移位寄存器模式時的結(jié)構(gòu)

            例如,構(gòu)造一個1024位的梯級,可以設(shè)置w=1、m=256、n=4,占用13個LUT,8個寄存器,1個M4K;構(gòu)造一個4 096位的梯級,可以設(shè)置w=1、m=256、n=16,依然只占用13個LUT,8個寄存器,1個M4K.為進(jìn)一步提高M(jìn)4K的利用率,可以設(shè)置w=32、m=128、n=1,只占用12個LUT,7個寄存器,1個M4K就能得到32個長度為128位的移位寄存器段,將這些寄存器段自行連接,用一個M4K能同時得到如下的梯級:128位、256位(2段串連)、512位(2段串連)、1024位(8段串連)、2048位(16段串連),最大限度地利用了M4K的RAM資源。

            作為對比,仍以Altera Cyclone II芯片為例,如果用基本邏輯單元的移位寄存器宏模塊“LPM_SHIFTREG”來實(shí)現(xiàn)1 024位的梯級和4096位的梯級,則分別需1 024(256×4)個LUT和4096(256×16)個LUT,資源開銷較大??梢?,結(jié)構(gòu)C非常利于實(shí)現(xiàn)可變長度較長的移位寄存器。

            可變長度移位寄存器是非常有用的邏輯結(jié)構(gòu)。對高速數(shù)據(jù)采集系統(tǒng)觸發(fā)控制單元來說,應(yīng)用優(yōu)化后的可變長度移位寄存器可以提高其信噪比,改善其可靠性和靈活性。另外,采用可變長度移位寄存器可以減小死區(qū)時間,從而改善觸發(fā)控制單元重復(fù)觸發(fā)的性能。這些改善在本單位設(shè)備的實(shí)際應(yīng)用中起到了良好的作用。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();