當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于FPGA的可變長度移位寄存器優(yōu)化設(shè)計(jì)

本文以最大可變長度為N、寬度為1bit的移位寄存器為模型,討論如何從結(jié)構(gòu)上優(yōu)化可變長度移位寄存器和有效的FPGA實(shí)現(xiàn)。至于寬度不為1bit的情況,可以此類推。

  1 可變長度移位寄存器的常用結(jié)構(gòu)

  通??勺冮L度移位寄存器的結(jié)構(gòu)可分為兩種:一種是輸入分支型(結(jié)構(gòu)A),如圖1所示;另一種是輸出分支型(結(jié)構(gòu)B),如圖2所示。

  

 

  結(jié)構(gòu)A與結(jié)構(gòu)B有兩個(gè)共同點(diǎn):第一,都是由觸發(fā)器鏈路加數(shù)據(jù)流向控制邏輯組成;第二,每級(jí)觸發(fā)器的輸入輸出都是信號(hào)節(jié)點(diǎn),因而各級(jí)都需要對(duì)本級(jí)節(jié)點(diǎn)的信號(hào)流向進(jìn)行控制。結(jié)構(gòu)A用n-to-2n譯碼器來控制信號(hào)流向,結(jié)構(gòu)B則用2n:1多路復(fù)用器控制信號(hào)流向。對(duì)于基本邏輯單元為查找表(LUT)+觸發(fā)器(FF)+多路復(fù)用器(MUX)結(jié)構(gòu)的FPGA來說,直接采用結(jié)構(gòu)A與結(jié)構(gòu)B構(gòu)造較長的移位寄存器時(shí),觸發(fā)器鏈和復(fù)雜的組合邏輯會(huì)消耗很多資源,即這兩種結(jié)構(gòu)不宜用于較長的可變長度移位寄存器。

  2 解決方案

  為解決上述問題,可以采用如下兩個(gè)方法:

  (1)優(yōu)化功能結(jié)構(gòu)與硬件結(jié)構(gòu)的搭配。根據(jù)移位寄存器結(jié)構(gòu)類型,選擇適宜的FPGA芯片以提高資源利用率,降低資源消耗。

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

  2.1 優(yōu)化功能結(jié)構(gòu)與硬件結(jié)構(gòu)的搭配

  通過調(diào)整FPGA芯片類型與移位寄存器結(jié)構(gòu)類型的搭配,可以提高資源利用率,降低資源消耗。下面以結(jié)構(gòu)B為例,闡述如何應(yīng)用Xilinx公司的Spartan-3系列芯片高效地實(shí)現(xiàn)N=128的可變長度移位寄存器。

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

  Spartan-3系列芯片的每個(gè)可配置邏輯塊CLB[1]如圖3所示,包含8個(gè)LUT、8個(gè)DFF和8個(gè)2:1多路復(fù)用器(4個(gè)F5MUX,2個(gè)F6MUX,1個(gè)F7MUX,1個(gè)F8MUX),而每個(gè)LUT都能配置成移位寄存器模式(SRL),相當(dāng)于一個(gè)16級(jí)的可逐級(jí)尋址的移位寄存器。如圖4所示,一個(gè)LUT就包含了構(gòu)成結(jié)構(gòu)B所需的全部要素,從而有效地實(shí)現(xiàn)N=16的可變長度移位寄存器[2].Q15是用于多級(jí)級(jí)聯(lián)實(shí)現(xiàn)N>16的移位寄存器的進(jìn)位輸出。

  

 

  

[!--empirenews.page--]2.1.2 應(yīng)用示例

 

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

  

 

  2.2 優(yōu)化移位寄存器結(jié)構(gòu)

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

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

  FPGA片內(nèi)RAM常見有兩種,一種是分布式RAM(Distributed RAM),如Xilinx Spartan-3的LUT,每個(gè)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中,各級(jí)都需要對(duì)本級(jí)節(jié)點(diǎn)的信號(hào)流向進(jìn)行控制,這種形式限制了FPGA嵌入式塊RAM的使用。為此,設(shè)計(jì)了結(jié)構(gòu)C——梯級(jí)組合型,如圖6所示,這種結(jié)構(gòu)非常利于采用片內(nèi)RAM來實(shí)現(xiàn)移位寄存器。

  

 

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

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

  2.2.2 應(yīng)用示例

  以Altera Cyclone II[3]的M4K為例,每個(gè)M4K塊RAM有4 608個(gè)存儲(chǔ)位(其中包括512個(gè)奇偶位),操作頻率高達(dá)250MHz,M4K工作于移位寄存器模式時(shí)的結(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時(shí),消耗一個(gè)M4K和少量基本邏輯單元;當(dāng)不能滿足上述兩項(xiàng)中任意一項(xiàng),開發(fā)工具會(huì)自動(dòng)連接多個(gè)M4K.通過調(diào)整w、m、n的組合,M4K能以多種方式高效實(shí)現(xiàn)結(jié)構(gòu)C的梯級(jí)。

  

 

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

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