專利名稱:一種流水線簡易fft/ifft處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種訊號處理器,特別是涉及一種23基(radix-23)快速傅里葉逆變換(Inverse Fast Fourier Transform,IFFT)處理器。
背景技術(shù):
對于一正交分頻多路復(fù)用系統(tǒng)(Orthogonal FrequencyDivision Multiplexing,OFDM)而言,快速傅里葉逆變換/快速傅里葉轉(zhuǎn)換(IFFT/FFT)處理器是一般調(diào)制/解調(diào)處理達(dá)到有效多載波(multicarrier)傳送所不可或缺的工具。在許多正交分頻多路復(fù)用系統(tǒng)中,例如使用無線區(qū)域網(wǎng)路(wireless local area network)802.11a標(biāo)準(zhǔn),均要求一種具有高速度與即時處理能力,且能結(jié)合一簡易方法而實現(xiàn)高數(shù)據(jù)處理效率的IFFT/FFT處理器。故達(dá)到此項目的實為一重要的課題。
在本發(fā)明于本文中所引用的參考數(shù)據(jù)「用于超大型積體電路的流水線與并聯(lián)流水線FFT處理器」(”Pipeline and Parallel-pipeline FFT Processorsfor VLSI Implementation”,IEEE Trans.Comput.,C-33(5)414-426 of May 1984,E.H.Worl與A.M.Despain所著)提及2基流水線單通路延遲反饋(radix-2 Single-path Delay Feedback,R2SDF)FFT系統(tǒng)可提供高速度與即時處理的能力。但是對于一個N點FFT處理流程而言,此種設(shè)計需要(log2N-1)個復(fù)數(shù)乘法器,意即需要一相對較復(fù)雜龐大的工具才能完成此項處理流程。
由Shousheng He與Mats Torkelsson在美國專利申請?zhí)?,098,088中披露了一22基分頻化簡快速傅里葉轉(zhuǎn)換(radix-22Decimation-in-Frequency FFT)運(yùn)算法及其處理結(jié)構(gòu)可降低整個設(shè)計的復(fù)雜性,將一N點FFT處理流程所需使用的復(fù)數(shù)乘法器減少到(log4N-1)個。此外,Shousheng He與Torkelson,M.亦在其文章「一種新穎流水線FFT處理器」(“Anew approach topipelineFFT processor”,Parallel Processing Symposium,1996,Proceedings of IPPS’96,The 10thInternational,1996)中披露,一23基DIF FFT演算法可以只需要(log8N-1)個復(fù)數(shù)乘法器。然而其并未披露任何與該演算法相關(guān)的處理結(jié)構(gòu)或設(shè)計。以上兩篇文件供參考。
在高速度與低復(fù)雜性的需求下,IFFT/FFT處理器目前存有輸入訊號與輸出訊號的無序(disorder)問題。舉例來說,分頻化簡(Decimation in Time,DIF)FFT處理器與分時化簡(Decimation inTime,DIT)IFFT處理器可接收一組照順序排列的輸入訊號,但卻會輸出一組沒有按順序排列的輸出訊號,反之,當(dāng)DIT FFT與DIFIFFT接收一組未按順序排列的輸入訊號時,其會傳送出按順序排列的輸出訊號。例如在美國專利申請?zhí)?,098,088中所述,若將輸入點x
至x[15]序按時輸入一16點DIF處理器中,其頻率輸出值X
至X[15]并不會照順序按時輸出,而是以下列順序出現(xiàn)X
,X[8],X[4],X[12],X[2],X[10],X[6],X[14],X[1],X[9],X[5],X[13],X[3],X[11],X[7]及X[15]。在任一情況中,輸入訊號或輸出訊號的無序皆為使用IFFT/FFT處理器的電路系統(tǒng)會遭遇到的困擾。
發(fā)明內(nèi)容
因此,本發(fā)明的主要目的在于提供一種在IFFT/FFT N點處理器中完成23演算的結(jié)構(gòu)系統(tǒng)。該結(jié)構(gòu)系統(tǒng)只需要(log8N-1)個復(fù)數(shù)乘法器,2×log8N個π/2復(fù)數(shù)旋轉(zhuǎn)器及l(fā)og8N個π/4復(fù)數(shù)旋轉(zhuǎn)器。
本發(fā)明的另一目的在于提供一種使用三疊單元蝶型電路的即時結(jié)構(gòu)系統(tǒng)。該三疊單元蝶型電路包含一蝶型I電路(butterfly Iunit,BFI)、一蝶型II電路(butterfly II unit,BFII)以及一蝶型III電路(butterfly III unit,BFIII)。各個蝶型電路均具有其個別的簡易結(jié)構(gòu)系統(tǒng),依據(jù)該處理器控制系統(tǒng)的流水線步數(shù)器(pipeline step-count)而加以控制。
本發(fā)明的目的是進(jìn)一步提供一種具有重排序電路的IFFT/FFT處理器,以解決上述已知IFFT/FFT處理器無法同時滿足有序(ordered)輸入與有序輸出的問題。
簡而言的,本發(fā)明的較佳實施例披露了一種即時N點流水線轉(zhuǎn)換處理器,其包含一至多個蝶型三疊單元,一至多個連接蝶型三疊單元與蝶型三疊單元的復(fù)數(shù)乘法器及一輸出部分。該三疊單元包含一蝶型I單元、一蝶型II單元及一蝶型III單元,三者是以串聯(lián)方式順序連接。該蝶型I單元的輸入端口作為該三疊單元的輸入端口,用以接收復(fù)數(shù)數(shù)據(jù)(complex numbers),而該蝶型III單元的輸出端口作為該三疊單元的輸出端口。該復(fù)數(shù)乘法器從其前端的三疊單元的輸出端口接收一復(fù)數(shù)結(jié)果,將其乘上從一控制單元傳來的一系數(shù)而產(chǎn)生一復(fù)數(shù)乘積。該輸出部分包含至少一第二個蝶型I單元,其輸入端口接收從該復(fù)數(shù)乘法器傳來的復(fù)數(shù)乘積,并將轉(zhuǎn)換產(chǎn)生的復(fù)數(shù)輸出。該控制單元包含一流水線步數(shù)暫存器(pipelinestep-count register),其提供系數(shù)給該復(fù)數(shù)乘法器。該控制單元依據(jù)存儲在該流水線步數(shù)暫存器的數(shù)據(jù),控制各個蝶型I單元、蝶型II單元及蝶型III單元,并提供系數(shù)給各復(fù)數(shù)乘法器。本發(fā)明亦提供一重排序電路以確保這些轉(zhuǎn)換產(chǎn)生的復(fù)數(shù)的時域順序與該等輸入的復(fù)數(shù)的頻域順序相合。
本發(fā)明的優(yōu)點在于該蝶型I單元、蝶型II單元及蝶型III單元是組成一蝶型三疊單元,而其輸出部分可以簡單的方式完成實施。再者,本發(fā)明可使復(fù)數(shù)乘法器的數(shù)目降至(log8N-1)。本發(fā)明的另一優(yōu)點在于該重排序電路可以使轉(zhuǎn)換產(chǎn)生的復(fù)數(shù)以相同于輸入復(fù)數(shù)數(shù)據(jù)的順序輸出。因此,使用本發(fā)明處理器的電路系統(tǒng)不需要重新排列時域或頻域,進(jìn)而減低外部電路系統(tǒng)的負(fù)擔(dān)。
圖1為一般蝶型單元的示意圖。
圖2為本發(fā)明16點23基DITI FFT流程的示意圖。
圖3為圖216點23基DITI FFT流程設(shè)計的方塊圖。
圖4為本發(fā)明蝶型I單元的設(shè)計示意圖。
圖5為本發(fā)明蝶型II單元的設(shè)計示意圖。
圖6為本發(fā)明蝶型III單元的設(shè)計示意圖。
圖7為本發(fā)明π/2復(fù)數(shù)旋轉(zhuǎn)器的示意圖。
圖8為本發(fā)明π/4復(fù)數(shù)旋轉(zhuǎn)器的示意圖。
圖9為本發(fā)明32點23基DITI FFT流程的示意圖。
圖10為圖932點23基DITI FFT流程設(shè)計的方塊圖。
圖11(A)與11(B)為本發(fā)明64點23基DITI FFT流程的示意12為圖11(A)與十一(B)64點23基DITI FFT流程設(shè)計的方塊圖。
圖13為本發(fā)明128點23基DITI FFT流程設(shè)計的方塊圖。
圖14為本發(fā)明快速傅里葉逆變換/快速傅里葉處理器的方塊圖。
圖15為本發(fā)明提供有序輸出訊號的16點23基DITI FFT流程的方塊圖。
圖16為本發(fā)明提供有序輸出訊號的16點23基DITI FFT流程的方塊圖。
表一為本發(fā)明流水線步數(shù)數(shù)據(jù)與輸出值的對照表。
表二為本發(fā)明數(shù)據(jù)輸入地址與數(shù)據(jù)輸出地址的對照表。
表三(A)及表三(B)為本發(fā)明重排序電路的操作數(shù)據(jù)表。
表四為本發(fā)明數(shù)據(jù)輸入地址與數(shù)據(jù)輸出地址的對照表。
附圖符號說明10蝶形單元11a,11b輸入端12a,12b輸出端20快速傅利葉逆轉(zhuǎn)換流程30,40,600,700,800 DITI FFT流程設(shè)計31a,31b,601a,601b,801蝶型I單元32,602a,602b蝶型II單元33,603蝶型III單元
36,606,706,806,1006控制單元36a,606a,706a,806a,1004步數(shù)暫存器36b,606b,706b,806b系數(shù)37,607,807a,807b蝶型三疊單元38乘法器39,609,709,809輸出部分100蝶型I單元101,201,203i,204i,301,303i,304i,309i,401a,401b,601,1001,2001輸入訊號102,103a,103i,202,203a,204a,205a,208o,302,303a,304a,305a,308o,309o,402a,402b,502,503o,504o,507a,507b,507c,507d,507e,602,605,1002,1003,2002,2003輸出訊號103,203,303緩沖器104,204,304減法器104a,204a,304a復(fù)數(shù)差值105,205,305,504,506加法器105a,205a,305a復(fù)數(shù)總和106a,106b,206a,206b,206c,306a,306b,306c,306d控制線107a,107b,207a,207b,207c,307a,307b,307c,307d多路復(fù)用器200蝶型II單元208,308,400,503π/2復(fù)數(shù)旋轉(zhuǎn)器300蝶型III單元309,500π/4復(fù)數(shù)旋轉(zhuǎn)器501輸入復(fù)數(shù)505a,505b,505c,505d,505e位移器608乘法器705,805控制訊號900IFFT/FFT處理器901電路開關(guān)902共軛復(fù)數(shù)電路
1000,2000處理器1100重排序電路1101隨機(jī)存取存儲器1101r讀出地址線1101w寫入地址線1102存儲鎖存器1103,2006地址對照表1103I輸入地址1104,2007周期位具體實施方式
在本發(fā)明較佳實施例的詳細(xì)說明中將披露一種分時化簡快速傅里葉逆變換(DIT IFFT)電路,該電路使用數(shù)學(xué)系數(shù)(j),而非系數(shù)(-j),故可以減低整個電路的復(fù)雜性。然而,正如熟于此項技術(shù)者所知,要將本發(fā)明所使用的方法應(yīng)用于其他類似的設(shè)計是一件頗為容易的工作。例如要利用DIT IFFT系統(tǒng)建立DIF FFT系統(tǒng)時,只需要將原來設(shè)計的輸入端取其共軛復(fù)數(shù)當(dāng)輸入端,原來輸出端取其共軛復(fù)數(shù)當(dāng)輸出端,如同圖14所示。
為了解本發(fā)明所利用的蝶型電路以及由處理器控制電路系統(tǒng)提供給各復(fù)數(shù)乘法器的大量系數(shù)的決定方式,必須對本發(fā)明所使用的數(shù)學(xué)基礎(chǔ)有概要性的了解。一N點離散傅里葉逆變換(N-PointInverse Discrete Fourier Transform,IDFT)具有以下通式x[n]=Σk=0N-1X[k]WN′nk]]>(公式1a)在公式1a中,x[n]為時域輸出,X[k]為頻率輸入,0≤n≤N,0≤k≤N,以及WN′nk=exp(j×2πnk/N)]]>(公式1b)
藉由8基與2基指標(biāo)映圖的遞回應(yīng)用,將下式帶入公式1a與1b中,可獲得DIT形式k=N2k1+N4k2+N8k3+k4]]>及n=n1+2n2+4n3+8n4其中0≤k4≤(N/8-1)、0≤k3≤1、0≤k2≤1、0≤k1≤1、0≤n4≤(N/8-1)、0≤n3≤1、0≤n2≤1以及0≤n1≤1最后得到下式x[n1+2n2+4n3+8n4]=Σk4=0N8-1Σk3=01Σk2=01Σk1=01X[N2k1+N4k2+N8k3+k4]WN′nk]]>(公式2)其中WN′nk=WN′(N2k1+N4k2+N8k3+k4)(n1+2n2+4n3+8n4)]]>=WN′N2k1n1WN′N4k2(n1+2n2)WN′N8k3(n1+2n2+4n3)WN′k4(n1+2n2+4n3+8n4)]]>=(-1)k1n1(j)n1+2n2WN′N8k3(n1+2n2+4n3)WN′k4(n1+2n2+4n3)WN′8k4n4]]>若設(shè)定C1=(j)n1+2n2]]>C2=WN′N8k3(n1+2n2+4n3)]]>C3=WN′k4(n1+2n2+4n3)]]>C4=WN′8k4n4]]>
則公式2可寫成x[n1+2n2+4n3+8n4]=]]>Σk4=0N8-1Σk3=01Σk2=01[X(N4k2+N8k3+k4)+(-1)n1X(N2+N4k2+N8k3+k4)]C1C2C3C4]]>將上文所定義的蝶型I單元(BFI)BFI(N4k2+N8k3+k4,n1)=X(N4k2+N8k3+k4)+(-1)n1X(N2+N4k2+N8k3+k4)]]>帶入公式2,得到X[n1+2n2+4n3+8n4]=]]>Σk4=0N8-1Σk3=01[BFI(N8k3+k4,n1)+(j)(n1+2n2)BFI(N4+N8k3+k4,n1)]C2C3C4]]>蝶型II單元(BFII)系定義為BFII(N8k3+k4,n1,n2)=[BFI(N8k3+k4,n1)+(j)(n1+2n2)BFI(N4+N8k3+k4,n1)]]]>則公式2可進(jìn)一步寫成X[n1+2n2+4n3+8n4]=]]>Σk4=0N8-1[BFII(k4,n1,n2)+W8′(n1+2n2+4n3)BFII(N4+N8k3+k4,n1,n2)]C3C4]]>最后,可藉由上述推論將蝶型III單元(BFIII)定義為BFIII(k4,n1,n2,n3)=[BFII(k4,n1,n2)+W8′(n1+2n2+4n3)BFII(N4+N8k3+k4,n1,n2)]]]>并定義Cn1,n2,n3=BFIII×C3]]>最后公式2可改寫成
x[n1+2n2+4n3+8n4]=Σk4=0N8-1Gn1,n2,n3[k4]×WN/8′n4k4]]>(公式3)值得注意的是,公式3為一簡單(N/8)點IFFT計算式。因此,上述步驟可遞回應(yīng)用到(N/8p)≤8,其中p為遞回深度(即遞回次數(shù))。上述公式顯示蝶型I單元、蝶型II單元及蝶型III單元是按順序連接以形成一蝶型三疊單元,而該蝶型三疊單元又使用適當(dāng)?shù)南禂?shù)以乘法方式連接。這些完整的蝶型三疊單元個數(shù)是以p表示,而p值則由數(shù)值N來決定。該IFFT的輸出部分包含至少一蝶型三疊單元的一部份,該部分是經(jīng)由適當(dāng)?shù)南禂?shù),以乘法方式與最后一個完整的蝶型三疊單元連接。該輸出部分不需要包含一完整的蝶型三疊單元,在N=2n下,當(dāng)n為3的倍數(shù)加1時,該輸出部分只需包含蝶型I單元,其是作為該IFFT的輸出端口;當(dāng)n為3的倍數(shù)加2時,該輸出部分包含串聯(lián)的一蝶型I單元與一蝶型II單元,其中該蝶型II單元是作為輸出端口;當(dāng)n為3的倍數(shù)時,該輸出部分包含完整的蝶型I單元、蝶型II單元及蝶型III單元,而蝶型III單元則作為輸出端口。
再者,蝶型II單元包含系數(shù) 其為π/2復(fù)數(shù)旋轉(zhuǎn)。而蝶型III單元包含系數(shù)W8′(n1+2n2+4n3)]]>=W8′n1×W8′2(n2+2n3)]]>=(22(1+j))n1×(j)(n2+2n3)]]>(公式4)如上所示,將π/2復(fù)數(shù)旋轉(zhuǎn)與π/4復(fù)數(shù)旋轉(zhuǎn)串聯(lián)帶入,便可使公式4清楚易懂。另外,π/4復(fù)數(shù)旋轉(zhuǎn)可以一近似算式代替(22(1+j))n1≈[(2-1+2-3+2-4+2-6+2-8)×(1+j)]n1]]>(公式5)公式5在設(shè)計上可使用五個位移器、一π/2復(fù)數(shù)旋轉(zhuǎn)器、一2/1復(fù)數(shù)加法器(2-to-1 complex adder)以及一5/1復(fù)數(shù)加法器(5-to-1 complex adder)而輕易完成。
在下文中將會說明蝶型電路概念的廣泛應(yīng)用方法。圖1為一般蝶型單元10流程的示意圖,該蝶型單元10有兩個復(fù)數(shù)輸入端11a與11b及兩個復(fù)數(shù)輸出端12a與12b。當(dāng)輸入端11a接收一復(fù)數(shù)A,而輸入端11b接收一復(fù)數(shù)B時,輸出端12a表示復(fù)數(shù)A+B,輸出端12b則表示復(fù)數(shù)A-B。因此一蝶型單元需要一復(fù)數(shù)加法路線與一復(fù)數(shù)減法路線。
請參閱圖2,圖2為本發(fā)明16點23基DIT IFFT流程20的示意圖。如圖2所示,蝶型I單元(BFI)、蝶型II單元(BFII)及蝶型III單元(BFIII)是以串聯(lián)方式相連接,形成一完整的蝶型三疊單元。輸出部分包含一單獨(dú)的蝶型I單元,以乘法方式與蝶型三疊單元連結(jié)。該蝶型三疊單元的輸出訊號,即從蝶型III單元輸出的訊號,傳給一復(fù)數(shù)乘法器(在圖2中以「」符號表示),該復(fù)數(shù)乘法器另接收一組系數(shù)W’n,將兩者相乘而得復(fù)數(shù)乘積,輸入輸出部分的蝶型I單元。傳入該復(fù)數(shù)乘法器的W’n系由流水線步數(shù)器控制,其數(shù)學(xué)式如下W’n=exp(j×2π×n/16)值得注意的是,在蝶型III單元中間歇出現(xiàn)的W’2為π/4復(fù)數(shù)旋轉(zhuǎn),其可以相近數(shù)學(xué)式表示W(wǎng)’2≈0.7071+0.7071j請參閱圖3,圖3為圖216點23基DIT IFFT流程設(shè)計30的示意圖。DIT IFFT流程設(shè)計30包含一完整的蝶型三疊單元37,藉由一復(fù)數(shù)乘法器38而以乘法方式與輸出部分39連接。該蝶型三疊單元37包含一第一蝶型I單元31a、一蝶型II單元32及一蝶型III單元33。該輸出部分39包含一單獨(dú)的第二蝶型I單元31b(因為16=24,而4除以3的余數(shù)為1)。一控制單元36會控制蝶型I單元31a與31b、蝶型II單元32及蝶型III單元33的操作,并提供適當(dāng)?shù)南禂?shù)給復(fù)數(shù)乘法器38。該控制單元36包含一流水線步數(shù)暫存器36a,其會記錄當(dāng)時的流水線步數(shù),對于一個N點IFFT處理器,流水線步數(shù)暫存器36a會從0跑到N-1。該控制單元36會依據(jù)流水線步數(shù)暫存器36a而控制蝶型三疊單元37、乘法器38及輸出部分39。
請參閱圖4,圖4為本發(fā)明蝶型I單元100的設(shè)計示意圖。一般蝶型I單元100包含一復(fù)數(shù)輸入訊號X1(k)101以及一復(fù)數(shù)輸出訊號X0(k)102。雖然依圖1中所示,蝶型I單元100應(yīng)該有兩個輸入與兩個輸出,但在實際的應(yīng)用上,因為IFFT 30為一流水線結(jié)構(gòu),所以同時得到兩個輸入訊號并不是必要條件。兩個輸入訊號101可以依流水線步數(shù)值k(即輸入訊號X1(k)101中所指)在其個別的時間分別輸入,k值是由流水線步數(shù)暫存器36a決定,并依據(jù)輸出訊號X0(k)102中的k值在不同時間輸出其相對應(yīng)的輸出訊號102。因此,在圖4中所顯示的流程設(shè)計與圖1的一般蝶型單元運(yùn)算規(guī)則并無沖突。蝶型I單元100包含一延遲反饋回路,其是以緩沖器103施行的。該緩沖器103是一先進(jìn)先出(first in first out,F(xiàn)IFO)緩沖器,其長度為L1,可以存儲預(yù)先輸入的復(fù)數(shù)X1,L1值如下所示L1=N/(2×8p)其中p即為上文有關(guān)數(shù)學(xué)原理介紹中所提及的遞回次數(shù),亦代表了包含該蝶型I單元100的蝶型三疊單元的序數(shù),例如在第一蝶型三疊單元中,p=0,在第二蝶型三疊單元中,p=1,以此類推。輸出部分39的蝶型I單元回路中的p值則為其前一個蝶型三疊單元的p值加1。例如圖3所示的蝶型I單元31a是位于第一蝶型三疊單元中,故其p值為0,蝶型I單元31b的p則為1,比其前一個連接的三疊單元的p值多1。N則為該IFFT電路所設(shè)計要處理的數(shù)據(jù)點數(shù)。圖3IFFT 30的N值為16。因此,蝶型I單元31的緩沖器大小L1為8,而疊形I單元31b的緩沖器大小L1為1。蝶型I單元100包含一減法器104及一加法器105??刂凭€106a與106b是由控制單元36所控制,并個別控制多路復(fù)用器107a與107b的輸出選擇。多路復(fù)用器107a可接收從加法器105傳來的復(fù)數(shù)總和105a,也可接收先進(jìn)先出緩沖器103的輸出訊號103a,多路復(fù)用器107a根據(jù)控制線106a選擇二者的一個作為其輸出訊號X0(k)102。多路復(fù)用器107b可接收從加法器105傳來的復(fù)數(shù)總和105a與輸入訊號X1(k)101,多路復(fù)用器107b根據(jù)控制線106b選擇其中一種作為其輸出訊號103i,傳送給先進(jìn)先出緩沖器103。故先進(jìn)先出緩沖器103存儲從減法器104得來的復(fù)數(shù)差值104a或輸入訊號X1(k)101的其中一種,而輸出訊號X0(k)102則為先進(jìn)先出緩沖器103的輸出訊號103a與加法器105的復(fù)數(shù)總和105a兩者的一個。
請參閱圖5,圖5為本發(fā)明蝶型II單元200的設(shè)計示意圖,蝶型II單元200的使用是如圖3所示的蝶型II單元32。蝶型II單元200的操作原理和蝶型I單元100非常相近,不同的是,該蝶型II單元200還包含一π/2復(fù)數(shù)旋轉(zhuǎn)器208及其相關(guān)的電路系統(tǒng)。在流水線步數(shù)暫存器36a的指示下,蝶型II單元200在每一時鐘周期接收一復(fù)數(shù)輸入訊號201(得自蝶型I單元100的輸出訊號102),并產(chǎn)生一復(fù)數(shù)輸出訊號202。以圖3為例,在處理器電路30中,蝶型II單元32是接收蝶型I單元31a的輸出作為其輸入訊號。在圖4中,先進(jìn)先出緩沖器203用以執(zhí)行延遲反饋回路,其緩沖大小L2L2=N/(4×8p)上式中,p值為該蝶型II單元200所在的蝶型三疊單元的序數(shù),而N為該IFFT處理器的點數(shù)。在圖3電路30的蝶型II單元32中,先進(jìn)先出緩沖器203的L2值為4,因為16/4×80=4。蝶型II單元200包含一減法器204、一加法器205、π/2復(fù)數(shù)旋轉(zhuǎn)器208,以及三多路復(fù)用器207a、207b及207c??刂茊卧?6根據(jù)存儲在流水線步數(shù)暫存器36a的數(shù)據(jù)而驅(qū)動控制線206a、206b及206c,以決定多路復(fù)用器207a、207b及207c的輸出。而控制線206a、206b及206c的運(yùn)作方式示于圖2。
請參閱圖6,圖6為本發(fā)明蝶型III單元300的示意圖。蝶型III單元300是如圖3的蝶型III單元33,而蝶型III單元300的操作原理與蝶型II單元200相當(dāng)類似。其不同處在于蝶型III單元300還包含一π/4復(fù)數(shù)旋轉(zhuǎn)器308及其控制電路系統(tǒng)。在流水線步數(shù)暫存器36a的指令下,蝶型III單元300在每一時鐘周期接收一復(fù)數(shù)輸入訊號301,并產(chǎn)生一復(fù)數(shù)輸出訊號302。輸入訊號301為蝶型II單元200的輸出訊號202。例如在處理器電路30中,蝶型III單元33接收蝶型II單元32的輸出訊號,作為其輸入訊號。先進(jìn)先出緩沖器緩沖器303用以執(zhí)行一延遲反饋回路,緩沖器大小L3為L3=N/(8×8p)同樣地,p是指蝶型III單元300所在的蝶型三疊單元的序數(shù),而N為該IFFT處理器的點數(shù)。在電路30中,蝶型III單元33所包含的先進(jìn)先出緩沖器303的L3為2,因為16/8×80=2。蝶型III單元300包含一減法器304、一加法器305、一π/2復(fù)數(shù)旋轉(zhuǎn)器308、一π/4復(fù)數(shù)旋轉(zhuǎn)器309,以及四個多路復(fù)用器307a、307b、307c及307d??刂茊卧?6根據(jù)存儲在流水線步數(shù)暫存器36a的數(shù)據(jù)而驅(qū)動控制線306a、306b及306c,以決定多路復(fù)用器307a、307b及307c的輸出。而控制線306a、306b及306c的運(yùn)作方式示于圖2。
蝶型III單元33的輸出訊號302與控制單元36(取自系數(shù)表36b)所提供的系數(shù)W’[k]一起傳送至復(fù)數(shù)乘法器38。該系數(shù)W’[k]也是由存儲在流水線步數(shù)暫存器36a的數(shù)據(jù)來決定,即k為步數(shù)數(shù)值(step-count value)36a,如圖2所示。
最后,將自數(shù)乘法器38輸出的復(fù)數(shù)乘積傳給蝶型I單元31b,作為其輸入訊號101。蝶型I單元31b的先進(jìn)先出緩沖器103僅為一個單元,而其控制方法是非常簡易的。
對16點DIT IFFT電路30而言,由反饋迭代所造成的延遲有以下情形在第一訊號X
輸入后經(jīng)過16時鐘周期時,第一個結(jié)果x
會被輸出。然而值得注意的是,雖然每個輸出訊號x[n]都為一個輸入訊號X[k]的快速傅里葉逆變換,但其在輸出時并未按照輸入訊號的時間順序,而是以下列順序輸出x
,x[8],x[4],x[12],x[2],x[10],x[6],x[14],x[1],x[9],x[5],x[13],x[3],x[11],x[7]以及x[15]。
請參閱圖7,圖7為本發(fā)明π/2復(fù)數(shù)旋轉(zhuǎn)器400的示意圖。π/2復(fù)數(shù)旋轉(zhuǎn)器400為蝶型III單元300中π/2復(fù)數(shù)旋轉(zhuǎn)器308與蝶型II單元200中π/2復(fù)數(shù)旋轉(zhuǎn)器208的實施方法。輸入π/2復(fù)數(shù)旋轉(zhuǎn)器400的復(fù)數(shù)XI(k)有實數(shù)部分XIR(k)401a與虛數(shù)部分XII(k)401b。同樣地,π/2復(fù)數(shù)旋轉(zhuǎn)器400的輸出訊號XO(k)也會有一實數(shù)部分XOR(k)402a與一虛數(shù)部分XOI(k)402b。輸出訊號XO(k)=XI(k)×(j),j為-1的平方根。要達(dá)到π/2復(fù)數(shù)旋轉(zhuǎn),該π/2復(fù)數(shù)旋轉(zhuǎn)器400只需要將復(fù)數(shù)XI(k)的實數(shù)部分輸入訊號401a作為輸出復(fù)數(shù)XO(k)的虛數(shù)部分輸出訊號402b,并將虛數(shù)部分輸入訊號401b乘以(-1)并放在實數(shù)部分輸出訊號402a加以輸出就可以。其中,將虛數(shù)部分乘以(-1)的程序可藉由熟知此項技術(shù)者已知的方法輕易完成。故要完成π/2復(fù)數(shù)旋轉(zhuǎn)器400的設(shè)置是非常容易的。
請參閱圖8,圖8為本發(fā)明π/4復(fù)數(shù)旋轉(zhuǎn)器500的示意圖。該π/4復(fù)數(shù)旋轉(zhuǎn)器500是一般蝶型III單元300的中π/4復(fù)數(shù)旋轉(zhuǎn)器309的實施方法。π/4復(fù)數(shù)旋轉(zhuǎn)器500的設(shè)計是根據(jù)公式5,接收一輸入復(fù)數(shù)XI(k)501并產(chǎn)生一相對應(yīng)的輸出復(fù)數(shù)XI(k)502,其關(guān)系如下XO(k)=(2-1+2-3+2-4+2-6+2-8)×(1+j)×XI(k)該π/4復(fù)數(shù)旋轉(zhuǎn)器500包含一π/2復(fù)數(shù)旋轉(zhuǎn)器503,其設(shè)計與圖7中的π/2復(fù)數(shù)旋轉(zhuǎn)器400相同;一2/1復(fù)數(shù)加法器504;五個右位移器505a-505e;以及一5/1復(fù)數(shù)加法器506。首先,π/2復(fù)數(shù)旋轉(zhuǎn)器503會將輸入復(fù)數(shù)XI(k)501乘以(j)之后輸出,即輸出訊號503o=XI(k)×j。接著,復(fù)數(shù)加法器504會接收從π/2復(fù)數(shù)旋轉(zhuǎn)器503傳來的輸出訊號503o與該π/4復(fù)數(shù)旋轉(zhuǎn)器500原始的輸入訊號XI(k)501,將兩者相加,得到輸出訊號504o,其值為(1+j)×XI(k)。然后位移器505a會將輸出訊號504o右移一位,實際上是將輸出訊號504o乘上2-1,并將其結(jié)果以輸出訊號507a輸出至下一流程。位移器505b會將輸出訊號504o右移三位,即對輸出訊號504o乘上2-3,得到輸出訊號507b。位移器505c使輸出訊號504o右移四位,也就是將輸出訊號504o乘以2-4,得到輸出訊號507c。位移器505d是將輸出訊號504o乘上2-6,右移六位,得到輸出訊號507d。同樣地,位移器505e將輸出訊號504o乘以2-8,也就是右移八位而產(chǎn)生輸出訊號507e。最后加法器506接收輸出訊號507a-507e,得到五者的復(fù)數(shù)總和,作為其輸出訊號XO(k)502。由此可知,π/4復(fù)數(shù)旋轉(zhuǎn)器500只需要一π/2復(fù)數(shù)旋轉(zhuǎn)器503、二個復(fù)數(shù)加法器504與506,以及五個右位移器505a至505e,便可容易地完成執(zhí)行。
在圖2與圖3中用來完成本發(fā)明16點DIT IFFT 30的方法可實施到點數(shù)更高的例子中,本領(lǐng)域的技術(shù)人員要運(yùn)用此理論時,必須相當(dāng)清楚在前文中所討論的數(shù)學(xué)基礎(chǔ)及實施方法,以便在實施時能掌握蝶型I單元100、蝶型II單元200及蝶型III單元300和適當(dāng)先進(jìn)先出緩沖器大小的使用。舉例如圖9,圖9為本發(fā)明32點23基DIT IFFT流程的示意圖,其設(shè)計是以上文所探討者為基礎(chǔ)。其中蝶型I單元、蝶型II單元及蝶型II單元的實施方法與圖4、圖5及圖6所提及的一般蝶型I單元100、蝶型II單元200及蝶型III單元300相同。圖9中W’4項表示π/4復(fù)數(shù)旋轉(zhuǎn)器,系數(shù)W’n的通式為W’n=exp(j×2π×n/32)。
請參閱圖10,圖10為圖9本發(fā)明32點23基DIT IFFT處理器600流程的設(shè)計示意圖。如圖10所示,該IFFT 600系依據(jù)該控制單元606中的流水線步數(shù)暫存器606,按時順序接收32個頻率輸入訊號X[k]601(k為0至31),并產(chǎn)生未排序的輸出訊號x[n]602。該IFFT 600包含一蝶型三疊單元607,以一復(fù)數(shù)乘法器608與輸出部分609連接。在這個例子中,由于32=35,5為3的倍數(shù)加2,故輸出部分609包含一蝶型I單元601b及一蝶型II單元602b,兩者是按順序連接。該蝶型II單元602b的輸出端口是作為該IFFT 600的最后輸出端口。所有的蝶型I單元601a與601b、蝶型II單元602a與602b,以及蝶型III單元603均以蝶型I單元100、蝶型II單元200及蝶型III單元300的方法實施,其中,依各蝶型單元所在的三疊單元序數(shù),使用不同的p值和N值,以決定個別的先進(jìn)先出緩沖器緩沖器大小。例如,蝶型I單元601a的先進(jìn)先出緩沖器緩沖器大小L1為16;蝶型II單元602a的先進(jìn)先出緩沖器緩沖器大小L2為8;蝶型III單元的緩沖器大小L3為4。在輸出部分609中,由于p=1,故蝶型I單元601b的先進(jìn)先出緩沖器緩沖器大小L1為2,而蝶型II單元602b的緩沖器大小L2為1控制單元是根據(jù)存儲在流水線步數(shù)暫存器606a的數(shù)據(jù)來對每個蝶形單元中的多路復(fù)用器做控制,其控制情況如圖9所示。系數(shù)W’n存于控制單元606的系數(shù)表606b內(nèi),依據(jù)存儲在流水線步數(shù)暫存器606a中的數(shù)據(jù)被提供給復(fù)數(shù)乘法器608。如同圖3的電路30,控制單元606以輸出訊號605控制各蝶型單元601a、601b、602a、602b及603并提供復(fù)數(shù)的系數(shù)給乘法器608,其中該輸出訊號605是由一狀態(tài)機(jī)器所決定,在本發(fā)明中,該狀態(tài)機(jī)器的實施即為控制單元606,控制單元606所包含的步數(shù)暫存器606a會指示出當(dāng)時的狀態(tài),以決定輸出訊號605。
圖11(A)與圖11(B)為本發(fā)明64點23基DIT IFFT流程的示意圖,其相對應(yīng)的DIT IFFT電路700設(shè)計示于圖12。蝶型I單元、蝶型II單元及蝶型II單元與圖4、圖5及圖6的蝶型I單元100、蝶型II單元200及蝶型III單元300一樣。在圖11(A)與圖11(B)中,W’8表示π/4復(fù)數(shù)旋轉(zhuǎn)器。系數(shù)706b W’n=exp(j×2π×n/64)。該控制單元706如同一狀態(tài)機(jī)器,而其中的流水線步數(shù)暫存器706a會決定當(dāng)時的狀態(tài),驅(qū)動控制單元706的控制訊號705,其演算流程可參閱圖11(A)與圖11(B)。值得注意的是輸出部分709包含一完整的蝶型三疊單元,因為p=1,64=26,而6為3的倍數(shù)。
請參閱圖13,圖13為本發(fā)明另一實施例128點23基DIT IFFT處理器800。由于128=27,7除以3余1,故該輸出部分809僅包含一蝶型I單元801。電路800包含兩個蝶型三疊單元807a與807b,其p值分別為0與1,而輸出部分809的p值為2。其中,蝶型三疊單元807a和蝶型三疊單元807b之間是以復(fù)數(shù)乘法器808a連接,蝶型三疊單元807b與輸出部分809是以復(fù)數(shù)乘法器808b連接。根據(jù)存儲在流水線步數(shù)暫存器806a的數(shù)據(jù),控制單元從系數(shù)表806b中提供系數(shù)W’1[k]與W’2[k]給復(fù)數(shù)乘法器808a與808b。如同前文所述的例子,控制單元806是根據(jù)流水線步數(shù)暫存器806a而決定系數(shù)806b,以及輸出控制訊號805。
圖14為本發(fā)明IFFT/FFT處理器900的方塊圖。當(dāng)電路開關(guān)901接到共軛復(fù)數(shù)電路系統(tǒng)902時,該處理器900是作為一DIF FFT處理器使用,接收地址輸入訊號I[x]并產(chǎn)生相對應(yīng)(但未排序)的頻率輸出訊號O[x]。當(dāng)電路開關(guān)901接到越過該共軛復(fù)數(shù)電路系統(tǒng)902的接點時,處理器900是作為DIT IFFT使用,接收頻率輸入訊號I[x]并產(chǎn)生相對應(yīng)(未排序)的地址輸出O[x]。不論是選擇IFFT或FFT,都有一必須正視的問題-處理器的輸出訊號順序并未對應(yīng)于輸入訊號的順序,而此問題亦同樣發(fā)生在DIF IFFT/DIT FFT處理器中。為使連續(xù)的輸出訊號與其相對應(yīng)的連續(xù)輸入訊號有一致的順序,本發(fā)明提供一重排序方法(reordering procedure),該重排序方法是由額外的緩沖存儲器(buffer memory)來實現(xiàn)。一N點即時處理器(N-point real-time processor)通常需要兩個各含有N復(fù)數(shù)槽溝(slot)存儲器的緩沖器一緩沖器用來存儲流過該處理器的數(shù)據(jù),而另一緩沖器用來輸出經(jīng)過重排序的數(shù)據(jù)。但事實上,如果能同時支持和重排序長度大于N的連續(xù)輸出訊號,那么使用一個只有N數(shù)據(jù)溝槽的存儲器是可行的,我們稱其為「兩相存儲地址控制(two-phase memory address control)」。為使讀者易于了解,將以前文所述的DIT IFFT處理器做說明,而同樣方法也可適用于DIF FFT、DIF IFFT及DIT FFT處理器。
請參閱圖15,圖15為本發(fā)明支持排序輸出的16點23基DITIFFT處理器1000的方塊圖。處理器1000包含圖3的16點23基DITI FFT電路30,以及一重排序電路(reordering circuit)1100,其是連接于該16點23基DITI FFT電路30的輸出部分,由輸出線1002連接。該重排序電路1100包含一雙端口隨機(jī)存取存儲器(Dual-Port RAM)1101,在流水線步數(shù)暫存器1004的指示下,可以在同一時鐘周期(clock cycle)中,同時支持讀出操作(readoperation)與寫入操作(read operation),該RAM 1101作為重排序電路1100的緩沖裝置。RAM 1101具有存儲N復(fù)數(shù)的空間,即存儲溝槽,由0至N-1地址。在本例子中,該DIT IFFT處理器1000為一16點處理器,N=16,故RAM 1101有16復(fù)數(shù)存儲溝槽,用以存儲0至15地址。重排序電路1100還包含一作為地址延遲裝置的存儲鎖存器(latch)1102,例如一D型觸發(fā)器(D-type flip-flop),用以緩沖RAM 1101的單一存儲地址。重排序電路1100也必須在控制單元1006上加入一些裝置一地址產(chǎn)生裝置,即地址對照表1103,一周期位1104,以及其他可以支持下述功能的電路系統(tǒng)。該支持電路系統(tǒng)的設(shè)計應(yīng)為本領(lǐng)域的技術(shù)人員所能輕易完成,故不在此贅述。
RAM 1101亦作為該重排序電路1100的定址裝置,具有一讀出地址線1101r與一寫入地址線1101w。從IFFT單元30的輸出部分所傳來的輸出訊號1002,依據(jù)寫入地址線1101w的指示寫入RAM1101的存儲地址溝槽中,而RAM 1101依據(jù)讀出地址線1101r的指示,從存儲地址溝槽中所含有的復(fù)數(shù)數(shù)據(jù)產(chǎn)生一輸出訊號1003傳送出去,此RAM 1101的操作應(yīng)為本領(lǐng)域的技術(shù)人員所能了解的。該存儲鎖存器1102是設(shè)于該讀出存儲線1101r與該寫入地址線1101w之間,因此該存儲鎖存器1102可從讀出地址線1101r獲得一地址,并在下一時鐘周期中(該流水線步數(shù)暫存器1004決定時)將該地址提供給寫入地址線1101w。該存儲鎖存器1102的目的僅在于流水線步數(shù)暫存器1004指示下,將該讀出與寫入地址延遲一時鐘周期。經(jīng)由控制單元1006所包含的地址對照表1103與周期位1104,控制單元1006會將讀出地址線1101r傳來的訊號,由寫入地址線1101w傳給RAM 1101。地址對照表1103的內(nèi)容為輸入地址1103i從I0到IN-1的地址列表,該周期位1104是用來決定存儲地址的狀態(tài)。在輸入完整的N訊號后(由流水線步數(shù)暫存器1004決定,在本例中N為16),周期位1104會跳換。當(dāng)周期位1104跳換后,在流水線步數(shù)暫存器1004的指令下,控制單元1006會根據(jù)從地址對照表1103得來的數(shù)據(jù),即輸入地址1103i,提供讀出地址給RAM1101。當(dāng)該周期位1104清除時,控制單元1006也會根據(jù)流水線步數(shù)暫存器1004提供一地址(經(jīng)由地址讀出線1101r)。在兩種狀態(tài)中,用于指示或定址的數(shù)值比存儲在流水線步數(shù)暫存器1004中的數(shù)據(jù)大1。當(dāng)該流水線步數(shù)暫存器1004存儲的數(shù)據(jù)數(shù)值為N-1時,在本例中,該數(shù)值為15,周期位1104會被跳換(經(jīng)由一種周期位跳換裝置,例如比較器或智慧位邏輯等)。
在IFFT 30中,16個輸入訊號X
至X[15]在時間T0至T15順序輸入電路30中,同時,流水線步數(shù)暫存器36a亦提供相對應(yīng)的數(shù)據(jù)0至15。請參考表一,輸出訊號1002x
至x[15]開始輸出至RAM 1101的時間為T16。
表一
地址對照表1103具有N輸入地址0至N-1,其會按照流水線步數(shù)暫存器1004所定而出現(xiàn)在時域的輸出訊號x[n]的順序。該N輸入地址可提供排序的解碼數(shù)據(jù),如表二所示。
表二
請參閱表三,表三可說明重排序電路1100的操作。IFFT的輸出訊號1002x1[n]是相對應(yīng)于在時間T0至T15輸入的輸入訊號1001;輸出訊號1002x2[n]是相對應(yīng)于在時間T16至T31輸入的輸入訊號1001;而輸出訊號1002x3[n]是相對應(yīng)于在時間T32至T47輸入的輸入訊號1001。
表三(A)
表三(B)
當(dāng)周期位1104設(shè)定為1時,控制單元1006將存儲在流水線步數(shù)暫存器1004中的數(shù)據(jù)加1,所得結(jié)果指示到地址對照表1103中,獲得一讀出地址,該讀出地址便會被提供給讀出地址線1101r,此即為第一相型地址。對于本領(lǐng)域的技術(shù)人員,應(yīng)能很容易便了解此操作所需要的裝置。例如,在時間T16時,周期位1104為1;存儲在流水線步數(shù)暫存器1004的數(shù)據(jù)數(shù)值為0;將此數(shù)值加1當(dāng)作地址對照表1103的輸入地址1103i(I1)。因此,RAM在時間T16的讀出地址(讀出地址線1101r)為8。當(dāng)周期位1104清除為0時,控制單元1006設(shè)定讀出地址線1101r得到一個比存儲在流水線步數(shù)暫存器1004的數(shù)據(jù)大1的訊號,此即為第二相型地址。無論哪一種相型地址,提供給讀出地址線1101r的相同地址均會在經(jīng)過一時鐘周期之后藉由存儲鎖存器1102而被傳送給寫入地址線1101w。當(dāng)流水線步數(shù)暫存器1004的數(shù)據(jù)數(shù)值達(dá)到N-1時,在本例中為15,該周期位1104會從0跳換至1,或從1跳換至0。雖然會有N時鐘周期的延遲,其輸出訊號1003會是輸出訊號1002的一連串排序即時輸出。
上述將輸出訊號重排序的概念是非常普遍的,在第一局部時域T1輸入的一連串輸入訊號X[k]會在一第二局部時域T2中經(jīng)由處理器轉(zhuǎn)換成相對應(yīng)的連串輸出訊號x[n]。在上述實施例中,當(dāng)流水線步數(shù)暫存器1004由0至15(即N-1)跑一完整的流水線周期時會記錄每一局部時域。在此處所指的排序(ordering)是指在第一局部時域T1的時間T1j下輸入的輸入訊號X[p]會在第二局部時域T2的時間T2j產(chǎn)生一相對應(yīng)的輸出訊號x[p],其中p的數(shù)值是介于0至N-1,即0至15。因此,雖然在上述實例中,輸入訊號X
至X[15]是有順序地由小至大輸入,但這并不是本發(fā)明重排序的程序中的必要條件。例如,一個經(jīng)過設(shè)計的電路,可以將由大至小按順序輸入的一連串訊號X[15]至X
以經(jīng)過重排序的方式將訊號x[15]至x
呈遞減的順序連續(xù)輸出。本發(fā)明的重排序電路能使輸入訊號與輸出訊號只局部時域相合。
如上文所述,可將重排序電路1100應(yīng)用到N為任何數(shù)值的處理器中,其條件為對于一組離散于局部時間間隔T{T0,T1,...,Tn}的未排序數(shù)據(jù){X0,X1,...,Xn},每一個在時間Tj所產(chǎn)生的Xk,會對應(yīng)一個在時間Tk產(chǎn)生的Xj,如表一所示。例如,x1[8]是在流水線步數(shù)數(shù)據(jù)1(存儲在圖15中流水線步數(shù)暫存器1004)時出現(xiàn),相對應(yīng)地,x1[1]便會在流水線步數(shù)數(shù)據(jù)為8的時候出現(xiàn);在圖9、圖11(A)、圖11(B)的情況亦為如此。
本發(fā)明的重排序電路并未限制于DIT IFFT處理器中,該重排序電路亦可適用于DIF FFT處理器。不只如此,該重排序電路在DIT FFT與DIF IFFT處理器中皆可應(yīng)用,其方式是輸入未排序的輸入訊號而產(chǎn)生排序的輸出訊號,如圖16所示。
在上述重排序電路中所使用的存儲器是用于緩沖數(shù)據(jù),其必須能在每一由流水線步數(shù)暫存器指示的流水線周期中(每次流水線步數(shù)暫存器所存儲的數(shù)據(jù)增加1時)進(jìn)行讀出操作與寫入操作。但這并不意味一個雙端口隨機(jī)存取存儲器模塊是不可或缺的,此種設(shè)計僅為本發(fā)明的較佳實施例而已,在其他設(shè)計中,使用一標(biāo)準(zhǔn)單端口隨機(jī)存取存儲器模塊亦可實現(xiàn)本發(fā)明所需求的同樣效果。在本實施例中,為了能夠在同一流水線操作中進(jìn)行讀出寫入操作,每一流水線端口數(shù)暫存器至少需要二個RAM總線周期,而讀出地址端口與寫入地址端口亦是如此。在一RAM總線周期中,會使用從該控制單元得到的讀出地址,在另一周期中,會使用由存儲鎖存器傳來的地址最后,應(yīng)明了的是,有很多裝置可以產(chǎn)生本發(fā)明重排序電路的第一狀態(tài)所需的地址,意即地址對照表并非達(dá)到重排序程序的唯一方式,該重排序電路所需的地址可以如表四所列的方式計算得知,表四和表二大致相同,但表四是以二進(jìn)位方式來表示,我們可清楚看到由二進(jìn)位表示的部分僅為其索引指令的二進(jìn)位的「反射」。此處「反射」是指原來的最大有效位(the most significant bit,MSB)會經(jīng)反射而成最小有效位(the least significant bit,LSB),而第二MSB則會反射成第二LSB,依此類推。例如輸入地址的指令0001所具有的值為1000,而輸入地址1010所具有的值為0101。此種位反射的處理可以使用已知的簡單邏輯操作來完成而取代地址對照表。
表四
相較于已知技術(shù),本發(fā)明提供一蝶型三疊單元,其包含一蝶型I單元、一蝶型II單元及一蝶型III單元,以及一包含至少一蝶型I單元的輸出部分,其是以一復(fù)數(shù)乘法器連接于該蝶型III單元。該蝶型II單元包含一π/2復(fù)數(shù)旋轉(zhuǎn)器,而該蝶型III單元包含一π/2與一π/4復(fù)數(shù)旋轉(zhuǎn)器。依據(jù)一流水線步數(shù)數(shù)據(jù),該蝶型I單元、蝶型II單元以及蝶型III單元被一控制電路控制,并提供系數(shù)給該復(fù)數(shù)乘法器。再者,本發(fā)明還提供一重排序電路,使得輸出訊號在時域中的順序與輸入訊號在時域中的順序相吻合。對一N點即時處理器,該重排序電路只需要一具有N溝槽的緩沖器用以存儲N復(fù)數(shù)數(shù)據(jù),便可提供即時的排序輸入與輸出,且不會限制或破壞整個輸出與輸入的連續(xù)性。其中,重排序緩沖存儲器的讀出與寫入操作會被延遲,使得在該重排序緩沖存儲器的一地址進(jìn)行讀出動作后,在下一流水線周期中會接著對同一地址進(jìn)行寫入操作。地址對照表的使用可決定重排序緩沖器的讀出地址,而該地址對照表是根據(jù)存儲在流水線步數(shù)暫存器的數(shù)據(jù)而得到索引指令。
以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明起來要求所做的均等變化與修飾,均應(yīng)屬本發(fā)明專利的涵蓋范圍。
權(quán)利要求
1.一種N點流水線轉(zhuǎn)換處理器,其包含一第一三疊單元,其包含一第一蝶型I單元、一蝶型II單元以及一蝶型III單元以串聯(lián)的方式相連接,該第一蝶型I單元包含一輸入端口用來作為該第一三疊單元的輸入端口,以接收多個復(fù)數(shù)數(shù)據(jù),該蝶型III單元包含—輸出端口用來作為該第一三疊單元的輸出端口;一復(fù)數(shù)乘法器,用來接收該第一三疊單元的輸出端口輸出的復(fù)數(shù)結(jié)果并利用一系數(shù)來產(chǎn)生一復(fù)數(shù)乘積;一輸出部分,其包含至少一第二蝶型I單元,該第二蝶型I單元包含一輸入端口用來接收該復(fù)數(shù)乘法器輸出的該復(fù)數(shù)乘積,該輸出部分用來輸出經(jīng)轉(zhuǎn)換的復(fù)數(shù)數(shù)據(jù);以及一控制單元,其包含一流水線步數(shù)暫存器以及一系數(shù)產(chǎn)生器,該系數(shù)產(chǎn)生器用來提供多個系數(shù)至該復(fù)數(shù)乘法器;其中該控制單元依據(jù)存儲在該流水線步數(shù)暫存器的數(shù)據(jù)來控制該第一蝶型I單元、該第二蝶型I單元、該蝶型II單元以及該蝶型III單元的操作,并控制該系數(shù)產(chǎn)生器提供系數(shù)。
2.如權(quán)利要求1所述的處理器,其中該系數(shù)產(chǎn)生器包含一系數(shù)表存儲在該控制單元。
3.如權(quán)利要求1所述的處理器,其中各該蝶型I單元包含一第一先進(jìn)先出緩沖器,其可存儲至少一復(fù)數(shù)數(shù)據(jù);一第一復(fù)數(shù)加法器,其是自該第一先進(jìn)先出緩沖器及各該蝶型I單元的輸入端口接收輸入數(shù)據(jù)以產(chǎn)生一第一復(fù)數(shù)總和;一第一復(fù)數(shù)減法器,其是自該第一先進(jìn)先出緩沖器及各該蝶型I單元的輸入端口接收輸入數(shù)據(jù)以產(chǎn)生一第一復(fù)數(shù)差值;一第一多路復(fù)用器,用來作為各該蝶型I單元的輸出端口,該第一多路復(fù)用器根據(jù)一第一控制線選擇自該第一先進(jìn)先出緩沖器接收一數(shù)據(jù)或自該第一復(fù)數(shù)加法器接收該第一復(fù)數(shù)總和;以及一第二多路復(fù)用器,用來提供輸入數(shù)據(jù)至該第一先進(jìn)先出緩沖器,該第二多路復(fù)用器根據(jù)一第二控制線選擇自各該蝶型I單元的輸入端口接收一數(shù)據(jù)或自該第一復(fù)數(shù)減法器接收該第一復(fù)數(shù)差值;其中該第一控制線與該第二控制線是由該控制單元依據(jù)存儲在該流水線步數(shù)暫存器的數(shù)據(jù)加以驅(qū)動。
4.如權(quán)利要求3所述的處理器,其中該第一先進(jìn)先出緩沖器存儲了L1復(fù)數(shù)數(shù)據(jù),而在流水線步數(shù)暫存器決定一第一L1迭代(iteration)時,該控制單元會控制該第一與第二控制線,以使該第一多路復(fù)用器選擇接收自該第一先進(jìn)先出緩沖器傳來的輸出數(shù)據(jù),而該第二多路復(fù)用器選擇自各該蝶型I單元的輸入端口接收一數(shù)值;當(dāng)該流水線步數(shù)暫存器緊接地決定一第二L1迭代時,該控制單元控制該第一與第二控制線,以使該第一多路復(fù)用器選擇接收從該第一復(fù)數(shù)加法器傳來的該第一復(fù)數(shù)總和,而該第二多路復(fù)用器選擇自該第一復(fù)數(shù)減法器接收該第一復(fù)數(shù)差值。
5.如權(quán)利要求4所述的處理器,其中L1=N/(2×8p),且p是指一三疊單元的序數(shù)。
6.如權(quán)利要求1所述的處理器,其中該蝶型II單元包含一第二先進(jìn)先出緩沖器,其可存儲至少一復(fù)數(shù)數(shù)據(jù);一第一π/2復(fù)數(shù)旋轉(zhuǎn)器,其是連接于該蝶型II單元的輸入端口,以產(chǎn)生一相對應(yīng)的第一π/2旋轉(zhuǎn)復(fù)數(shù)輸出值;一第三多路復(fù)用器,其是根據(jù)一第三控制線選擇從該蝶型II單元的輸入端口接收一輸入數(shù)據(jù)或從該第一π/2復(fù)數(shù)旋轉(zhuǎn)器接收該第一π/2旋轉(zhuǎn)復(fù)數(shù)輸出值來作為其輸出數(shù)據(jù);一第二復(fù)數(shù)加法器,其是自該第三多路復(fù)用器與該第二先進(jìn)先出緩沖器接收輸出數(shù)據(jù)以產(chǎn)生一第二復(fù)數(shù)總和;一第二復(fù)數(shù)減法器,其是自該第二先進(jìn)先出緩沖器及該第三多路復(fù)用器接收輸入數(shù)據(jù)以產(chǎn)生一第二復(fù)數(shù)差值;一第四多路復(fù)用器,其是作為該蝶型II單元的輸出端口,該第四多路復(fù)用器根據(jù)一第四控制線選擇自該第二先進(jìn)先出緩沖器接收一數(shù)據(jù)或自該第二復(fù)數(shù)加法器接收該第二復(fù)數(shù)總和;以及一第五多路復(fù)用器,用于提供輸入數(shù)據(jù)至該第二先進(jìn)先出緩沖器,該第五多路復(fù)用器根據(jù)一第五控制線選擇接收自該第三多路復(fù)用器傳來的輸出數(shù)據(jù)或自該第二復(fù)數(shù)減法器接收該第二復(fù)數(shù)差值;用器傳來的輸出數(shù)據(jù)或自該第二復(fù)數(shù)減法器接收該第二復(fù)數(shù)差值;其中,該第三、第四及第五控制線是由該控制單元依據(jù)存儲在該流水線步數(shù)暫存器的數(shù)據(jù)加以驅(qū)動。
7.如權(quán)利要求6所述的處理器,其中該第二先進(jìn)先出緩沖器存儲了L2復(fù)數(shù)數(shù)據(jù),而在該流水線步數(shù)暫存器決定一第一L2迭代時,該控制單元會控制該第四與第五控制線,以使該第四多路復(fù)用器選擇接收自該第二先進(jìn)先出緩沖器傳來的輸出數(shù)據(jù),以及使該第五多路復(fù)用器選擇自該第三多路復(fù)用器接收一輸出數(shù)據(jù);當(dāng)該流水線步數(shù)暫存器緊接地決定一第二L2迭代時,該控制單元會控制該第四與第五控制線,以使該第四多路復(fù)用器選擇接收從該第二復(fù)數(shù)加法器傳來的該第二復(fù)數(shù)總和,而該第五多路復(fù)用器會選擇自該第二復(fù)數(shù)減法器接收該第二復(fù)數(shù)差值。
8.如權(quán)利要求7所述的處理器,其中L2=N/(4×8p),且p指一三疊單元的序數(shù)。
9.如權(quán)利要求7所述的處理器,其中該控制單元系根據(jù)存儲在該流水線步數(shù)暫存器的數(shù)據(jù)來驅(qū)動該第三控制線,以產(chǎn)生與一轉(zhuǎn)換處理相一致的系數(shù)。
10.如權(quán)利要求1所述的處理器,其中該蝶型III單元包含一第三先進(jìn)先出緩沖器,其可存儲至少一復(fù)數(shù)數(shù)據(jù);一第二π/2復(fù)數(shù)旋轉(zhuǎn)器,其是與該蝶型III單元的輸入端口連接,以產(chǎn)生一相對應(yīng)的第二π/2旋轉(zhuǎn)復(fù)數(shù)輸出值;一第六多路復(fù)用器,其是根據(jù)一第六控制線選擇自該蝶型III單元的輸入端口接收一輸入數(shù)據(jù)或自該第二π/2復(fù)數(shù)旋轉(zhuǎn)器接收該第二π/2旋轉(zhuǎn)復(fù)數(shù)輸出值來作為其輸出數(shù)據(jù);一π/4復(fù)數(shù)旋轉(zhuǎn)器,其是接收該第六多路復(fù)用器所傳來的輸出數(shù)據(jù),以產(chǎn)生一相對應(yīng)的π/4旋轉(zhuǎn)復(fù)數(shù)輸出值;一第七多路復(fù)用器,其是根據(jù)一第七控制線選擇自該第六多路復(fù)用器接收一輸出數(shù)據(jù)或自該π/4復(fù)數(shù)旋轉(zhuǎn)器接收該π/4旋轉(zhuǎn)復(fù)數(shù)輸出值來作為其輸出數(shù)據(jù);一第三復(fù)數(shù)加法器,其是接收自該第三先進(jìn)先出緩沖器與該第七多路復(fù)用器傳來的輸出數(shù)據(jù),以產(chǎn)生一第三復(fù)數(shù)總和;一第三復(fù)數(shù)減法器,其是接收自該第三先進(jìn)先出緩沖器與該第七多路復(fù)用器傳來的輸出數(shù)據(jù),以產(chǎn)生一第三復(fù)數(shù)差值;一第八多路復(fù)用器,其是作為該蝶型III單元的輸出端口,該第八多路復(fù)用器系根據(jù)一第八控制線選擇自該第三先進(jìn)先出緩沖器接收一數(shù)據(jù)或自該第三復(fù)數(shù)加法器接收該第三復(fù)數(shù)總和;以及一第九多路復(fù)用器,用于提供輸入數(shù)據(jù)至該第三先進(jìn)先出緩沖器,該第九多路復(fù)用器根據(jù)一第九控制線選擇自該第七多路復(fù)用器接收一數(shù)據(jù)或自該第三復(fù)數(shù)減法器接收該第三復(fù)數(shù)差值;其中,該第六、第七、第八及第九控制線是由該控制單元根據(jù)存儲在該流水線步數(shù)暫存器的數(shù)據(jù)加以驅(qū)動。
11.如權(quán)利要求10所述的處理器,其中該第三先進(jìn)先出緩沖器存儲了L3復(fù)數(shù)數(shù)據(jù),而在該流水線步數(shù)暫存器決定一第一L3迭代時,該控制單元會控制該第八與第九控制線,以使該第八多路復(fù)用器選擇接收自該第三先進(jìn)先出緩沖器傳來的輸出數(shù)據(jù),以及使該第九多路復(fù)用器選擇自該第七多路復(fù)用器接收輸出數(shù)據(jù);當(dāng)該流水線步數(shù)暫存器緊接地決定一第二L3迭代時,該控制單元會控制該第八與第九控制線,以使該第八多路復(fù)用器選擇自該第三復(fù)數(shù)加法器接收該第三復(fù)數(shù)總和,而該第九多路復(fù)用器則選擇自該第三復(fù)數(shù)減法器接收該第三復(fù)數(shù)差值。
12.如權(quán)利要求11所述的處理器,其中L3=N/(8×8p),且p指一三疊單元的序數(shù)。
13.如權(quán)利要求11所述的處理器,其中該控制單元系根據(jù)存儲在該流水線步數(shù)暫存器的數(shù)據(jù)來驅(qū)動該第六與第七控制線,以產(chǎn)生與一轉(zhuǎn)換處理相一致的系數(shù)。
14.如權(quán)利要求10所述的處理器,其中該π/4復(fù)數(shù)旋轉(zhuǎn)器包含一第三π/2復(fù)數(shù)旋轉(zhuǎn)器,其是自該π/4復(fù)數(shù)旋轉(zhuǎn)器的輸入端口接收一復(fù)數(shù)數(shù)據(jù),并產(chǎn)生一相對應(yīng)的第三π/2旋轉(zhuǎn)復(fù)數(shù)輸出值;一第四復(fù)數(shù)加法器,其是自該π/4復(fù)數(shù)旋轉(zhuǎn)器的輸入端口接收一復(fù)數(shù)數(shù)據(jù),并自該第三π/2復(fù)數(shù)旋轉(zhuǎn)器接收該第三π/2旋轉(zhuǎn)復(fù)數(shù)輸出值,以產(chǎn)生一相對應(yīng)的第四復(fù)數(shù)總和;五個右位移器(right shifter),其分別將該第四復(fù)數(shù)總和右移1、3、4、6及8位,以產(chǎn)生相對應(yīng)的位移復(fù)數(shù)輸出值;以及一第五復(fù)數(shù)加法器,用于總和該等位移復(fù)數(shù)輸出值,以產(chǎn)生該相對應(yīng)的π/4旋轉(zhuǎn)復(fù)數(shù)輸出值。
15.如權(quán)利要求1所述的處理器,其中N=2n,n為3的倍數(shù)加2,且該輸出部分還包含一第二蝶型II單元,串聯(lián)于該第二蝶型I單元。
16.如權(quán)利要求1所述的處理器,其中N=2n,n為3的倍數(shù),且該輸出部分還包含一第二蝶型II單元串聯(lián)于該第二蝶型I單元,以及一第二蝶型III單元串聯(lián)于該第二蝶型II單元。
17.如權(quán)利要求1所述的處理器,其中該轉(zhuǎn)換處理器系為一N點分時化簡快速傅里葉逆變換處理器。
18.如權(quán)利要求1所述的處理器,其中該處理器還包含一重排序電路,其包含一緩沖裝置,用于對該流水線步數(shù)暫存器指示的每一次流水線周期進(jìn)行一讀出操作與一寫入操作;一定址裝置,用于對該緩沖裝置提供一讀出地址與一寫入地址;一地址延遲裝置,其在該流水線步數(shù)暫存器指示的每一次流水線周期中控制該定址裝置,使該定址裝置延遲于該緩沖裝置的一存儲地址中進(jìn)行該讀出與該寫入操作;以及一地址產(chǎn)生裝置,其根據(jù)該流水線步數(shù)暫存器而產(chǎn)生一第一地址,并將該第一地址提供給該地址延遲裝置。
19.如權(quán)利要求18所述的處理器,其中該緩沖裝置為一雙端口隨機(jī)存取存儲器。
20.如權(quán)利要求19所述的處理器,其中該定址裝置包含該雙端口隨機(jī)存取存儲器的一讀出地址端口與一寫入地址端口。
21.如權(quán)利要求20所述的處理器,其中該地址延遲裝置包含一存儲鎖存器連接于該讀出地址端口與該寫入地址端口之間,該存儲鎖存器從該讀出地址端口獲得一讀出地址,并在下一流水線周期中將該讀出地址傳給該寫入地址端口。
22.如權(quán)利要求18所述的處理器,其中該重排序電路還包含一周期位與一周期位跳換裝置,該周期位跳換裝置會于該流水線步數(shù)暫存器決定的每N次流水線周期跳換該周期位,而該地址產(chǎn)生裝置會根據(jù)該周期位產(chǎn)生該第一地址。
23.如權(quán)利要求22所述的處理器,其中該地址產(chǎn)生裝置包含一地址對照表,其可以對每一輸入訊號提供排序解碼數(shù)據(jù)。
24.如權(quán)利要求23所述的處理器,其中該排序解碼數(shù)據(jù)包含N數(shù)據(jù)輸入地址I0至IN-1,而對于一個在時間間隔T1r產(chǎn)生的轉(zhuǎn)換數(shù)據(jù)點X1q而言,數(shù)據(jù)輸入地址Ir的存儲值為q。
25.如權(quán)利要求24所述的處理器,其中該地址產(chǎn)生裝置包含一用來自該流水線步數(shù)暫存器獲得一索引指令的裝置,以從該地址對照表產(chǎn)生該第一地址,并于該周期位在一第一狀態(tài)時提供該第一地址給該地址延遲裝置;以及一用來直接從該流水線步數(shù)暫存器獲得數(shù)據(jù)以產(chǎn)生一第二地址的裝置,且該裝置是于該周期位在一第二狀態(tài)時提供該第二地址給該地址延遲裝置。
26.如權(quán)利要求22所述的處理器,其中該地址產(chǎn)生裝置還包含有一用來對一個從該流水線步數(shù)暫存器獲得的數(shù)據(jù)做位反射處理而產(chǎn)生該第一地址的裝置,且該裝置系于該周期位在一第一狀態(tài)時提供該第一地址給該地址延遲裝置;以及一用來直接從該流水線步數(shù)暫存器獲得數(shù)據(jù)而產(chǎn)生一第二地址的裝置,且該裝置是于該周期位在一第二狀態(tài)時提供該第二地址給該地址延遲裝置。
27.如權(quán)利要求18所述的處理器,其中該緩沖裝置包含多個槽溝,且該等槽溝的數(shù)目不大于N,用于存儲N數(shù)據(jù)數(shù)值以進(jìn)行重排序處理。
28.如權(quán)利要求18所述的處理器,其中該重排序電路自該輸出部分接收經(jīng)轉(zhuǎn)換的該等復(fù)數(shù)數(shù)據(jù),并使該等復(fù)數(shù)數(shù)據(jù)重新排序,以產(chǎn)生重排序的轉(zhuǎn)換復(fù)數(shù)作為其輸出數(shù)據(jù)。
29.如權(quán)利要求18所述的處理器,其中該重排序電路接收未經(jīng)轉(zhuǎn)換的多個復(fù)數(shù)數(shù)據(jù),并使該復(fù)數(shù)數(shù)據(jù)重新排序,以產(chǎn)生重排序的未轉(zhuǎn)換復(fù)數(shù)輸出至一蝶型I單元。
30.一種電路,其包含一處理器,用于在一時間間隔T1中接收N個數(shù)據(jù)點X0至XN-1并產(chǎn)生N個轉(zhuǎn)換數(shù)據(jù)點X10至X1N-1,其中該時間間隔T1包含T10至T1N-1,X1是對應(yīng)于X1i,且每一個在T1k產(chǎn)生的X1j亦會對應(yīng)地在T1j產(chǎn)生一X1k,其中0≤j≤N-1且0≤k≤N-1;一緩沖裝置,用于在一支持N周期的流水線步數(shù)暫存器指示下,對每一流水線周期進(jìn)行一讀出操作與一寫入操作,該緩沖裝置是在每一流水線周期自該處理器接收一轉(zhuǎn)換數(shù)據(jù)點,并將N轉(zhuǎn)換數(shù)據(jù)點存儲在其中;一定址裝置,用于對該緩沖裝置提供一讀出地址與一寫入地址;一地址延遲裝置,其在該流水線步數(shù)暫存器指示的每一次流水線周期中控制該定址裝置,使該定址裝置延遲于該緩沖裝置的一存儲地址中進(jìn)行該讀出與該寫入操作;以及一地址產(chǎn)生裝置,其根據(jù)該流水線步數(shù)暫存器而產(chǎn)生一第一地址,并將該第一地址提供給該地址延遲裝置。
31.如權(quán)利要求30所述的電路,其中該緩沖裝置系為一雙端口隨機(jī)存取存儲器。
32.如權(quán)利要求31所述的電路,其中該定址裝置包含該雙端口隨機(jī)存取存儲器的一讀出地址端口與一寫入地址端口。
33.如權(quán)利要求32所述的電路,其中該地址延遲裝置包含一存儲鎖存器連接于該讀出地址端口與該寫入地址端口之間,該存儲鎖存器系從該讀出地址端口獲得一讀出地址,并在下一流水線周期將該讀出地址傳給該寫入地址端口。
34.如權(quán)利要求30所述的電路,其還包含一周期位與一周期位跳換裝置,該周期位跳換裝置在該流水線步數(shù)暫存器決定的每N次流水線周期跳換該周期位,而該地址產(chǎn)生裝置根據(jù)該周期位產(chǎn)生該第一地址。
35.如權(quán)利要求34所述的電路,其中該地址產(chǎn)生裝置包含一地址對照表,其可以對每一輸入訊號提供排序解碼數(shù)據(jù)。
36.如權(quán)利要求35所述的電路,其中該排序解碼數(shù)據(jù)包含N數(shù)據(jù)輸入地址I0至IN-1,而對于一個在時間間隔T1r產(chǎn)生的轉(zhuǎn)換數(shù)據(jù)點X1q而言,數(shù)據(jù)輸入地址Ir的存儲值為q。
37.如權(quán)利要求36所述的電路,其中該地址產(chǎn)生裝置還包含有一用來自該流水線步數(shù)暫存器獲得一索引指令的裝置,以從該地址對照表產(chǎn)生該第一地址,并于該周期位在一第一狀態(tài)時提供該第一地址給該地址延遲裝置;以及一用來直接從該流水線步數(shù)暫存器獲得數(shù)據(jù)以產(chǎn)生一第二地址的裝置,且該裝置是于該周期位在一第二狀態(tài)時提供該第二地址給該地址延遲裝置。
38.如權(quán)利要求34所述的電路,其中該地址產(chǎn)生裝置還包含有一用來對一個從該流水線步數(shù)暫存器獲得的數(shù)據(jù)做位反射處理而產(chǎn)生該第一地址的裝置,且該裝置是于該周期位在一第一狀態(tài)時提供該第一地址給該地址延遲裝置;以及一用來直接從該流水線步數(shù)暫存器獲得數(shù)據(jù)而產(chǎn)生一第二地址的裝置,且該裝置是于該周期位在一第二狀態(tài)時提供該第二地址給該地址延遲裝置。
39.如權(quán)利要求34所述的電路,其中該周期位跳換裝置在該流水線步數(shù)暫存器獲得一數(shù)值為N-1時,跳換該周期位。
40.如權(quán)利要求30所述的電路,其中該緩沖裝置包含多個槽溝,且該槽溝的數(shù)目不大于N,用于存儲N數(shù)據(jù)數(shù)值,以重排序該N數(shù)據(jù)數(shù)值。
41.一種電路,其包含一處理器,用于在一時間間隔T1中接收N個數(shù)據(jù)點X10至X1N-1并產(chǎn)生N個轉(zhuǎn)換數(shù)據(jù)點X0至Xn-1,其中該時間間隔T1包含T10至T1N-1,XI是對應(yīng)于X1i,且每一個在T1k產(chǎn)生的X1j亦會對應(yīng)地在T1j產(chǎn)生一X1k,其中0≤j≤N-1且0≤k≤N-1;一緩沖裝置,用于在一支持N周期的流水線步數(shù)暫存器指示下,對每一流水線周期進(jìn)行一讀出操作與一寫入操作,該緩沖裝置具有一輸入端口,可在一時間間隔T2中接收數(shù)據(jù)點X10至X1N-1,以及一輸出端口,可在該時間間隔T1中提供數(shù)據(jù)點X10至X1N-1給該處理器,該緩沖裝置具有存儲N數(shù)據(jù)點的功能;一定址裝置,用于對該緩沖裝置提供一讀出地址與一寫入地址;一地址延遲裝置,其在該流水線步數(shù)暫存器指示的每一次流水線周期中控制該定址裝置,使該定址裝置延遲于該緩沖裝置的一存儲地址中進(jìn)行該讀出與該寫入操作;以及一地址產(chǎn)生裝置,其是根據(jù)該流水線步數(shù)暫存器而產(chǎn)生一第一地址,并將該第一地址提供給該地址延遲裝置。
42.如權(quán)利要求41所述的電路,其中該緩沖裝置為一雙端口隨機(jī)存取存儲器。
43.如權(quán)利要求42所述的電路,其中該定址裝置包含該雙端口隨機(jī)存取存儲器的一讀出地址端口與一寫入地址端口。
44.如權(quán)利要求43所述的電路,其中該地址延遲裝置包含一存儲鎖存器連接于該讀出地址端口與該寫入地址端口之間,該存儲鎖存器是從該讀出地址端口獲得一讀出地址,并在下一流水線周期中將該讀出地址傳給該寫入地址端口。
45.如權(quán)利要求41所述的電路,該電路還包含一周期位與一周期位跳換裝置,該周期位跳換裝置于該流水線步數(shù)暫存器決定的每N次流水線周期跳換該周期位,而該地址產(chǎn)生裝置會根據(jù)該周期位產(chǎn)生該第一地址。
46.如權(quán)利要求45所述的電路,其中該地址產(chǎn)生裝置包含一地址對照表,其可以對每一輸入訊號提供排序解碼數(shù)據(jù)。
47.如權(quán)利要求46所述的電路,其中該排序解碼數(shù)據(jù)包含N數(shù)據(jù)輸入地址I0至IN-1,而對于在時間間隔T1r輸入該處理器的數(shù)據(jù)點X1q而言,數(shù)據(jù)輸入地址Ir的存儲值為q。
48.如權(quán)利要求47所述的電路,其中該地址產(chǎn)生裝置還包含有一用來自該流水線步數(shù)暫存器獲得一索引指令的裝置,以從該地址對照表產(chǎn)生該第一地址,并于該周期位在一第一狀態(tài)時提供該第一地址給該地址延遲裝置;以及一用來直接從該流水線步數(shù)暫存器獲得數(shù)據(jù)以產(chǎn)生一第二地址的裝置,且該裝置于該周期位在一第二狀態(tài)時提供該第二地址給該地址延遲裝置。
49.如權(quán)利要求45所述的電路,其中該地址產(chǎn)生裝置還包含有一用來對一個從該流水線步數(shù)暫存器獲得的數(shù)據(jù)進(jìn)行位反射處理而產(chǎn)生該第一地址的裝置,且該裝置于該周期位在一第一狀態(tài)時提供該第一地址給該地址延遲裝置;以及一用來直接從該流水線步數(shù)暫存器獲得數(shù)據(jù)而產(chǎn)生一第二地址的裝置,且該裝置于該周期位在一第二狀態(tài)時提供該第二地址給該地址延遲裝置。
50.如權(quán)利要求45所述的電路,其中該周期位跳換裝置在該流水線步數(shù)暫存器獲得一數(shù)值為N-1時,跳換該周期位。
51.如權(quán)利要求41所述的電路,其中該緩沖裝置包含多個槽溝,且該槽溝的數(shù)目不大于N,用于存儲N數(shù)據(jù)數(shù)值,以重排序該N數(shù)據(jù)數(shù)值。
全文摘要
本發(fā)明提供了一即時N點流水線轉(zhuǎn)換處理器,其包含一至多個蝶型三疊單元、一至多個復(fù)數(shù)乘法器及一輸出部分。該蝶型三疊單元包含一蝶型I單元、一蝶型II單元及一蝶型III單元。蝶型I單元的輸入端口為三疊單元的輸入端口;蝶型III單元的輸出端口為三疊單元的輸出端口。復(fù)數(shù)乘法器從其前端的三疊單元接收一復(fù)數(shù),乘上由一控制單元傳來的系數(shù)產(chǎn)生一復(fù)數(shù)乘積。輸出部分包含至少一第二蝶型I單元接收復(fù)數(shù)乘積,再輸出轉(zhuǎn)換產(chǎn)生的復(fù)數(shù)??刂茊卧峁┫禂?shù)給復(fù)數(shù)乘法器,并根據(jù)其內(nèi)部的數(shù)據(jù)控制各蝶型單元。本發(fā)明亦提供一重排序電路使轉(zhuǎn)換產(chǎn)生的復(fù)數(shù)與輸入的復(fù)數(shù)的順序相吻合。
文檔編號G06F15/00GK1486001SQ0310383
公開日2004年3月31日 申請日期2003年2月12日 優(yōu)先權(quán)日2002年9月23日
發(fā)明者葉有民 申請人:揚(yáng)智科技股份有限公司