亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種低存儲器開銷的混合基fft處理器及其方法

文檔序號:6554844閱讀:247來源:國知局
專利名稱:一種低存儲器開銷的混合基fft處理器及其方法
技術(shù)領(lǐng)域
本發(fā)明涉及無線通訊、數(shù)字信號處理技術(shù)領(lǐng)域,特別是一種通用的操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器及其方法。
背景技術(shù)
在OFDM(正交頻分復(fù)用)載波調(diào)制解調(diào)、數(shù)字信號處理應(yīng)用中,混合基FFT(Fast Fourier Transformation)具有重要的作用。直接采用基-2FFT算法,則需要的運(yùn)算級數(shù)較多,為保證數(shù)據(jù)處理的吞吐率,需要對功能模塊采用倍頻,這不利于低功耗設(shè)計。而對于基-4等固定基FFT算法,只能處理16點、64點、256點等4n(n=1,2,3,......)點FFT,無法處理32點、128點、512點、2048點、8192點FFT,而這些點數(shù)的FFT目前在OFDM,數(shù)字信號處理中普遍應(yīng)用,同時,為保證FFT處理的點數(shù)具有靈活性,采用混合基FFT具有重要意義。
操作數(shù)1965年,Cooley-Tukey兩位學(xué)者提出了FFT算法,順序輸入FFT處理器的數(shù)據(jù)經(jīng)抽取后,輸入蝶算單元進(jìn)行復(fù)數(shù)乘法、累加,本說明書將輸入蝶算單元的數(shù)據(jù)稱為操作數(shù)。
存儲器開銷指處理器內(nèi)部使用的SRAM存儲器的字節(jié)數(shù)。
存儲器交織架構(gòu)以及操作數(shù)無沖突生成輸入FFT處理器的數(shù)據(jù)均存儲在SRAM存儲器中,一個SRAM存儲器(一種全同步、全靜態(tài)的隨機(jī)訪問存儲器)可以由多個存儲體構(gòu)成,存儲器對應(yīng)頁面地址,存儲體對應(yīng)塊地址,每個存儲體內(nèi)的地址稱為點地址(對于基-8FFT處理器,一個存儲器劃分為8個存儲體),通過以上劃分方法,得到存儲器交織架構(gòu),增大了存儲器的帶寬,即在一個時鐘周期可以并行讀取(或存儲)多個操作數(shù),如果不進(jìn)行存儲器交織,一個時鐘周期只能并行讀取(或存儲)一個操作數(shù)。

發(fā)明內(nèi)容
這里提出了一種針對基-4/2混合基FFT的蝶算操作數(shù)地址無沖突生成算法,并將其映射成為硬件結(jié)構(gòu),即寄存器相應(yīng)位聚集、倒序,寄存器通過模4加法器進(jìn)行譯碼。
前一幀的輸出序列和后一幀的輸入序列的地址完全相同,可以輸入、輸出、FFT運(yùn)算同時進(jìn)行,節(jié)省存儲器開銷。
這里提出的操作數(shù)地址無沖突生成算法適合任意基的組合。
一種通用的操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器。包括無沖突地址生成算法及相應(yīng)硬件(模加器),低存儲器開銷的實現(xiàn)算法、相應(yīng)硬件,即3個實例化的n位寄存器,通過相應(yīng)的位聚集成整體進(jìn)行倒序、譯碼,并將存儲器劃分為若干存儲體(具體劃分?jǐn)?shù)目按照實際情況確定),實現(xiàn)操作數(shù)并行訪問,輸入輸出共享存儲器。完成并行操作數(shù)訪問、輸入輸出同時進(jìn)行的FFT運(yùn)算,可以有效減小FFT處理器中存儲器的開銷。
一種操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器,包括針對混合基FFT的奇數(shù)幀輸入,這些時域點的塊地址、點地址經(jīng)相應(yīng)的原始輸入寄存器地址譯碼,蝶算單元所需的操作數(shù)分散在不同的存儲體中,因此能夠并行訪問操作數(shù),F(xiàn)FT原位運(yùn)算后,相應(yīng)地址存儲頻域點的數(shù)據(jù),頻域點輸出順序按照原始輸入寄存器倒序后產(chǎn)生,對于緊接著的偶數(shù)幀時域點輸入,這些時域點的塊地址、點地址經(jīng)特定倒序后的輸入寄存器地址譯碼產(chǎn)生,具有相同順序的時域點與上一幀F(xiàn)FT運(yùn)算后的頻域點的塊地址、點地址完全相同,因此可以共享同一存儲器,以上過程反復(fù)進(jìn)行,F(xiàn)FT運(yùn)算存儲器和輸入輸出共享存儲器按幀進(jìn)行輪換。
所述的操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器,偶數(shù)幀的時域點的輸入寄存器的倒序與奇數(shù)幀的倒序方式互為鏡向,即如果奇數(shù)幀的倒序方式中輸入寄存器中位的聚集方式為2,2,1,則偶數(shù)幀的倒序方式中輸入寄存器中位的聚集方式為1,2,2,對于別的混合基組合,聚集的位數(shù)相應(yīng)調(diào)整,但仍然滿足互為鏡向的關(guān)系。


