基于FPGA的可變長(cháng)度移位寄存器優(yōu)化設計
本文以最大可變長(cháng)度為N、寬度為1bit的移位寄存器為模型,討論如何從結構上優(yōu)化可變長(cháng)度移位寄存器和有效的FPGA實(shí)現。至于寬度不為1bit的情況,可以此類(lèi)推。
本文引用地址:http://dyxdggzs.com/article/150431.htm通??勺冮L(cháng)度移位寄存器的結構可分為兩種:一種是輸入分支型(結構A),如圖1所示;另一種是輸出分支型(結構B),如圖2所示。

結構A與結構B有兩個(gè)共同點(diǎn):第一,都是由觸發(fā)器鏈路加數據流向控制邏輯組成;第二,每級觸發(fā)器的輸入輸出都是信號節點(diǎn),因而各級都需要對本級節點(diǎn)的信號流向進(jìn)行控制。結構A用n-to-2n譯碼器來(lái)控制信號流向,結構B則用2n:1多路復用器控制信號流向。對于基本邏輯單元為查找表(LUT)+觸發(fā)器(FF)+多路復用器(MUX)結構的FPGA來(lái)說(shuō),直接采用結構A與結構B構造較長(cháng)的移位寄存器時(shí),觸發(fā)器鏈和復雜的組合邏輯會(huì )消耗很多資源,即這兩種結構不宜用于較長(cháng)的可變長(cháng)度移位寄存器。
2 解決方案
為解決上述問(wèn)題,可以采用如下兩個(gè)方法:
(1)優(yōu)化功能結構與硬件結構的搭配。根據移位寄存器結構類(lèi)型,選擇適宜的FPGA芯片以提高資源利用率,降低資源消耗。
(2)優(yōu)化移位寄存器結構。采用FPGA片內RAM來(lái)實(shí)現移位寄存器,利用片內RAM速度快、數量大的優(yōu)點(diǎn),直接減少基本邏輯單元的消耗,提高資源利用率。
2.1 優(yōu)化功能結構與硬件結構的搭配
通過(guò)調整FPGA芯片類(lèi)型與移位寄存器結構類(lèi)型的搭配,可以提高資源利用率,降低資源消耗。下面以結構B為例,闡述如何應用Xilinx公司的Spartan-3系列芯片高效地實(shí)現N=128的可變長(cháng)度移位寄存器。
2.1.1 實(shí)現原理
Spartan-3系列芯片的每個(gè)可配置邏輯塊CLB[1]如圖3所示,包含8個(gè)LUT、8個(gè)DFF和8個(gè)2:1多路復用器(4個(gè)F5MUX,2個(gè)F6MUX,1個(gè)F7MUX,1個(gè)F8MUX),而每個(gè)LUT都能配置成移位寄存器模式(SRL),相當于一個(gè)16級的可逐級尋址的移位寄存器。如圖4所示,一個(gè)LUT就包含了構成結構B所需的全部要素,從而有效地實(shí)現N=16的可變長(cháng)度移位寄存器[2].Q15是用于多級級聯(lián)實(shí)現N>16的移位寄存器的進(jìn)位輸出。


評論