本實(shí)用新型涉及電子通信技術(shù)領(lǐng)域,尤其涉及一種FFT處理器。
背景技術(shù):
快速離散傅里葉變換(FFT)/快速反傅里葉變換(IFFT)是離散傅里葉變換(DFT)/離散反傅里葉變換(IDFT)的快速實(shí)現(xiàn)方式,是數(shù)字信號(hào)處理中常用的技術(shù)。由于DFT/FFT運(yùn)算和IDFT/IFFT運(yùn)算過(guò)程基本一致,因此FFT和IFFT可以采用相同的電路實(shí)現(xiàn)方法。
Cooley和Tukey實(shí)用新型了FFT算法,F(xiàn)FT的的基本思想是將原有N點(diǎn)序列分解成兩個(gè)或更多的較短序列并重新組合成原序列的DFT,使間接算法的運(yùn)算次數(shù)比直接計(jì)算DFT的運(yùn)算次數(shù)少得多,從而提高DFT的計(jì)算速度。
一方面,F(xiàn)FT/IFFT的分解運(yùn)算基本可分為兩類:一類是將時(shí)間序列x(n)進(jìn)行逐次分解,稱為按時(shí)間抽取算法(Decimation In Time,DIT);另一類將傅立葉變換序列X(k)進(jìn)行分解,稱為按頻率抽取算法(Decimation In Frequency,DIF)。而按照FFT分解的短序列的個(gè)數(shù)M,可以將FFT/IFFT算法可以分為若干種,一般稱為基-M算法。例如,基2FFT算法可以將N點(diǎn)DFT運(yùn)算分解成 個(gè)2點(diǎn)DFT運(yùn)算過(guò)程;基4FFT算法可以將N點(diǎn)DFT運(yùn)算分解成個(gè)4點(diǎn)DFT運(yùn)算過(guò)程;基8FFT算法可以將N點(diǎn)DFT運(yùn)算分解成個(gè)8點(diǎn)DFT運(yùn)算過(guò)程。
另一方面,當(dāng)前FFT處理器的硬件實(shí)現(xiàn)結(jié)構(gòu)包括遞歸結(jié)構(gòu)、流水線結(jié)構(gòu)和全并行結(jié)構(gòu)。遞歸結(jié)構(gòu)又叫共享內(nèi)存結(jié)構(gòu),所占硬件資源最少,只有一個(gè)運(yùn)算處理單元,但所需運(yùn)算時(shí)間較長(zhǎng),不能連續(xù)處理FFT計(jì)算請(qǐng)求,只適應(yīng)于偶爾需要FFT運(yùn)算的場(chǎng)合;流水線結(jié)構(gòu)采用多級(jí)運(yùn)算單元,前一級(jí)運(yùn)算單元將結(jié)果送入下一級(jí)運(yùn)算單元后可計(jì)算下一次FFT而無(wú)需等待FFT運(yùn)算完成,流水線結(jié)構(gòu)可連續(xù)計(jì)算前后數(shù)據(jù)不重疊的N點(diǎn)FFT;對(duì)于前后數(shù)據(jù)重疊的連續(xù)FFT計(jì)算,只能采用全并行結(jié)構(gòu),該結(jié)構(gòu)每一級(jí)運(yùn)算針對(duì)點(diǎn)數(shù)N設(shè)置對(duì)應(yīng)的運(yùn)算單元,每一級(jí)運(yùn)算時(shí)延可低至單個(gè)系統(tǒng)時(shí)鐘周期,可實(shí)現(xiàn)任意N點(diǎn)FFT的連續(xù)計(jì)算,但占用硬件資源巨大。實(shí)際應(yīng)用中需要作任意N點(diǎn)FFT連續(xù)計(jì)算的場(chǎng)合非常少,因此采用流水線設(shè)計(jì)FFT處理器最為普遍。
上述FFT處理器的流水線結(jié)構(gòu)主要有3類:?jiǎn)温费訒r(shí)轉(zhuǎn)接器結(jié)構(gòu)(Single-path Delay Commutator, SDC)、多路延時(shí)轉(zhuǎn)接器結(jié)構(gòu)(Multi-path Delay Commutator, MDC)和單路延時(shí)反饋轉(zhuǎn)接器結(jié)構(gòu)(Single-path Delay Feedback, SDF)。因?yàn)榛?SDC(R2SDC)結(jié)構(gòu)在基2 蝶形分解運(yùn)算時(shí)與R2SDF相比沒有優(yōu)勢(shì),所以基2FFT處理器主要采用基2MDC(R2MDC)和基2SDF(R2SDF)結(jié)構(gòu)。
基2MDC和基2SDF結(jié)構(gòu)都具有控制簡(jiǎn)單易于實(shí)現(xiàn)的特點(diǎn),占用的電路資源也相差不大,其中基2SDF結(jié)構(gòu)需要的存儲(chǔ)器少一點(diǎn),而基2MDC結(jié)構(gòu)的計(jì)算時(shí)延更短一些。但基2MDC和基2SDF結(jié)構(gòu)的復(fù)數(shù)乘法器的利用率較低(只有50%),因此整個(gè)FFT處理器需要的乘法器數(shù)量較多。
由于FFT/IFFT運(yùn)算由復(fù)數(shù)乘法和復(fù)數(shù)加法運(yùn)算構(gòu)成,乘法運(yùn)算遠(yuǎn)比加法運(yùn)算復(fù)雜,因此FFT處理器的電路規(guī)模主要由復(fù)數(shù)乘法器決定?;?MDC和基2SDF結(jié)構(gòu)會(huì)因?yàn)閺?fù)數(shù)乘法器利用率過(guò)低導(dǎo)致電路資源占用較大。
又一方面,F(xiàn)FT處理器的數(shù)據(jù)格式目前主要有定點(diǎn)格式、浮點(diǎn)格式和塊浮點(diǎn)格式。定點(diǎn)格式計(jì)算簡(jiǎn)單,但是需要考慮數(shù)據(jù)溢出檢測(cè)和處理機(jī)制,數(shù)據(jù)動(dòng)態(tài)范圍??;浮點(diǎn)格式計(jì)算精度高,能處理的數(shù)據(jù)動(dòng)態(tài)范圍大,還能有效減少計(jì)算的累積誤差,但占用的電路資源巨大且功耗較高。常用的塊浮點(diǎn)結(jié)構(gòu)由于利用共享指數(shù),因此可以基于定點(diǎn)運(yùn)算模塊處理較大的數(shù)據(jù)動(dòng)態(tài)范圍,但是每一級(jí)運(yùn)算需要塊浮點(diǎn)整理單元調(diào)整共享指數(shù),而塊浮點(diǎn)整理單元需要作統(tǒng)計(jì)運(yùn)算處理,其數(shù)據(jù)格式并不適合流水式的電路結(jié)構(gòu)。
因此,現(xiàn)有技術(shù)還有待發(fā)展。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述現(xiàn)有技術(shù)的不足之處,本實(shí)用新型的目的在于提供一種FFT處理器,旨在解決現(xiàn)有FFT處理器占用電路資源大,數(shù)據(jù)格式與流水式電路結(jié)構(gòu)不匹配的問(wèn)題。
為了達(dá)到上述目的,本實(shí)用新型采取了以下技術(shù)方案:
一種FFT處理器,包括輸入模塊、運(yùn)算模塊以及輸出模塊,所述運(yùn)算模塊包括基2蝶式運(yùn)算單元,其中,所述基2蝶式運(yùn)算單元至少包括一個(gè)用于統(tǒng)一浮點(diǎn)輸入數(shù)據(jù)指數(shù)的指數(shù)對(duì)齊電路、用于執(zhí)行定點(diǎn)數(shù)據(jù)運(yùn)算的運(yùn)算單元以及用于執(zhí)行指數(shù)規(guī)格化處理的規(guī)格化電路;
所述指數(shù)對(duì)齊電路將指數(shù)對(duì)齊后的浮點(diǎn)輸入數(shù)據(jù)的統(tǒng)一的指數(shù)部分傳輸至所述規(guī)格化電路;所述運(yùn)算單元接收指數(shù)對(duì)齊后的浮點(diǎn)輸入數(shù)據(jù)的基數(shù)部分并執(zhí)行對(duì)應(yīng)的FFT運(yùn)算;
所述規(guī)格化電路根據(jù)所述指數(shù)部分,對(duì)所述運(yùn)算單元的運(yùn)算結(jié)果執(zhí)行指數(shù)規(guī)格化處理以生成浮點(diǎn)輸出數(shù)據(jù);
所述運(yùn)算單元包括一個(gè)或多個(gè)定點(diǎn)加法器、定點(diǎn)乘法器和/或定點(diǎn)減法器。
所述的FFT處理器,其中,所述運(yùn)算模塊包括:輸入級(jí)運(yùn)算模塊和若干遞歸運(yùn)算模塊;
所述遞歸運(yùn)算模塊至少包括延時(shí)單元、用于替換轉(zhuǎn)接器的緩存單元以及所述基2蝶式運(yùn)算單元;
所述緩存單元在預(yù)定的時(shí)鐘周期內(nèi),根據(jù)對(duì)應(yīng)的控制信號(hào),輸入第一輸入信號(hào)或第二輸入信號(hào)至所述基2蝶式運(yùn)算單元中;所述第一輸入信號(hào)為原始輸入信號(hào),所述第二輸入信號(hào)為原始輸入信號(hào)經(jīng)過(guò)第一階段的基2蝶式運(yùn)算的運(yùn)算結(jié)果。
所述的FFT處理器,其中,所述運(yùn)算模塊包括:第一輸入級(jí)運(yùn)算模塊;
所述第一輸入級(jí)運(yùn)算模塊包括至少一個(gè)延時(shí)單元、用于保存參與第一級(jí)基2蝶式運(yùn)算的旋轉(zhuǎn)因子的旋轉(zhuǎn)因子保存單元以及所述基2蝶式運(yùn)算單元;
所述第一輸入級(jí)運(yùn)算模塊接收輸入模塊的輸入信號(hào),執(zhí)行FFT運(yùn)算的第一級(jí)基2蝶式運(yùn)算。
所述的FFT處理器,其中,所述緩存單元包括:數(shù)據(jù)選擇器、輸入控制電路、輸出控制電路以及至少兩個(gè)雙接口RAM;
所述數(shù)據(jù)選擇器根據(jù)預(yù)定的切換控制信號(hào),輸入對(duì)應(yīng)的輸入信號(hào)至所述輸入控制電路;所述輸入控制電路將數(shù)據(jù)緩存在所述雙接口RAM中,并由所述輸出控制電路調(diào)用存儲(chǔ)在所述雙接口RAM中的緩存數(shù)據(jù)。
所述的FFT處理器,其中,所述輸入控制電路包括至少一個(gè)第一計(jì)數(shù)器;
所述輸入控制電路接收緩存數(shù)據(jù)并通過(guò)所述第一計(jì)數(shù)器,令遞歸運(yùn)算模塊執(zhí)行對(duì)應(yīng)的第一級(jí)蝶式運(yùn)算或第二級(jí)蝶式運(yùn)算。
所述的FFT處理器,其中,所述輸出控制電路至少包括一個(gè)第二計(jì)數(shù)器;所述第二計(jì)數(shù)器根據(jù)輸入信號(hào),輸出控制所述遞歸運(yùn)算模塊執(zhí)行對(duì)應(yīng)的蝶式運(yùn)算的浮點(diǎn)信號(hào)。
所述的FFT處理器,其中,所述輸入模塊為串并轉(zhuǎn)換模塊;所述串并轉(zhuǎn)換模塊包括兩個(gè)延時(shí)器;
至少一個(gè)所述延時(shí)器用于并行輸出FFT運(yùn)算的時(shí)域輸入數(shù)據(jù)以及與所述時(shí)域輸入數(shù)據(jù)延遲對(duì)應(yīng)個(gè)采樣點(diǎn)的延時(shí)信號(hào)。
所述的FFT處理器,其中,所述運(yùn)算模塊還包括:第二輸入級(jí)運(yùn)算模塊;
所述第二輸入級(jí)運(yùn)算模塊至少包括一個(gè)延時(shí)轉(zhuǎn)換器和數(shù)據(jù)選擇器;所述第二輸入級(jí)運(yùn)算模塊通過(guò)所述數(shù)據(jù)選擇器,在預(yù)定的時(shí)鐘周期,控制所述基2蝶式運(yùn)算單元執(zhí)行第一級(jí)基2蝶式運(yùn)算或第二級(jí)基2蝶式運(yùn)算。
所述的FFT處理器,其中,通過(guò)如下算式計(jì)算判斷值:
;其中,L為判斷值,N為FFT運(yùn)算的采樣點(diǎn)數(shù)量,為向上取整函數(shù);
在判斷值為奇數(shù)時(shí),通過(guò)第一輸入級(jí)運(yùn)算模塊執(zhí)行輸入級(jí)運(yùn)算;
在判斷值為偶數(shù)時(shí),通過(guò)第二輸入級(jí)運(yùn)算模塊執(zhí)行輸入級(jí)運(yùn)算。
所述的FFT處理器,其中,根據(jù)如下算式計(jì)算所述遞歸運(yùn)算模塊的數(shù)量:
在判斷值為奇數(shù)時(shí),;其中,L為判斷值,S為遞歸運(yùn)算模塊的數(shù)量;
在判斷值為偶數(shù)時(shí),;其中,L為判斷值,S為遞歸運(yùn)算模塊的數(shù)量。
有益效果:本實(shí)用新型提供的一種FFT處理器,通過(guò)偽浮點(diǎn)運(yùn)算的方式來(lái)取代現(xiàn)有的塊浮點(diǎn)結(jié)構(gòu),可以通過(guò)定點(diǎn)運(yùn)算單元實(shí)現(xiàn)FFT運(yùn)算的同時(shí),令輸入和輸出數(shù)據(jù)均為浮點(diǎn)數(shù)據(jù)。該偽浮點(diǎn)運(yùn)算結(jié)構(gòu),不需要多個(gè)數(shù)據(jù)共享指數(shù)字段,計(jì)算的精度較高,而且前置的對(duì)齊運(yùn)算的顆粒度較小,運(yùn)算的規(guī)模和時(shí)間延遲均遠(yuǎn)小于現(xiàn)有的塊浮點(diǎn)結(jié)構(gòu),更適合應(yīng)用于流水結(jié)構(gòu)實(shí)現(xiàn)。
附圖說(shuō)明
圖1為本實(shí)用新型實(shí)施例提供的FFT處理器的輸入/輸出接口示意圖。
圖2為本實(shí)用新型實(shí)施例提供的FFT處理器的示意圖。
圖3為本實(shí)用新型實(shí)施例提供的FFT處理器的輸入模塊的示意圖。
圖4為本實(shí)用新型實(shí)施例提供的FFT處理器的輸出模塊的示意圖。
圖5為本實(shí)用新型實(shí)施例提供的FFT處理器的第一輸入級(jí)運(yùn)算模塊的示意圖。
圖6為本實(shí)用新型實(shí)施例提供的FFT處理器的第二輸入級(jí)運(yùn)算模塊的示意圖。
圖7為本實(shí)用新型實(shí)施例提供的FFT處理器的遞歸運(yùn)算模塊的示意圖。
圖8為本實(shí)用新型實(shí)施例提供的FFT處理器的緩存單元的示意圖。
圖9為本實(shí)用新型實(shí)施例提供的FFT處理器的輸入控制電路的示意圖。
圖10本實(shí)用新型實(shí)施例提供的FFT處理器的輸出控制電路的示意圖。
圖11本實(shí)用新型實(shí)施例提供的FFT處理器的輸入控制電路的基2蝶式運(yùn)算單元的示意圖。
具體實(shí)施方式
本實(shí)用新型提供一種FFT處理器。為使本實(shí)用新型的目的、技術(shù)方案及效果更加清楚、明確,以下參照附圖并舉實(shí)施例對(duì)本實(shí)用新型進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本實(shí)用新型,并不用于限定本實(shí)用新型。
如圖1所示,為本實(shí)用新型具體實(shí)施例的一種FFT處理器的外部接口示意圖。在本實(shí)用新型實(shí)施例提供的FFT處理器的外部接口包括:第一輸入接口(輸入數(shù)據(jù)以In_Frame表示)、第二輸入接口(輸入數(shù)據(jù)以In_Enable表示)以及第三輸入接口(輸入數(shù)據(jù)以In_Data表示)。其中,第一輸入接口的數(shù)據(jù)(如In_Data)是串行輸入數(shù)據(jù),指參與N點(diǎn)FFT運(yùn)算的N個(gè)時(shí)域輸入數(shù)據(jù),其每個(gè)數(shù)據(jù)均包括實(shí)部(I分部)和虛部(Q分部)。第二輸入接口的數(shù)據(jù)(如In_Enable)是數(shù)據(jù)使能信號(hào)。只有當(dāng)In_Enable為有效時(shí),輸入的In_Data才是有效的;第三輸入接口的數(shù)據(jù)(如In_Frame)是幀同步信號(hào),對(duì)于N個(gè)FFT數(shù)據(jù)組成的數(shù)據(jù)幀,In_Frame只在幀數(shù)據(jù)的第一個(gè)數(shù)據(jù)輸入時(shí)有效,其他時(shí)候In_Frame均無(wú)效。
除輸入接口外,還包括第一輸出接口(輸出數(shù)據(jù)以O(shè)ut_Frame表示)、第二輸出接口(輸出數(shù)據(jù)以O(shè)ut_Valid表示)以及第三輸出接口(輸出數(shù)據(jù)以O(shè)ut_Data表示),其中第一輸出接口的輸出數(shù)據(jù)(如Out_Data)是串行輸出結(jié)果,即N點(diǎn)FFT運(yùn)算的頻域輸出結(jié)果。相對(duì)應(yīng)地,該輸出結(jié)果也是N個(gè)數(shù)據(jù),每個(gè)數(shù)據(jù)包括實(shí)部(I分部)和虛部(Q分部)。第二輸出接口的輸出數(shù)據(jù)(如Out_Valid)是數(shù)據(jù)輸出有效信號(hào),只有當(dāng)Out_Valid為有效時(shí),輸出結(jié)果的Out_Data才是有效的。
在本實(shí)施例中提供的FFT處理器采取串行連續(xù)輸出結(jié)果的方式。這樣的,在FFT處理器輸出一幀計(jì)算結(jié)果的過(guò)程中,Out_Valid是連續(xù)有效的。而第三輸出接口的輸出數(shù)據(jù)(如Out_Frame)是幀同步信號(hào),在輸出N點(diǎn)FFT運(yùn)算結(jié)果組成的數(shù)據(jù)幀的時(shí)候,Out_Frame只在幀數(shù)據(jù)的第一個(gè)數(shù)據(jù)輸出時(shí)有效,其他時(shí)候In_Frame均無(wú)效。
如圖2所示,該FFT處理器包括:輸入模塊10、運(yùn)算模塊20以及輸出模塊30。所述運(yùn)算模塊20包括若干基2蝶式運(yùn)算單元200。
在本實(shí)例中,所述運(yùn)算模塊20可以包括:第一輸入級(jí)運(yùn)算模塊21,第二輸入級(jí)運(yùn)算模塊22以及若干個(gè)遞歸運(yùn)算模塊23。該FFT處理器具體使用的運(yùn)算模塊20以及所需要的使用的遞歸運(yùn)算模塊23具體可以通過(guò)如下算式計(jì)算判斷值:
(1)
其中,L為判斷值,是一個(gè)正整數(shù)參數(shù)值;N為FFT運(yùn)算的采樣點(diǎn)數(shù)量,為向上取整函數(shù)。在判斷值為奇數(shù)時(shí),通過(guò)第一輸入級(jí)運(yùn)算模塊21執(zhí)行輸入級(jí)運(yùn)算。而在判斷值為偶數(shù)時(shí),通過(guò)第二輸入級(jí)運(yùn)算模塊22執(zhí)行輸入級(jí)運(yùn)算。
具體的,所述需要使用的遞歸運(yùn)算模塊的數(shù)量根據(jù)如下算式計(jì)算:在判斷值為奇數(shù)時(shí),;其中,L為判斷值,S為遞歸運(yùn)算模塊的數(shù)量。而在判斷值為偶數(shù)時(shí),;其中,L為判斷值,S為遞歸運(yùn)算模塊的數(shù)量。
如圖5所示,所述第一輸入級(jí)運(yùn)算模塊21包括至少一個(gè)延時(shí)單元211、用于保存參與第一級(jí)基2蝶式運(yùn)算的旋轉(zhuǎn)因子的旋轉(zhuǎn)因子保存單元212以及所述基2蝶式運(yùn)算單元213。其中,所述第一輸入級(jí)運(yùn)算模塊21接收輸入模塊的輸入信號(hào),執(zhí)行FFT運(yùn)算的第一級(jí)基2蝶式運(yùn)算。
以下進(jìn)一步的闡述該第一輸入級(jí)運(yùn)算模塊21的工作過(guò)程。如圖5所示,該第一輸入級(jí)運(yùn)算模塊21的輸入信號(hào)包括2路并行輸入的基2運(yùn)算數(shù)據(jù)DataA和DataBase、數(shù)據(jù)使能信號(hào)Ena和幀同步信號(hào)Sync。其輸出信號(hào)包括:2路并行輸出的基2運(yùn)算結(jié)果DataA和DataBase、輸出結(jié)果使能信號(hào)Ena和輸出幀同步信號(hào)Sync。
在本實(shí)施例中,第一輸入級(jí)運(yùn)算模塊21用于完成FFT運(yùn)算的第一級(jí)基2蝶形運(yùn)算。如圖5所示,第一輸入級(jí)運(yùn)算模塊21由延時(shí)單元211、旋轉(zhuǎn)因子保存單元212和基2蝶式運(yùn)算單元213組成。旋轉(zhuǎn)因子保存單元212用于保存參與第一級(jí)基2蝶形運(yùn)算的旋轉(zhuǎn)因子,并依次送入基2蝶式運(yùn)算單元213中,供蝶式運(yùn)算使用。
該基2蝶式運(yùn)算單元213用于基2蝶形運(yùn)算,其輸入信號(hào)包括并行輸入運(yùn)算數(shù)據(jù)DataA和DataBase、幀同步信號(hào)Sync、數(shù)據(jù)使能信號(hào)Ena和用于基2蝶形運(yùn)算的旋轉(zhuǎn)因子。
延時(shí)單元211將輸入Sync和Ena信號(hào)延時(shí)輸出,保證輸出信號(hào)Sync和Ena與基2蝶式運(yùn)算單元213的輸出結(jié)果DataA和DataB配合使用。
如圖6所示,所述第二輸入級(jí)運(yùn)算模塊22至少包括一個(gè)延時(shí)轉(zhuǎn)換器221、數(shù)據(jù)選擇器222和所述基2蝶式運(yùn)算單元223。在運(yùn)算過(guò)程中,所述第二輸入級(jí)運(yùn)算模塊22通過(guò)所述數(shù)據(jù)選擇器,在預(yù)定的時(shí)鐘周期,控制所述基2蝶式運(yùn)算單元223執(zhí)行第一級(jí)基2蝶式運(yùn)算或第二級(jí)基2蝶式運(yùn)算。
以下進(jìn)一步的闡述該第二輸入級(jí)運(yùn)算模塊22的工作過(guò)程。如圖6所示,該第二輸入級(jí)運(yùn)算模塊22的輸入信號(hào)包括:2路并行輸入的基2運(yùn)算數(shù)據(jù)DataA和DataBase、數(shù)據(jù)使能信號(hào)Ena和幀同步信號(hào)Sync。其輸出信號(hào)包括2路并行輸出的基2運(yùn)算結(jié)果DataA和DataBase、輸出結(jié)果使能信號(hào)Ena和輸出幀同步信號(hào)Sync。
該第二輸入級(jí)運(yùn)算模塊22可以用于執(zhí)行FFT運(yùn)算的第一級(jí)和第二級(jí)的基2蝶形運(yùn)算。如圖6所示,第二輸入級(jí)運(yùn)算模塊22具體可以由延時(shí)單元220、旋轉(zhuǎn)因子存儲(chǔ)單元225、數(shù)據(jù)選擇器222、計(jì)數(shù)器224、延時(shí)轉(zhuǎn)接器221和基2蝶式運(yùn)算單元223組成。
基2蝶式運(yùn)算單元223用于執(zhí)行基2蝶形運(yùn)算,其輸入信號(hào)包括并行輸入運(yùn)算數(shù)據(jù)DataA和DataB、幀同步信號(hào)Sync、數(shù)據(jù)使能信號(hào)Ena和用于基2蝶形運(yùn)算的旋轉(zhuǎn)因子。
該第二輸入級(jí)運(yùn)算模塊相對(duì)于上述第一輸入級(jí)運(yùn)算模塊,除相類似地運(yùn)算結(jié)構(gòu)外,還包含了一個(gè)由延時(shí)轉(zhuǎn)接器221和數(shù)據(jù)選擇器222構(gòu)成的反饋環(huán)路。
在輸入幀同步信號(hào)Sync有效之后的N/2個(gè)時(shí)鐘周期(N為N點(diǎn)的FFT運(yùn)算,即采樣點(diǎn)數(shù)量),數(shù)據(jù)選擇器222選擇輸入信號(hào)DataA和DataB作為運(yùn)算數(shù)據(jù)送入基2蝶式運(yùn)算單元223,完成FFT運(yùn)算的第一級(jí)基2蝶形運(yùn)算。
而在與其連續(xù)的N/2個(gè)時(shí)鐘周期內(nèi),數(shù)據(jù)選擇器222選擇延時(shí)轉(zhuǎn)接器221的反饋支路數(shù)據(jù)作為運(yùn)算數(shù)據(jù)送入基2蝶式運(yùn)算單元223,完成FFT運(yùn)算的第二級(jí)基2蝶形運(yùn)算。L位計(jì)數(shù)器224受到輸入數(shù)據(jù)使能信號(hào)Ena和輸入幀同步信號(hào)Sync控制。該計(jì)數(shù)器224輸出CNT[L-1:0]的最高位CNT[L-1]作為數(shù)據(jù)選擇器222的切換控制信號(hào),控制數(shù)據(jù)選擇器選擇輸入信號(hào)或者反饋支路信號(hào)送入基2蝶式運(yùn)算單元223。
與第一輸入級(jí)運(yùn)算模塊相類似地,旋轉(zhuǎn)因子保存單元225用于保存參與參與第一級(jí)和第二級(jí)基2蝶形運(yùn)算的旋轉(zhuǎn)因子,并依次送入基2蝶式運(yùn)算單元223中,供蝶式運(yùn)算使用。延時(shí)單元220將輸入Sync和Ena信號(hào)延時(shí)輸出,保證輸出信號(hào)Sync和Ena與基2蝶式運(yùn)算單元223在第二個(gè)N/2個(gè)時(shí)鐘周期的計(jì)算輸出結(jié)果DataA和DataB配合使用。
如圖7所示,所述遞歸運(yùn)算模塊23至少包括延時(shí)單元231、用于替換轉(zhuǎn)接器的緩存單元232以及所述基2蝶式運(yùn)算單元233。所述緩存單元232在預(yù)定的時(shí)鐘周期內(nèi),根據(jù)對(duì)應(yīng)的控制信號(hào),輸入第一輸入信號(hào)或第二輸入信號(hào)至所述基2蝶式運(yùn)算單元中。所述第一輸入信號(hào)為原始輸入信號(hào),所述第二輸入信號(hào)為原始輸入信號(hào)經(jīng)過(guò)第一階段的基2蝶式運(yùn)算的運(yùn)算結(jié)果。由此,結(jié)合使用的存儲(chǔ)器,結(jié)合了遞歸運(yùn)算的優(yōu)點(diǎn),有效的節(jié)省了運(yùn)算電路的資源,提高了利用率。
本實(shí)用新型實(shí)施例提供的FFT處理器可以包含有S個(gè)具有多路延時(shí)緩存結(jié)構(gòu)的遞歸運(yùn)算模塊(編號(hào)從1到S)。各個(gè)遞歸運(yùn)算模塊可用于實(shí)現(xiàn)級(jí)聯(lián)的兩級(jí)基2蝶形運(yùn)算。相比于傳統(tǒng)的單路延時(shí)反饋結(jié)構(gòu)和多路延時(shí)轉(zhuǎn)接器結(jié)構(gòu)的基2蝶形運(yùn)算電路,該遞歸運(yùn)算模塊在不影響流水線結(jié)構(gòu)的情況下,結(jié)合遞歸方法的優(yōu)點(diǎn),使得電路的資源利用率可以提高100%(一倍),即在實(shí)現(xiàn)相同計(jì)算規(guī)模的情況下可以節(jié)省大約一半的電路資源。
遞歸運(yùn)算模塊輸入信號(hào)包括:并行輸入運(yùn)算數(shù)據(jù)A和B、幀同步信號(hào)Sync、數(shù)據(jù)使能信號(hào)Ena和用于基2蝶形運(yùn)算的旋轉(zhuǎn)因子。該多路延時(shí)緩存結(jié)構(gòu)具體實(shí)現(xiàn)方法如下:
第一階段,在輸入幀同步信號(hào)Sync有效之后的N/2個(gè)時(shí)鐘周期,緩存單元232打開直通數(shù)據(jù)通道選擇輸入信號(hào)DataA和DataB作為運(yùn)算數(shù)據(jù)送入基2蝶式運(yùn)算單元233,完成N/2組的基2蝶形運(yùn)算。所述基2蝶式運(yùn)算單元233的輸出結(jié)果通過(guò)反饋支路送入緩存單元232暫存。
第二階段,在緊接著的N/2個(gè)時(shí)鐘周期,緩存單元232關(guān)閉直通數(shù)據(jù)通道選擇緩存單元232暫時(shí)保存的反饋支路數(shù)據(jù)作為運(yùn)算數(shù)據(jù)送入基2蝶式運(yùn)算單元233,完成第二階段的N/2組的基2蝶形運(yùn)算。
L位計(jì)數(shù)器受到輸入數(shù)據(jù)使能信號(hào)Ena和輸入幀同步信號(hào)Sync控制,計(jì)數(shù)器輸出CNT[L-1:0]的最高位CNT[L-1]作為遞歸緩存單元的切換控制信號(hào),控制緩存單元232選擇輸入信號(hào)或者反饋支路信號(hào)送入基2蝶式運(yùn)算單元233。
參與第一和第二共計(jì)兩個(gè)階段(每階段N/2組的基2蝶形運(yùn)算)的基2蝶形運(yùn)算的旋轉(zhuǎn)因子可以保存在對(duì)應(yīng)的存儲(chǔ)單元中,并依次送入基2蝶式運(yùn)算單元233執(zhí)行運(yùn)算。
延時(shí)單元231將輸入Sync和Ena信號(hào)延時(shí)輸出,保證輸出信號(hào)Sync和Ena與基2蝶式運(yùn)算單元233第二階段的N/2個(gè)時(shí)鐘周期的計(jì)算輸出結(jié)果OutA和OutB配合使用。
更具體的,如圖8所示,所述緩存單元的輸入信號(hào)包括2組輸入數(shù)據(jù)、切換控制信號(hào)Ctrl、數(shù)據(jù)使能信號(hào)Ena和幀同步信號(hào)Sync;輸出信號(hào)包括2路并行輸出數(shù)據(jù)A和B、輸出數(shù)據(jù)使能信號(hào)Ena和輸出幀同步信號(hào)Sync。
在2組輸入數(shù)據(jù)中,一組來(lái)自于反饋支路,包括2路并行的基2運(yùn)算結(jié)果OutA和OutB;另外一組來(lái)自于遞歸運(yùn)算模塊外部,包括2路并行輸入的基2運(yùn)算數(shù)據(jù)DataA和DataB。
緩存單元是上述遞歸運(yùn)算模塊內(nèi)部的核心控制單元,其能夠通過(guò)控制基2蝶式運(yùn)算單元233的輸入數(shù)據(jù)時(shí)序,協(xié)調(diào)各電路單元實(shí)現(xiàn)2個(gè)階段的基2蝶形運(yùn)算。如圖8所示,該緩存單元232由數(shù)據(jù)選擇器(Mux)2321、輸入控制電路2322、雙口RAM2323、輸出控制電路2324和延時(shí)單元2325組成。
具體的,所述輸入控制電路2322接收緩存數(shù)據(jù)并通過(guò)所述遞歸運(yùn)算模塊,執(zhí)行對(duì)應(yīng)的第一級(jí)蝶式運(yùn)算或第二級(jí)蝶式運(yùn)算。
以如下具體實(shí)例對(duì)所述輸入控制電路2322的工作流程進(jìn)行詳細(xì)描述。如圖9所示,輸入控制電路的輸入信號(hào)包括2路并行輸入的緩存數(shù)據(jù)MuxA和MuxB、數(shù)據(jù)使能信號(hào)Ena和幀同步信號(hào)Sync;輸出信號(hào)包括2路并行輸出的數(shù)據(jù)DataA/DataB以及對(duì)應(yīng)的雙口RAM寫入地址Addr/AddrB、輸出結(jié)果使能信號(hào)Ena和輸出幀同步信號(hào)Sync。
輸入控制電路負(fù)責(zé)待緩存數(shù)據(jù)流MuxA和MuxB的存儲(chǔ)寫入時(shí)序控制,包括交換2322A、計(jì)數(shù)器2322B、按位異或2322C、延時(shí)2322D四個(gè)電路單元。在該輸入控制電路中,核心單元是一個(gè)L位計(jì)數(shù)器2322B。該計(jì)數(shù)器受到輸入數(shù)據(jù)使能信號(hào)Ena和輸入幀同步信號(hào)Sync控制,計(jì)數(shù)器的輸出信號(hào)是CNT[L-1:0];計(jì)數(shù)器的低L-1位輸出,即CNT[L-2:0]直接輸出作為L(zhǎng)-1位的雙口RAM寫入地址信號(hào)AddrA;CNT[L-2:0]與參數(shù)P做按位異或運(yùn)算,運(yùn)算結(jié)果作為L(zhǎng)-1位的雙口RAM寫入地址信號(hào)AddrB;CNT[L-1:0]中的第q位,即CNT[q]作為交換電路的控制信號(hào),當(dāng)CNT[q]為低電平時(shí),數(shù)據(jù)MuxA和MuxB直通,即DataA=MuxA且DataB=MuxB;當(dāng)CNT[q]為高電平時(shí),數(shù)據(jù)MuxA和MuxB交叉,即DataA=MuxB且DataB=MuxA。
參數(shù)P和q是兩個(gè)與輸入控制電路所在的遞歸運(yùn)算模塊的位置編號(hào)有關(guān)的重要參數(shù),其中參數(shù)q的具體計(jì)算方法如下:
FFT處理器共計(jì)有S個(gè)遞歸運(yùn)算模塊,每個(gè)運(yùn)算模塊的編號(hào)為s,s的取值范圍是[1,S]。當(dāng)L為奇數(shù)時(shí),遞歸運(yùn)算模塊做第一階段運(yùn)算時(shí)參數(shù)q=L-2s,遞歸運(yùn)算模塊做第二階段運(yùn)算時(shí),參數(shù)q=L-2s-1。
當(dāng)L為偶數(shù)時(shí),遞歸運(yùn)算模塊做第一階段運(yùn)算時(shí)參數(shù)q=L-2s-1,遞歸運(yùn)算模塊做第二階段運(yùn)算時(shí)參數(shù)q=L-2s-2。參數(shù)P由參數(shù)q決定,具體計(jì)算公式為:P=2^(q+1)。
延時(shí)單元2322D將Sync和Ena信號(hào)延時(shí)輸出,保證輸出信號(hào)Sync和Ena與雙口RAM的寫入數(shù)據(jù)DataA/DataB、寫入地址Addr/AddrB配合使用。
另外,如圖10所示,所述輸出控制電路2324至少包括一個(gè)計(jì)數(shù)器;所述計(jì)數(shù)器根據(jù)輸入信號(hào),輸出控制所述遞歸運(yùn)算模塊執(zhí)行對(duì)應(yīng)的蝶式運(yùn)算的浮點(diǎn)信號(hào)。
以如下具體實(shí)例對(duì)所述輸出控制電路2324的工作流程進(jìn)行詳細(xì)描述。如圖10所示,輸出控制電路的輸入信號(hào)包括2路并行輸入的雙口RAM讀取數(shù)據(jù)DataA/DataB、數(shù)據(jù)使能信號(hào)Ena和幀同步信號(hào)Sync;輸出信號(hào)包括2路并行的輸出數(shù)據(jù)A/B和雙口RAM讀取地址Addr/AddrB、輸出結(jié)果使能信號(hào)Ena和輸出幀同步信號(hào)Sync。
輸出控制電路負(fù)責(zé)雙口RAM的緩存數(shù)據(jù)的讀取時(shí)序控制,包括交換2324A、計(jì)數(shù)器2324B、D觸發(fā)器組(DFFs)2324C、延時(shí)2324D四個(gè)電路單元。相類似地,輸出控制電路的核心單元是一個(gè)L位計(jì)數(shù)器2324B。該計(jì)數(shù)器受到輸入數(shù)據(jù)使能信號(hào)Ena和輸入幀同步信號(hào)Sync控制,計(jì)數(shù)器的輸出信號(hào)是CNT[L-1:0];計(jì)數(shù)器的低L-1位輸出,經(jīng)過(guò)D觸發(fā)器組(DFFs)延時(shí)一個(gè)時(shí)鐘周期后,即CNT[L-2:0]輸出作為L(zhǎng)-1位的雙口RAM讀取地址信號(hào)AddrA和AddrB; CNT[L-1:0]中的第q位,即CNT[q]作為交換電路的控制信號(hào),當(dāng)CNT[q]為低電平時(shí),數(shù)據(jù)DataA和DataB直通,即A=DataA且B=DataB;當(dāng)CNT[q]為高電平時(shí),數(shù)據(jù)DataA和DataB交叉,即A=DataB且B=DataA。
參數(shù)q是與輸入控制電路所在的遞歸運(yùn)算模塊的位置編號(hào)有關(guān)的重要參數(shù),參數(shù)q的具體計(jì)算方法如下:
FFT處理器共計(jì)有S個(gè)遞歸運(yùn)算模塊,每個(gè)運(yùn)算模塊的編號(hào)為s,s的取值范圍是[1,S]。當(dāng)L為奇數(shù)時(shí),遞歸運(yùn)算模塊做第一階段運(yùn)算時(shí)參數(shù)q=L-2s,遞歸運(yùn)算模塊做第二階段運(yùn)算時(shí),參數(shù)q=L-2s-1。
當(dāng)L為偶數(shù)時(shí),遞歸運(yùn)算模塊做第一階段運(yùn)算時(shí)參數(shù)q=L-2s-1,多路延時(shí)緩存結(jié)構(gòu)的遞歸運(yùn)算模塊做第二階段運(yùn)算時(shí)參數(shù)q=L-2s-2。
延時(shí)單元2324D將Sync和Ena信號(hào)延時(shí)輸出,保證輸出信號(hào)Sync和Ena與控制輸出電路的輸出數(shù)據(jù)A/B配合使用。
數(shù)據(jù)選擇器(Mux)在切換控制信號(hào)Ctrl的控制下實(shí)現(xiàn)兩個(gè)階段的基2蝶形運(yùn)算輸入數(shù)據(jù)控制。
其中,第一階段,Ctrl為低電平的N/2個(gè)時(shí)鐘周期,Mux選擇輸入信號(hào)DataA和DataB作為MuxA和MuxB送給下一級(jí)的輸入控制電路;第二階段,Ctrl為高電平的N/2個(gè)時(shí)鐘周期,Mux選擇輸入信號(hào)OutA和OutB作為MuxA和MuxB送給下一級(jí)的輸入控制電路。
雙口RAM_A和雙口RAM_B是緩存單元的數(shù)據(jù)存儲(chǔ)電路,每塊雙口RAM可以存儲(chǔ)N/2個(gè)數(shù)據(jù),負(fù)責(zé)緩存調(diào)整其中一路的輸入數(shù)據(jù)。
輸入控制電路2322負(fù)責(zé)依次接收數(shù)據(jù)流MuxA和MuxB,根據(jù)相關(guān)參數(shù)產(chǎn)生數(shù)據(jù)流DataA和DataB以及對(duì)應(yīng)的雙口RAM寫入地址信號(hào)AddrA和AddrB,然后將數(shù)據(jù)流DataA和DataB存入雙口RAM_A和雙口RAM_B。輸出控制電路2324負(fù)責(zé)產(chǎn)生雙口RAM的讀取地址信號(hào)AddrA和AddrB,從雙口RAM的讀取數(shù)據(jù)后調(diào)整輸出。
延時(shí)單元2324D將Sync和Ena信號(hào)延時(shí)輸出,保證輸出信號(hào)Sync和Ena與雙口RAM的輸出結(jié)果DataA和DataB配合使用。
其中,所述輸入模塊10為串并轉(zhuǎn)換模塊。所述串并轉(zhuǎn)換模塊包括兩個(gè)延時(shí)器100。具體的,如圖3所示,該輸入模塊10包括兩個(gè)延時(shí)器100。其中一個(gè)延時(shí)器100用于并行輸出FFT運(yùn)算的時(shí)域輸入數(shù)據(jù)以及與所述時(shí)域輸入數(shù)據(jù)延遲對(duì)應(yīng)個(gè)采樣點(diǎn)的延時(shí)信號(hào)(如圖3所示,分別對(duì)應(yīng)于DataB和DataA)。而另一個(gè)延時(shí)器可以用于使能信號(hào)和幀同步信號(hào)的延時(shí)輸出(In_Frame延遲后輸出的信號(hào)是Sync,信號(hào)In_Enable延遲后輸出的信號(hào)是Ena)。當(dāng)然,應(yīng)當(dāng)說(shuō)明的是,Ena、DataA和DataB都只有在Sync之后的N/2個(gè)點(diǎn)有效,再之后的N/2個(gè)點(diǎn)會(huì)被后續(xù)電路忽略。
其中,所述輸出模塊30亦為串并轉(zhuǎn)換模塊。具體的,如圖4所示,輸出并串轉(zhuǎn)換模塊30可以包括2個(gè)雙口RAM(31A和31B)、2個(gè)計(jì)數(shù)器(32A和32B)、2個(gè)延時(shí)器33和1個(gè)數(shù)據(jù)選擇器34(Mux)。
其中,2個(gè)雙口RAM分別31用于緩存2路并行輸入的數(shù)據(jù)OutA/OutB,計(jì)數(shù)器32A在輸入信號(hào)Ena和Sync的同步下順序產(chǎn)生2個(gè)雙口RAM的數(shù)據(jù)寫入地址。L位計(jì)數(shù)器32B在輸入信號(hào)Ena和Sync的延時(shí)信號(hào)同步下循環(huán)計(jì)數(shù),計(jì)數(shù)器的輸出為CNT[L-1:0],其中CNT的最高位CNT[L-1]用于控制數(shù)據(jù)選擇器的切換,當(dāng)CNT[L-1]為低電平時(shí),Mux選擇雙口RAM_A的讀取數(shù)據(jù)作為串行輸出結(jié)果Out_Data;當(dāng)CNT[L-1]為高電平時(shí),Mux選擇雙口RAM_B的讀取數(shù)據(jù)作為串行輸出結(jié)果Out_Data。CNT的低位CNT[L-1:0]經(jīng)過(guò)高位低位逆序反轉(zhuǎn)后得到CNT[0:L-1],用于驅(qū)動(dòng)2個(gè)雙口RAM的讀取地址AddrA/AddrB。
2個(gè)延時(shí)器33用于輸入Sync和Ena信號(hào)的延時(shí),保證Sync和Ena的延時(shí)信號(hào)可用于控制計(jì)數(shù)器32A和計(jì)數(shù)器32B正確的產(chǎn)生雙口RAM的寫入地址和讀取地址。Sync和Ena經(jīng)過(guò)2級(jí)延時(shí)后的輸出信號(hào)就是輸出結(jié)果信號(hào)Out_Valid和輸出幀同步信號(hào)Out_Frame,與本電路模塊輸出的FFT運(yùn)算結(jié)果Out_Data配合,供后端使用。
在本實(shí)用新型的另一實(shí)施例中,如圖3所示,所述基2蝶式運(yùn)算單元200至少包括一個(gè)用于統(tǒng)一浮點(diǎn)輸入數(shù)據(jù)指數(shù)的指數(shù)對(duì)齊電路210、用于執(zhí)行定點(diǎn)數(shù)據(jù)運(yùn)算的運(yùn)算單元220以及用于執(zhí)行指數(shù)規(guī)格化處理的規(guī)格化電路230。
所述指數(shù)對(duì)齊電路將指數(shù)對(duì)齊后的浮點(diǎn)輸入數(shù)據(jù)的統(tǒng)一的指數(shù)部分傳輸至所述規(guī)格化電路;所述運(yùn)算單元接收指數(shù)對(duì)齊后的浮點(diǎn)輸入數(shù)據(jù)的基數(shù)部分并執(zhí)行對(duì)應(yīng)的FFT運(yùn)算;
所述規(guī)格化電路根據(jù)所述指數(shù)部分,對(duì)所述運(yùn)算單元的運(yùn)算結(jié)果執(zhí)行指數(shù)規(guī)格化處理以生成浮點(diǎn)輸出數(shù)據(jù);所述運(yùn)算單元包括一個(gè)或多個(gè)定點(diǎn)加法器、定點(diǎn)乘法器和/或定點(diǎn)減法器。
以下結(jié)合圖11所示的實(shí)施例,具體陳述該基2蝶式運(yùn)算單元200的具體工作原理。如圖11所示,輸入信號(hào)包括2路并行輸入的運(yùn)算數(shù)據(jù)A/B、旋轉(zhuǎn)因子、數(shù)據(jù)使能信號(hào)Ena和幀同步信號(hào)Sync。
輸出信號(hào)包括2路并行輸出的運(yùn)算結(jié)果OutA/OutB、輸出結(jié)果使能信號(hào)Ena和輸出幀同步信號(hào)Sync。
基2蝶式運(yùn)算單元200采用按頻率抽取的FFT算法計(jì)算R2蝶形運(yùn)算,即:OutA=A+B,OutB=(A-B)*旋轉(zhuǎn)因子。在該基2蝶式運(yùn)算單元200,所有運(yùn)算數(shù)據(jù)和計(jì)算結(jié)果都采用浮點(diǎn)數(shù)據(jù)類型,所有浮點(diǎn)運(yùn)算數(shù)據(jù)在進(jìn)入基2蝶式運(yùn)算單元200后首先通過(guò)指數(shù)對(duì)齊電路210,將所有輸入浮點(diǎn)數(shù)據(jù)的指數(shù)都向指數(shù)最大的輸入數(shù)據(jù)對(duì)齊。這樣,經(jīng)過(guò)指數(shù)對(duì)齊后的所有輸入運(yùn)算數(shù)據(jù)的指數(shù)部分相同并將相同的指數(shù)部分統(tǒng)一送至指數(shù)規(guī)格化電路230?;鶖?shù)部分送至對(duì)應(yīng)的定點(diǎn)加法器、定點(diǎn)減法器和定點(diǎn)乘法器(即運(yùn)算單元220部分),完成FFT算法中的基2蝶形運(yùn)算。最后的運(yùn)算結(jié)果通過(guò)指數(shù)規(guī)格化電路結(jié)合之前的統(tǒng)一指數(shù),針對(duì)每一個(gè)基2蝶形運(yùn)算結(jié)果作指數(shù)規(guī)格化處理。
由此,基2蝶式運(yùn)算單元200的輸出結(jié)果OutA/OutB是浮點(diǎn)數(shù)據(jù)類型。進(jìn)一步通過(guò)延時(shí)單元將Sync和Ena信號(hào)延時(shí)輸出,保證輸出信號(hào)Sync和Ena與輸出的計(jì)算結(jié)果OutA/OutB配合使用。
上述基2蝶式運(yùn)算單元200的輸入運(yùn)算數(shù)據(jù)和輸出運(yùn)算結(jié)果都是浮點(diǎn)數(shù)據(jù)類型,而運(yùn)算單元本身采用定點(diǎn)加法器、定點(diǎn)減法器和定點(diǎn)乘法器完成數(shù)據(jù)運(yùn)算過(guò)程,由此采用“偽浮點(diǎn)”這樣的術(shù)語(yǔ)來(lái)表示這一特定的運(yùn)算數(shù)據(jù)結(jié)構(gòu)。
一方面,該數(shù)據(jù)運(yùn)算結(jié)構(gòu)與傳統(tǒng)浮點(diǎn)R2蝶形運(yùn)算單元相比,該蝶形運(yùn)算單元采用定點(diǎn)運(yùn)算電路,因此電路規(guī)模要小得多,能為大多數(shù)應(yīng)用場(chǎng)合所接受。
另一方面,與塊浮點(diǎn)R2蝶形運(yùn)算單元相比,該運(yùn)算單元的每一個(gè)中間計(jì)算結(jié)果都采用獨(dú)立的指數(shù)存儲(chǔ),而且指數(shù)對(duì)齊過(guò)程所導(dǎo)致的數(shù)據(jù)精度損失要小得多,因此其計(jì)算精度要明顯優(yōu)于塊浮點(diǎn)R2蝶形運(yùn)算單元。另外,該運(yùn)算單元的指數(shù)對(duì)齊和指數(shù)規(guī)格化電路由于處理的數(shù)據(jù)量遠(yuǎn)遠(yuǎn)少于塊浮點(diǎn)R2蝶形運(yùn)算單元的類似電路,因此該運(yùn)算單元200的電路規(guī)模、計(jì)算時(shí)延等方面也要優(yōu)于塊浮點(diǎn)R2蝶形運(yùn)算單元。
相對(duì)于傳統(tǒng)的定點(diǎn)型R2蝶形運(yùn)算單元不能滿足計(jì)算精度需求,而浮點(diǎn)型R2蝶形運(yùn)算單元需要過(guò)多的電路資源以及塊浮點(diǎn)型運(yùn)算單元需要統(tǒng)一N點(diǎn)中間運(yùn)算結(jié)果的指數(shù),存在不利于流水線結(jié)構(gòu)實(shí)現(xiàn)的缺點(diǎn),本實(shí)用新型實(shí)施例提供的基2蝶式運(yùn)算單元200能夠很好的克服上述問(wèn)題,在兼顧準(zhǔn)確度和電路資源的同時(shí),滿足流水線結(jié)構(gòu)的實(shí)現(xiàn)特點(diǎn),具有良好的應(yīng)用前景。
可以理解的是,對(duì)本領(lǐng)域普通技術(shù)人員來(lái)說(shuō),可以根據(jù)本實(shí)用新型的技術(shù)方案及本實(shí)用新型構(gòu)思加以等同替換或改變,而所有這些改變或替換都應(yīng)屬于本實(shí)用新型所附的權(quán)利要求的保護(hù)范圍。