圖1是操作數(shù)并行生成基-4/2混合基連續(xù)流FFT信號流圖。
圖2是通用的奇數(shù)幀、偶數(shù)幀輸出頻域點倒序二進(jìn)制映射圖。
圖3是Original Input Order 1寄存器譯碼圖。
圖4是輸入序列2的二進(jìn)制倒序映射圖。
圖5是輸入序列2的塊地址和點地址譯碼示意圖。
圖6是混合基FFT處理器內(nèi)部硬件結(jié)構(gòu)及工作步驟圖。
圖7是低存儲器開銷的混合基FFT處理器的工作方法流程圖。
具體實施例方式
這里以基-4/2混合基32點FFT數(shù)據(jù)流圖說明具體實施方式
,這里的算法推導(dǎo)、硬件映射也適合其他的混合基高點數(shù)FFT算法。相應(yīng)的硬件架構(gòu)采用兩塊RAM,分別是I/O存儲器、運(yùn)算存儲器,輸出序列1和輸入序列2共享同一I/O存儲器,每個輸入序列定義為一幀。不失一般性,輸入序列1代表奇數(shù)幀,輸入序列2代表偶數(shù)幀。I/O存儲器和運(yùn)算存儲器按幀輪換,F(xiàn)FT運(yùn)算連續(xù)進(jìn)行。輸出序列1和輸出序列2的頻域點順序均由原始的Input Order寄存器生成,兩者完全一樣。Original Input Order1,Input Order1,Input Order 2,Reversed Input Order2均為位長為n位的累加計數(shù)寄存器,其中n為奇數(shù),在具體電路映射中,Original Input Order1和Input Order1為同一個實例化的寄存器,Input Order2為一個實例化的寄存器,Reversed Input Order2為一個實例化的寄存器,即這里實例化了3個n位寄存器。
圖1是操作數(shù)并行生成基-4/2混合基連續(xù)流FFT信號流,輸入序列1,輸入序列2代表時域的第1幀、第2幀數(shù)據(jù)輸入,輸出序列1,輸出序列2代表頻域的數(shù)據(jù)輸出。以輸入序列1的第6點為例,它對應(yīng)的塊地址、點地址分別為3,6,如圖1中下劃線所示,經(jīng)過FFT運(yùn)算后,輸出序列1的第12點原位存儲在塊地址3、點地址6對應(yīng)的存儲單元。當(dāng)輸入序列2輸入時,按照本說明書提出的方法,輸入序列12的塊地址、點地址恰好分別為3,6,因此,可以在讀出輸出序列1的第12點后,緊接著在下一時鐘周期上升沿寫入輸入序列2的第12點,即輸入輸出可以共享同一存儲器,這是常規(guī)存儲器尋址設(shè)計方法無法獲得的。
圖2為通用的奇數(shù)幀、偶數(shù)幀輸出頻域點倒序二進(jìn)制映射圖,奇數(shù)幀對應(yīng)輸入序列1,偶數(shù)幀對應(yīng)輸入序列2,將序列稱為幀,也是與圖像處理、通信中的概念保持一致。以上奇數(shù)幀、偶數(shù)幀F(xiàn)FT運(yùn)算完畢,在輸出的時候,地址均按照圖2與圖3生成。
LSB1位倒序操作至MSB1位,而MSB2位聚集為一整體,倒序操作至LSB2位。上面的倒序也可以表示如下b[n-1]b[n-2]b[n-3]b[n-4]…b[2]b[1]b
b
b[2]b[1]…b[n-3]b[n-4]b[n-1]b[n-2](1)輸入序列1的塊地址和點地址由原始的Input Order寄存器譯碼產(chǎn)生,如圖3所示。其地址產(chǎn)生方式也可以表示為Bank={b[n-1]b[n-2]}{b[n-3]b[n-4]}…{b[4]b[3]}{b[2]b[1]}{b
}Address=b[n-3]b[n-4]…b[4]b[3]b[2]b[1]b
(2)其中表示模-4加法器。
當(dāng)輸入序列2開始寫入I/O存儲器時,其二進(jìn)制地址倒序如圖4所示,與圖2不同的是,LSB2位聚集為一個整體,倒序操作至MSB2位;MSB1位倒序操作至LSB1位。上面的倒序方式也可以表示為b[n-1]b[n-2]b[n-3]…b[3]b[2]b[1]b
b[1]b
b[3]b[2]…b[n-2]b[n-3]b[n-1](3)輸入序列2的塊地址、點地址由按照(3)倒序后的寄存器生成,如圖5所示。地址生成方式也可表示如下Bank={b[1]b
}{b[3]b[2]}…{b[n-4]b[n-5]}{b[n-2]b[n-3]}{b[n-1]}Address=b[3]b[2]…b[n-4]b[n-5]b[n-2]b[n-3]b[n-1](4)對于輸入序列1,若其中某點的二進(jìn)制地址為b[n-1]b[n-2]b[n-3]…b[3]b[2]b[1]b
它的塊地址、點地址由(2)產(chǎn)生,在原位FFT運(yùn)算之后,根據(jù)(1),相同塊低址、點地址存儲的輸出序列1中的頻域點的二進(jìn)制地址為
b
b[2]b[1]…b[n-3]b[n-4]b[n-1]b[n-2](5)輸入序列2中,對于具有b
b[2]b[1]…b[n-3]b[n-4]b[n-1]b[n-2]輸入寄存器取值的時域點,根據(jù)(3),它的倒序后的地址為b[n-1]b[n-2]b[n-3]b[n-4]…b[2]b[1]b
,它的塊地址、點地址由(4)產(chǎn)生Bank={b[n-1]b[n-2]}{b[n-3]b[n-4]}…{b[4]b[3]}{b[2]b[1]}{b
}Address=b[n-3]b[n-4]…b[4]b[3]b[2]b[1]b
(6)可見(6)與(2)完全相同,因此,輸出序列1中的b
b[2]b[1]…b[n-3]b[n-4]b[n-1]b[n-2]頻域點,與輸入序列2中的b
b[2]b[1]…b[n-3]b[n-4]b[n-1]b[n-2]時域點具有相同的塊地址、點地址,因此,輸入輸出可以同時發(fā)生,并且共享同一存儲器。I/O存儲器和運(yùn)算存儲器按幀進(jìn)行輪換,即可保持FFT連續(xù)輸入、輸出、計算。
現(xiàn)以一個具體例子進(jìn)行說明,如圖1中的寬體線和箭頭所示,輸入序列1的第7個點,二進(jìn)制地址為00110,根據(jù)(2),相應(yīng)的塊地址、點地址是3,6。FFT原位運(yùn)算后,根據(jù)(1),該地址存儲輸出序列1的第13個點。
對于輸入序列2的第13個點,二進(jìn)制地址為01100,根據(jù)(3)、(4),它的塊地址、點地址也是3,6,因此輸入序列2與輸出序列1可以共享同一存儲器。
在輸入序列2中,蝶式計算單元并行計算所需要的4個輸入數(shù)據(jù)存儲在不同的存儲體中,即具有不同的塊地址,比如,輸入序列2的第3,11,19,27點的塊地址分別是2,0,3,1,如圖1中虛線矩形框所示。當(dāng)I/O共享存儲器用作FFT運(yùn)算存儲器時,即可無沖突的訪問4個存儲體。
上述方法可以推廣至任意基組合的混合基FFT算法,比如基-8/2,基-16/2,基-16/4等等,相應(yīng)調(diào)整聚集成一個整體的位數(shù)。比如對于混合基-16/2,則相應(yīng)4位聚集成一個整體對應(yīng)基-16,單獨的1位作為一個整體對應(yīng)基-2,模加器的長度相應(yīng)為4位。
圖3是Original Input Order 1寄存器譯碼圖。Original Input Order 1寄存器是奇數(shù)幀的順序計數(shù)寄存器,按照圖3譯碼生成每個輸入數(shù)據(jù)對應(yīng)的塊地址、點地址。
圖4是輸入序列2的二進(jìn)制倒序映射圖。與圖2顯著不同的是,最低的兩位聚集在一起倒序至最高兩位。
圖5是輸入序列2的塊地址和點地址譯碼示意圖。輸入序列2進(jìn)行譯碼后,可以與輸出序列1共享同一存儲器,當(dāng)輸入序列2完成后,輸入序列2開始FFT運(yùn)算時,輸入序列2又將按照圖2與圖3進(jìn)行地址譯碼。
以上過程反復(fù)進(jìn)行,同時運(yùn)算RAM與I/O共享RAM按幀輪換,即可保證輸入數(shù)據(jù)連續(xù),輸出數(shù)據(jù)連續(xù)。
圖6是混合基FFT處理器內(nèi)部硬件結(jié)構(gòu)及工作步驟,其功能模塊,數(shù)據(jù)通路與固定基FFT處理器類似,但是在操作數(shù)地址發(fā)生上,具有顯著的不同。
低存儲器開銷的混合基FFT處理器由控制邏輯部件1、運(yùn)算RAM存儲器2、網(wǎng)絡(luò)3、蝶算單元4、旋轉(zhuǎn)因子復(fù)數(shù)成法單元5、旋轉(zhuǎn)因子ROM6、I/O共享RAM存儲器7組成,控制邏輯部件1控制運(yùn)算RAM存儲器2、蝶算單元4、旋轉(zhuǎn)因子ROM6以及I/O共享RAM存儲器7。運(yùn)算RAM存儲器2通過網(wǎng)絡(luò)3連接于蝶算單元4和旋轉(zhuǎn)因子復(fù)數(shù)成法單元5。旋轉(zhuǎn)因子復(fù)數(shù)成法單元5連接于旋轉(zhuǎn)因子ROM6。
控制邏輯部件1主要包括特殊功能寄存器堆,包括用于存儲器輪換的計數(shù)器以及輪換標(biāo)志位生成邏輯,用于并行讀取操作數(shù)尋址的循環(huán)移位寄存器以及譯碼邏輯,用于輸入、輸出的地址寄存器以及譯碼邏輯,控制邏輯部件1采用VerilogHDL語言描述,并采用電子輔助設(shè)計軟件綜合生成網(wǎng)表(含邏輯門和連線)。
蝶算單元4進(jìn)行操作數(shù)的復(fù)數(shù)乘法、累加運(yùn)算,采用的基-8 FFT運(yùn)算矩陣。矩陣運(yùn)算的復(fù)數(shù)乘法完全采用移位、累加完成,也由VerilogHDL語言描述,并采用電子輔助設(shè)計軟件綜合生成網(wǎng)表(含邏輯門和連線)。
RAM存儲器為芯片代工廠商提供的全靜態(tài)、全同步的SRAM硬核,由Memory Compiler電子輔助設(shè)計工具生成,作為現(xiàn)成的硬核嵌入到FFT處理器芯片中。
圖7是低存儲器開銷的混合基FFT處理器的工作方法流程,其步驟如下一種操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器的工作方法,其步驟如下步驟1,F(xiàn)FT處理器初始化完成,進(jìn)入工作狀態(tài),當(dāng)?shù)谝粠瑫r域(奇數(shù)幀)數(shù)據(jù)輸入時,按照大端譯碼模式生成塊地址和點地址,輸入第一幀時域數(shù)據(jù)串行寫入I/O共享存儲器;步驟2,第一幀時域數(shù)據(jù)寫入完成后,I/O存儲器輪換成為運(yùn)算存儲器,F(xiàn)FT處理器從寫滿第一幀時域數(shù)據(jù)的運(yùn)算存儲器中并行讀取操作數(shù);步驟3,運(yùn)算存儲器讀出的數(shù)據(jù)經(jīng)過對準(zhǔn)網(wǎng)絡(luò)進(jìn)入蝶算單元;步驟4,蝶算單元處理后的數(shù)據(jù)進(jìn)入復(fù)數(shù)乘法單元;步驟5,經(jīng)過復(fù)數(shù)乘法運(yùn)算后的數(shù)據(jù)通過數(shù)據(jù)對準(zhǔn)網(wǎng)絡(luò)再原位寫回運(yùn)算存儲器;步驟6,步驟2到步驟5的過程要反復(fù)若干次,直到FFT運(yùn)算完成,每一次運(yùn)算從運(yùn)算存儲器中抽取操作數(shù)的地址由控制邏輯部件(1)產(chǎn)生;步驟7,在FFT運(yùn)算的同時,第二幀時域(偶數(shù)幀)數(shù)據(jù)輸入I/O存儲器;步驟8,第一幀時域數(shù)據(jù)FFT運(yùn)算完成后,運(yùn)算存儲器輪換為I/O共享存儲器,I/O存儲器輪換為運(yùn)算存儲器,此時,開始第二幀時域數(shù)據(jù)的FFT運(yùn)算,同時,第一幀頻域數(shù)據(jù)開始輸出,第三幀時域數(shù)據(jù)(奇數(shù)幀)數(shù)據(jù)開始寫入,兩者共享I/O存儲器。
以上過程一直進(jìn)行下去,運(yùn)算與輸入輸出同時進(jìn)行,從而獲得了連續(xù)流處理的性能,并且存儲器開銷得到了減小。
權(quán)利要求
1,一種操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器,包括針對混合基FFT的奇數(shù)幀輸入,這些時域點的塊地址、點地址經(jīng)相應(yīng)的原始輸入寄存器地址譯碼,蝶算單元所需的操作數(shù)分散在不同的存儲體中,因此能夠并行訪問操作數(shù),F(xiàn)FT原位運(yùn)算后,相應(yīng)地址存儲頻域點的數(shù)據(jù),頻域點輸出順序按照原始輸入寄存器倒序后產(chǎn)生,對于緊接著的偶數(shù)幀時域點輸入,這些時域點的塊地址、點地址經(jīng)特定倒序后的輸入寄存器地址譯碼產(chǎn)生,具有相同順序的時域點與上一幀F(xiàn)FT運(yùn)算后的頻域點的塊地址、點地址完全相同,因此可以共享同一存儲器,以上過程反復(fù)進(jìn)行,F(xiàn)FT運(yùn)算存儲器和輸入輸出共享存儲器按幀進(jìn)行輪換。
2,根據(jù)權(quán)利要求1所述的操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器,其特征在于,偶數(shù)幀的時域點的輸入寄存器的倒序與奇數(shù)幀的倒序方式互為鏡向,即如果奇數(shù)幀的倒序方式中輸入寄存器中位的聚集方式為2,2,1,則偶數(shù)幀的倒序方式中輸入寄存器中位的聚集方式為1,2,2,對于別的混合基組合,聚集的位數(shù)相應(yīng)調(diào)整,但仍然滿足互為鏡向的關(guān)系。
3,根據(jù)權(quán)利要求1所述的操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器,其特征在于,低存儲器開銷的混合基FFT處理器由控制邏輯部件(1)、運(yùn)算RAM存儲器(2)、網(wǎng)絡(luò)(3)、蝶算單元(4)、旋轉(zhuǎn)因子復(fù)數(shù)成法單元(5)、旋轉(zhuǎn)因子ROM(6)、I/O共享RAM存儲器(7)組成,控制邏輯部件(1)控制運(yùn)算RAM存儲器(2)、蝶算單元(4)、旋轉(zhuǎn)因子ROM(6)以及I/O共享RAM存儲器(7),運(yùn)算RAM存儲器(2)通過網(wǎng)絡(luò)(3)連接于蝶算單元(4)和旋轉(zhuǎn)因子復(fù)數(shù)成法單元(5),旋轉(zhuǎn)因子復(fù)數(shù)成法單元(5)連接于旋轉(zhuǎn)因子ROM(6)。
4,一種操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器的工作方法,其步驟如下步驟1,F(xiàn)FT處理器初始化完成,進(jìn)入工作狀態(tài),當(dāng)?shù)谝粠瑫r域數(shù)據(jù)輸入時,按照大端譯碼模式生成塊地址和點地址,輸入第一幀時域數(shù)據(jù)串行寫入I/O共享存儲器;步驟2,第一幀時域數(shù)據(jù)寫入完成后,I/O存儲器輪換成為運(yùn)算存儲器,F(xiàn)FT處理器從寫滿第一幀時域數(shù)據(jù)的運(yùn)算存儲器中并行讀取操作數(shù);步驟3,運(yùn)算存儲器讀出的數(shù)據(jù)經(jīng)過對準(zhǔn)網(wǎng)絡(luò)進(jìn)入蝶算單元;步驟4,蝶算單元處理后的數(shù)據(jù)進(jìn)入復(fù)數(shù)乘法單元;步驟5,經(jīng)過復(fù)數(shù)乘法運(yùn)算后的數(shù)據(jù)通過數(shù)據(jù)對準(zhǔn)網(wǎng)絡(luò)再原位寫回運(yùn)算存儲器;步驟6,步驟2到步驟5的過程要反復(fù)若干次,直到FFT運(yùn)算完成,每一次運(yùn)算從運(yùn)算存儲器中抽取操作數(shù)的地址由控制邏輯部件(1)產(chǎn)生;步驟7,在FFT運(yùn)算的同時,第二幀時域數(shù)據(jù)輸入I/O存儲器;步驟8,第一幀時域數(shù)據(jù)FFT運(yùn)算完成后,運(yùn)算存儲器輪換為I/O共享存儲器,I/O存儲器輪換為運(yùn)算存儲器,此時,開始第二幀時域數(shù)據(jù)的FFT運(yùn)算,同時,第一幀頻域數(shù)據(jù)開始輸出,第三幀時域數(shù)據(jù)數(shù)據(jù)開始寫入,兩者共享I/O存儲器。以上過程一直進(jìn)行下去,運(yùn)算與輸入輸出同時進(jìn)行,從而獲得了連續(xù)流處理的性能,并且存儲器開銷得到了減小。
全文摘要
本發(fā)明涉及無線通訊技術(shù)領(lǐng)域,特別是一種通用的操作數(shù)無沖突生成的低存儲器開銷的混合基FFT處理器及其方法。由控制邏輯部件(1)、運(yùn)算RAM存儲器(2)、網(wǎng)絡(luò)(3)、蝶算單元(4)、旋轉(zhuǎn)因子復(fù)數(shù)成法單元(5)、旋轉(zhuǎn)因子ROM(6)、I/O共享RAM存儲器(7)組成,控制邏輯部件(1)控制運(yùn)算RAM存儲器(2)、蝶算單元(4)、旋轉(zhuǎn)因子ROM(6)以及I/O共享RAM存儲器(7),運(yùn)算RAM存儲器(2)通過網(wǎng)絡(luò)(3)連接于蝶算單元(4)和旋轉(zhuǎn)因子復(fù)數(shù)成法單元(5),旋轉(zhuǎn)因子復(fù)數(shù)成法單元(5)連接于旋轉(zhuǎn)因子ROM(6)。
文檔編號G06F17/14GK101083643SQ200610012049
公開日2007年12月5日 申請日期2006年5月31日 優(yōu)先權(quán)日2006年5月31日
發(fā)明者王江, 黑勇, 仇玉林 申請人:中國科學(xué)院微電子研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1