專利名稱:集成電路器件中的離散傅里葉變換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在集成電路器件中執(zhí)行離散傅里葉變換運(yùn)算,并且具體地在諸如可編程邏輯器件(PLD)之類的可編程集成電路器件中執(zhí)行離散傅里葉變換運(yùn)算。
背景技術(shù):
離散傅里葉變換(DFT)是可以在信號(hào)處理應(yīng)用中用來(lái)分析采樣信號(hào)中包含的頻率、求解偏微分方程并且執(zhí)行其它運(yùn)算如卷積或者大整數(shù)相乘的傅里葉變換類型。DFT可以用來(lái)構(gòu)造快速傅里葉變換(FFT)。此外,更小DFT可以用來(lái)構(gòu)造更大DFT。這使DFT對(duì)于在集成電路器件如可編程邏輯器件(PLD)中的專用數(shù)字信號(hào)處理(DSP)電路塊中計(jì)算FFT而言特別有用,因?yàn)榭梢栽趥€(gè)別DSP塊中計(jì)算個(gè)別更小DFT。
發(fā)明內(nèi)容
本發(fā)明涉及通過(guò)用定點(diǎn)運(yùn)算替換浮點(diǎn)乘法運(yùn)算來(lái)減少為了執(zhí)行DFT運(yùn)算而需要的資源。這之所以可以完成是因?yàn)镈FT計(jì)算中的旋轉(zhuǎn)因子數(shù)目相對(duì)小,并且它們?cè)诒舜说男?shù)目的位內(nèi)。因此,可以使用定點(diǎn)乘法器而不是使用浮點(diǎn)乘法器計(jì)算DFT。通過(guò)存儲(chǔ)每個(gè)旋轉(zhuǎn)因子的多個(gè)副本而每個(gè)副本被移位不同量來(lái)獲得所需精度。待相乘的值的指數(shù)之間的差值用作旋轉(zhuǎn)因子儲(chǔ)存器中的索引以取回適當(dāng)移位的旋轉(zhuǎn)因子。因此,根據(jù)本發(fā)明,提供一種用于執(zhí)行離散傅里葉變換的電路。該電路包括浮點(diǎn)加法級(jí),用于將離散傅里葉變換運(yùn)算的輸入值的尾數(shù)(mantissa)相加;以及定點(diǎn)級(jí),用于將浮點(diǎn)加法級(jí)的輸出乘以旋轉(zhuǎn)因子。定點(diǎn)級(jí)包括存儲(chǔ)器,用于存儲(chǔ)多個(gè)旋轉(zhuǎn)因子集合,那些集合中的每個(gè)集合包括被移位不同量的相應(yīng)旋轉(zhuǎn)因子的副本;以及電路,用于確定在浮點(diǎn)級(jí)的輸出的指數(shù)之間的差值并且用于使用該差值作為索引以從每個(gè)集合中的該相應(yīng)旋轉(zhuǎn)因子的那些副本之中選擇。也提供一種在可編程器件上配置這樣的電路的方法、一種這樣可配置的可編程器件和一種編碼有用于執(zhí)行該方法的軟件的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì)。
在考慮與以下附圖結(jié)合進(jìn)行的下文具體描述后,將清楚本發(fā)明的更多特征、其性質(zhì)和各種優(yōu)點(diǎn),在附圖中,相似標(biāo)號(hào)全篇指代相似部分,并且在附圖中圖I示出了基數(shù)為4的離散傅里葉變換的邏輯結(jié)構(gòu);圖2示出了圖I的邏輯結(jié)構(gòu)的已知改進(jìn);圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的基數(shù)為4的離散傅里葉變換的邏輯結(jié)構(gòu);圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的圖3的邏輯結(jié)構(gòu)的一個(gè)實(shí)現(xiàn)方式的簡(jiǎn)化框圖;圖5是與圖4的實(shí)現(xiàn)方式結(jié)合的地址偏移計(jì)算的一個(gè)實(shí)現(xiàn)方式的簡(jiǎn)化框圖;圖6示出了根據(jù)本發(fā)明的另一實(shí)施例的基數(shù)為4的離散傅里葉變換的邏輯結(jié)構(gòu);圖7是用于執(zhí)行根據(jù)本發(fā)明的方法的編碼有機(jī)器可執(zhí)行指令集的磁數(shù)據(jù)存儲(chǔ)介質(zhì)的截面圖;圖8是用于執(zhí)行根據(jù)本發(fā)明的方法的編碼有機(jī)器可執(zhí)行指令集的光學(xué)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)的截面圖;并且圖9是例示性系統(tǒng)的簡(jiǎn)化框圖,該系統(tǒng)運(yùn)用并入本發(fā)明的可編程邏輯器件。
具體實(shí)施例方式基數(shù)為4的DFT具有四個(gè)復(fù)輸入(Rl,II)、(R2,12)、(R3,13)和(R4,14)。如圖I中可見,在第一個(gè)倉(cāng)(bin) ({1,1,1,1})的計(jì)算100中,使用加法器101、102、103將實(shí)部全部相加,并且使用加法器111、112、113將所有虛部全部相加。DFT的這一部分僅需要加法器。計(jì)算實(shí)輸出104為實(shí)求和103與實(shí)旋轉(zhuǎn)因子107的乘積106與虛求和113與虛旋轉(zhuǎn)因子117的乘積116之間的差值105。計(jì)算虛輸出114為實(shí)求和103與虛旋轉(zhuǎn)因子117的乘 積126與虛求和113與實(shí)旋轉(zhuǎn)因子107的乘積136的求和115。除了乘法器106、116、126、136之外,可以使用加法器來(lái)實(shí)現(xiàn)運(yùn)算。通過(guò)將{I, -j, -I, j}、{1,-1,1, -1}和{I, j, -I, -j}應(yīng)用于輸入值來(lái)計(jì)算基數(shù)為4的DFT的附加倉(cāng)。在浮點(diǎn)運(yùn)算中,容易實(shí)施(例如,通過(guò)反轉(zhuǎn)符號(hào)位)取非(negation)。類似地,通過(guò)交換數(shù)的實(shí)分量和虛分量來(lái)實(shí)現(xiàn)與j相乘,這可以使用乘法器以及異或函數(shù)來(lái)實(shí)施。因此,可以在添加這些附加函數(shù)(未示出)時(shí)用與圖I相似的結(jié)構(gòu)實(shí)現(xiàn)附加倉(cāng)。在基數(shù)為16的DFT中,將需要兩個(gè)基數(shù)為4的級(jí)。在第一級(jí)的輸出上的復(fù)乘法器將具有應(yīng)用的有限數(shù)目的復(fù)旋轉(zhuǎn)因子——WpWpWyWyWpWpWg,其中Wx = e_2〃x/16。圖I中所示算符可以是根據(jù)用于浮點(diǎn)計(jì)算的IEEE754-1985標(biāo)準(zhǔn)的浮點(diǎn)算符。圖2示出了如何可以如在于2007年I月22日提交的、共同未決的、共同轉(zhuǎn)讓的第11/625,655號(hào)美國(guó)專利申請(qǐng)中描述的那樣通過(guò)使用浮點(diǎn)算符來(lái)使用更少資源計(jì)算圖I的計(jì)算,在該專利申請(qǐng)中,大部分時(shí)間以非規(guī)格化形式維持浮點(diǎn)數(shù),(a)為了根據(jù)前述IEEE754-1985標(biāo)準(zhǔn)的輸出或者(b)當(dāng)精度損失可能出現(xiàn)時(shí)才為規(guī)格化的。因此,加法201、202、203、211、212、213是浮點(diǎn)算符,但是在那些運(yùn)算期間值未被規(guī)格化。然而,在乘法級(jí)205之前,在206、216處規(guī)格化所得的求和。在乘法級(jí)205內(nèi),乘法器215、225、235、245、加法器255和減法器265是浮點(diǎn)算符,但是在那些運(yùn)算期間值未被規(guī)格化。然而,在207、217處規(guī)格化結(jié)果以用于在204、214處的輸出。這與圖I的實(shí)現(xiàn)方式相比可以導(dǎo)致資源使用減少約50%。可以觀察到,在規(guī)格化塊206、216之后,實(shí)尾數(shù)和虛尾數(shù)二者在因子二或者彼此內(nèi),但是它們的指數(shù)可以不同。在下一 DFT塊之前用于復(fù)乘法的旋轉(zhuǎn)因子也將可能具有小數(shù)目的值。例如,對(duì)于具有兩個(gè)基數(shù)為4的DFT級(jí)的、基數(shù)為16的DFT而言,組成實(shí)旋轉(zhuǎn)因子和虛旋轉(zhuǎn)因子的值的十進(jìn)制量值是1、0. 9239,0. 7071和O. 3827,它們?cè)诒磉_(dá)為二進(jìn)制數(shù)時(shí)都在彼此的兩位內(nèi)。因而,如果比浮點(diǎn)尾數(shù)的精度更大一些的乘法器可用,則可以主要使用定點(diǎn)算術(shù)來(lái)實(shí)施復(fù)乘法從而節(jié)省附加資源。在根據(jù)本發(fā)明的一個(gè)實(shí)施例中,常用于單精度浮點(diǎn)乘法的36位乘法器與用于存儲(chǔ)多個(gè)旋轉(zhuǎn)因子的存儲(chǔ)器一起可用。根據(jù)本發(fā)明的這一實(shí)施例,可以通過(guò)存儲(chǔ)每個(gè)旋轉(zhuǎn)因子為被移位不同量的多個(gè)定點(diǎn)副本來(lái)將用于DFT計(jì)算的旋轉(zhuǎn)因子轉(zhuǎn)換成定點(diǎn)數(shù)。DFT輸入向計(jì)算僅保持浮點(diǎn)輸入。在輸入與旋轉(zhuǎn)因子之間的指數(shù)差值被確定并且用作索引以從旋轉(zhuǎn)因子存儲(chǔ)器查找適當(dāng)移位的旋轉(zhuǎn)因子而不損失任何精度。在圖3中示出了這一邏輯構(gòu)造300。如在圖2的情況下那樣,加法201、202、203、211、212、213是浮點(diǎn)算符,但是在那些運(yùn)算期間值未被規(guī)格化。同樣,在乘法級(jí)305之前,在206,216處規(guī)格化所得的求和。在乘法級(jí)305中,乘法器315、325、335、345、加法器355和減法器365是定點(diǎn)算符。乘法器315、325、335、345的輸出讓它們的相對(duì)值相互對(duì)準(zhǔn),從而它們可以由加法器355和減法器365相加或者相減??梢酝ㄟ^(guò)對(duì)旋轉(zhuǎn)因子移位來(lái)實(shí)現(xiàn)乘法器輸出的對(duì)準(zhǔn)。每個(gè)旋轉(zhuǎn)因子的移位量將是乘法器輸入的指數(shù)之間的差值。在一個(gè)實(shí)施例中,對(duì)于每個(gè)乘法器對(duì)(即生成實(shí)輸出的對(duì)和生成虛輸出的對(duì))而言,一個(gè)旋轉(zhuǎn)因子將不被移位而另一旋轉(zhuǎn)因子將被移位。雖然這在邏輯上可以由圖3中所示的移位器代表,但是如下文討論的那樣在圖4中示出了一個(gè)物理實(shí)現(xiàn)方式。
較大輸出值將是與接近一(即在一的兩位量值內(nèi))的旋轉(zhuǎn)因子相乘的規(guī)格化數(shù)據(jù)值。因此,將有在輸出上需要的可能的規(guī)格化,但是在如上文討論的那樣分解成基數(shù)為4的子段(subsection)的、基數(shù)為16的DFT的情況下,將有最多為3位的規(guī)格化??梢栽谝?guī)格化206、216之后根據(jù)可以按照輸出尾數(shù)規(guī)格化值調(diào)整的最大指數(shù)計(jì)算輸出指數(shù)308。在任何調(diào)整之前的指數(shù)值用作索引以在309處選擇適當(dāng)移位的旋轉(zhuǎn)因子。邏輯構(gòu)造300可能未節(jié)省大量邏輯,但是它可以減少延時(shí)。然而,在圖4中示出了邏輯構(gòu)造300的一個(gè)物理實(shí)施例400。非規(guī)格化的浮點(diǎn)加法器201、202、203、211、212、213、規(guī)格化模塊206、216和定點(diǎn)乘法器315、325、335、345、加法器355和減法器365的布置與在邏輯構(gòu)造300中相同。為實(shí)旋轉(zhuǎn)因子提供存儲(chǔ)器401,而為虛旋轉(zhuǎn)因子提供存儲(chǔ)器402。由于用于多數(shù)大型DFT構(gòu)造的旋轉(zhuǎn)因子數(shù)目有限——例如,用于基數(shù)為16的DFT中的第一級(jí)的10個(gè)旋轉(zhuǎn)因子(其中的4個(gè)可以唯一)和用于基數(shù)為64的DFT的第一級(jí)的51個(gè)旋轉(zhuǎn)因子(其中的約35個(gè)可以唯一),所以移位都可以被預(yù)先計(jì)算并且存儲(chǔ)于存儲(chǔ)器中。例如,在集成電路器件(諸如來(lái)自可從Altera Corporation獲得的STRATIX 系列可編程邏輯器件的可編程邏輯器件)中,在器件上提供充分?jǐn)?shù)目的嵌入式存儲(chǔ)器模塊以服務(wù)于這一功能。存儲(chǔ)器401、402中的每個(gè)存儲(chǔ)器可以根據(jù)需要包括多個(gè)這樣的嵌入式存儲(chǔ)器模塊。然而,為了簡(jiǎn)化圖示,在圖4中將存儲(chǔ)器401、402中的每個(gè)存儲(chǔ)器示出為單個(gè)存儲(chǔ)器模塊。在所示例子中,存儲(chǔ)器401、402中的每個(gè)存儲(chǔ)器是雙端口存儲(chǔ)器。因而,每個(gè)存儲(chǔ)器可以由相應(yīng)成對(duì)地址411、421和412、422尋址。每個(gè)地址對(duì)的成員可以視為單個(gè)地址的較高部分和較低部分,其中較低地址部分411、412標(biāo)識(shí)若干旋轉(zhuǎn)因子中的哪個(gè)旋轉(zhuǎn)因子正被訪問,而較高地址部分421、422標(biāo)識(shí)該旋轉(zhuǎn)因子的哪個(gè)移位版本正被訪問。執(zhí)行地址的生成如下實(shí)輸出具有兩個(gè)乘法——實(shí)數(shù)據(jù)X實(shí)旋轉(zhuǎn)和虛數(shù)據(jù)X虛旋轉(zhuǎn)。對(duì)于這一情況,地址I將用來(lái)訪問實(shí)旋轉(zhuǎn)和虛旋轉(zhuǎn)。為了計(jì)算地址I的實(shí)偏移(與實(shí)旋轉(zhuǎn)存儲(chǔ)器的偏移),從虛數(shù)據(jù)的指數(shù)減去實(shí)數(shù)據(jù)的指數(shù)。如果該數(shù)為零或者正(虛指數(shù)>實(shí)指數(shù)),則這是偏移值(并且也是移位值)。如果該數(shù)為負(fù)(實(shí)指數(shù)>虛指數(shù)),則該數(shù)歸零。
為了計(jì)算地址I的虛偏移(與虛旋轉(zhuǎn)存儲(chǔ)器的偏移),從實(shí)數(shù)據(jù)的指數(shù)減去虛數(shù)據(jù)的指數(shù)。如果該數(shù)為零或者正(實(shí)指數(shù)>虛指數(shù)),則這是偏移值(并且也是移位值)。如果該數(shù)為負(fù)(虛指數(shù)>實(shí)指數(shù)),則該數(shù)歸零。虛輸出具有兩個(gè)乘法——實(shí)數(shù)據(jù)X虛旋轉(zhuǎn)和虛數(shù)據(jù)X實(shí)旋轉(zhuǎn)。對(duì)于這一情況,地址2將用來(lái)訪問實(shí)旋轉(zhuǎn)和虛旋轉(zhuǎn)。為了計(jì)算地址2的實(shí)偏移(與虛旋轉(zhuǎn)存儲(chǔ)器的偏移),從虛數(shù)據(jù)的指數(shù)減去實(shí)數(shù)據(jù)的指數(shù)。如果該數(shù)為零或者正(虛指數(shù)>實(shí)指數(shù)),則這是偏移值(并且也是移位值)。如果該數(shù)為負(fù)(實(shí)指數(shù)>虛指數(shù)),則該數(shù)歸零。為了計(jì)算地址2的虛偏移(與實(shí)旋轉(zhuǎn)存儲(chǔ)器的偏移),從實(shí)數(shù)據(jù)的指數(shù)減去虛數(shù)據(jù)的指數(shù)。如果該數(shù)為零或者正(實(shí)指數(shù)>虛指數(shù)),則這是偏移值(并且也是移位值)。如果該數(shù)為負(fù)(虛指數(shù)>實(shí)指數(shù)),則該數(shù)歸零。 如可見,地址I和地址2的計(jì)算相同。實(shí)偏移去往實(shí)旋轉(zhuǎn)存儲(chǔ)器的讀地址I和虛旋轉(zhuǎn)存儲(chǔ)器的讀地址2。虛偏移去往實(shí)旋轉(zhuǎn)存儲(chǔ)器的讀地址2和虛旋轉(zhuǎn)存儲(chǔ)器的讀地址I。在圖5中示出了用于計(jì)算實(shí)偏移和虛偏移的邏輯500。如可見,通過(guò)在503處從實(shí)數(shù)據(jù)的指數(shù)506減去虛數(shù)據(jù)的指數(shù)505來(lái)計(jì)算虛偏移501。結(jié)果513在508處與它的最高有效位523的反轉(zhuǎn)507取AND,如果結(jié)果513為負(fù),則這使結(jié)果501歸零。類似地,通過(guò)在553處從虛數(shù)據(jù)的指數(shù)505減去實(shí)數(shù)據(jù)的指數(shù)506來(lái)計(jì)算實(shí)偏移502。結(jié)果563在558處與它的最高有效位573的反轉(zhuǎn)557取AND,如果結(jié)果563為負(fù),則這使結(jié)果502歸零。在圖6中所示的一個(gè)備選實(shí)施例600中,取代如圖4中的全規(guī)格化206、216,為了規(guī)格化實(shí)輸入601和虛輸入611而需要的相應(yīng)移位量由前導(dǎo)零計(jì)數(shù)(Count Leading Zero)模塊602、612確定,并且如通過(guò)在603處比較前導(dǎo)零計(jì)數(shù)來(lái)選擇的較小移位(即為了規(guī)格化值601、611中的較大值而需要的移位)在移位器604、614中用來(lái)對(duì)兩個(gè)輸入601、611左移位。因此,輸入601、611中的一個(gè)輸入將保持它的全部量值,而輸入601、611中另一輸入將僅保持它的部分量值。然而,由于如上文討論的那樣旋轉(zhuǎn)因子都為近似相同數(shù)量級(jí),并且假設(shè)是諸如來(lái)自前述STRATIX 系列的可編程邏輯器件之類的器件,所以當(dāng)乘法器615、625、635、645為36位寬時(shí),即使對(duì)單精度(23位尾數(shù))值右移位仍然可以維持它的準(zhǔn)確度。作為本發(fā)明的一個(gè)實(shí)現(xiàn)方式的例子,考慮IK流式(streaming)FFT。傳統(tǒng)上,這可以使用五個(gè)基數(shù)為4的級(jí)來(lái)實(shí)施,其中的前四級(jí)將需要復(fù)乘法器。將有256個(gè)元件從而需要共計(jì)數(shù)以千計(jì)的旋轉(zhuǎn)因子。使用本發(fā)明,可以使用基數(shù)為16的級(jí)、基數(shù)為4的級(jí)和基數(shù)為16的級(jí)來(lái)實(shí)施IK流式FFT?;鶖?shù)為16的級(jí)將使用優(yōu)化的內(nèi)部復(fù)乘法器,而在輸出上為標(biāo)準(zhǔn)復(fù)乘法器。備選地,可以在輸出上使用優(yōu)化的復(fù)乘法器。就64個(gè)復(fù)旋轉(zhuǎn)因子而言,這在已經(jīng)預(yù)先計(jì)算所有移位時(shí)將需要約(32或者36) X64 =約2,000個(gè)復(fù)旋轉(zhuǎn)因子存儲(chǔ)器位置。下一個(gè)基數(shù)為4的級(jí)可以使用優(yōu)化的復(fù)乘法器,因?yàn)閷H有16個(gè)旋轉(zhuǎn)因子,或者當(dāng)已經(jīng)預(yù)先計(jì)算所有移位時(shí)將需要共計(jì)約(32或者36) X 16 =約512個(gè)復(fù)旋轉(zhuǎn)因子存儲(chǔ)器位置。最末的基數(shù)為16的級(jí)將使用內(nèi)部?jī)?yōu)化復(fù)乘法器而旋轉(zhuǎn)因子數(shù)目與第一級(jí)大約相同。用于實(shí)現(xiàn)根據(jù)本發(fā)明的用于對(duì)可編程器件編程以執(zhí)行DFT的方法的指令可以編碼于機(jī)器可讀介質(zhì)上,從而由適當(dāng)計(jì)算機(jī)或者相似設(shè)備執(zhí)行以實(shí)施本發(fā)明的用于對(duì)PLD或者其它可編程器件編程或者配置以如上文描述的那樣執(zhí)行加法和減法運(yùn)算的方法。例如,個(gè)人計(jì)算機(jī)可以配備有PLD可以連接到的接口,并且個(gè)人計(jì)算機(jī)可以由用戶用來(lái)使用適當(dāng)軟件工具(諸如可從 San Jose, California 的 Altera Corporation 獲得的 QUARTUS II軟件)對(duì)PLD編程。圖7呈現(xiàn)了可以編碼有機(jī)器可讀程序的磁數(shù)據(jù)存儲(chǔ)介質(zhì)800的截面,該機(jī)器可讀程序可以由系統(tǒng)(諸如前述個(gè)人計(jì)算機(jī)或者其它計(jì)算機(jī)或者相似設(shè)備)執(zhí)行。介質(zhì)800可以是軟盤或者硬盤或者磁帶,該介質(zhì)具有可以是常規(guī)的適當(dāng)襯底801和在一側(cè)或者兩側(cè)上的包含磁疇(不可見)的可以是常規(guī)的適當(dāng)涂層802,可以磁性變更這些磁疇的極性或者定向。介質(zhì)800除了在它可以是磁帶的情況下之外也可以具有用于接收盤驅(qū)動(dòng)或者其它數(shù)據(jù)存儲(chǔ)設(shè)備的主軸的開口(未不出)。對(duì)介質(zhì)800的涂層802的磁疇極化或者定向以便以可以是常規(guī)的方式對(duì)機(jī)器可執(zhí)行程序編碼以用于由具有待編程的PLD可以插入于其中的插座或者外圍附件的編程系統(tǒng) (諸如個(gè)人計(jì)算機(jī)或者其它計(jì)算機(jī)或者相似系統(tǒng))執(zhí)行以根據(jù)本發(fā)明配置PLD的適當(dāng)部分,這些部分如果有則包括它的專門化處理塊。圖8示出了也可以編碼有這樣的機(jī)器可執(zhí)行程序的光學(xué)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)810的截面,該機(jī)器可執(zhí)行程序可以由系統(tǒng)(諸如前述個(gè)人計(jì)算機(jī)或者其它計(jì)算機(jī)或者相似設(shè)備)執(zhí)行。介質(zhì)810可以是常規(guī)緊致盤只讀存儲(chǔ)器(⑶-ROM)或者數(shù)字視頻盤只讀存儲(chǔ)器(DVD-ROM)或者可重寫介質(zhì)(諸如 CD-R、CD-RW、DVD-R、DVD-RW、DVD+R、DVD+RW 或者DVD+RAM)或者光學(xué)可讀和光磁可重寫的光磁盤。介質(zhì)810優(yōu)選地具有可以是常規(guī)的適當(dāng)襯底811和通常在襯底811的一側(cè)或者兩側(cè)上的可以是常規(guī)的適當(dāng)涂層812。在基于⑶或者基于DVD的介質(zhì)的情況下,如公知的那樣,涂層812有反射性并且印刻有在一層或者多層上布置的多個(gè)凹點(diǎn)812以對(duì)機(jī)器可讀程序編碼。通過(guò)從涂層812的表面反射激光來(lái)讀取凹點(diǎn)布置。在涂層812上面提供優(yōu)選為基本上透明的保護(hù)涂層814。在光磁盤的情況下,如公知的那樣,涂層812無(wú)凹點(diǎn)812,但是具有在比如由激光(未示出)加熱至某一溫度以上時(shí)可以磁性改變極性或者定向的多個(gè)磁疇??梢酝ㄟ^(guò)測(cè)量從涂層812反射的激光的極化來(lái)讀取疇的定向。疇的布置如上文描述的那樣對(duì)程序編碼。根據(jù)本發(fā)明編程的PLD 90可以使用于許多種類的電子設(shè)備中。一種可能的使用是在圖9中所示數(shù)據(jù)處理系統(tǒng)900中。數(shù)據(jù)處理系統(tǒng)900可以包括以下部件中的一個(gè)或者多個(gè)部件處理器901 ;存儲(chǔ)器902 ;1/0電路903 ;以及外圍設(shè)備904。這些部件由系統(tǒng)905耦合在一起并且填充于終端用戶系統(tǒng)907中包含的電路板906上。系統(tǒng)900可以使用于廣泛多種應(yīng)用(諸如計(jì)算機(jī)聯(lián)網(wǎng)、數(shù)據(jù)聯(lián)網(wǎng)、儀器使用、視頻處理、數(shù)字信號(hào)處理)或者其中希望有使用可編程或者可再編程邏輯的優(yōu)點(diǎn)的任何其它應(yīng)用中。PLD 90可以用來(lái)執(zhí)行多種不同邏輯功能。例如,PLD 90可以配置為與處理器901配合工作的處理器或者控制器。PLD 90也可以用作仲裁器,該仲裁器用于仲裁對(duì)系統(tǒng)900中的共享資源的訪問。在又一例子中,PLD 90可以配置為在處理器901與系統(tǒng)900中的其它部件之一之間的接口。應(yīng)當(dāng)注意,系統(tǒng)900僅為示例性,并且本發(fā)明的真實(shí)范圍和精神應(yīng)當(dāng)由所附權(quán)利要求指示。各種技術(shù)可以用來(lái)實(shí)施如上文描述的并且并入本發(fā)明的PLD90。將理解,前文僅舉例說(shuō)明本發(fā)明的原理,并且本領(lǐng)域技術(shù)人員可以進(jìn)行各種修改而不脫離本發(fā)明的范圍和精神實(shí)質(zhì)。例如,可以按照任何希望的數(shù)目和/或布置在PLD上 提供本發(fā)明的各種單元。本領(lǐng)域技術(shù)人員將理解本發(fā)明可以由除了描述的僅出于例示而非限制的目的而呈現(xiàn)的實(shí)施例之外的實(shí)施例實(shí)現(xiàn),并且本發(fā)明僅受所附權(quán)利要求的限制。
權(quán)利要求
1.一種用于執(zhí)行離散傅里葉變換運(yùn)算的電路,所述電路包括 浮點(diǎn)加法級(jí),用于將所述離散傅里葉變換運(yùn)算的輸入值的尾數(shù)相加;以及 定點(diǎn)級(jí),用于將所述浮點(diǎn)加法級(jí)的輸出乘以旋轉(zhuǎn)因子,所述定點(diǎn)級(jí)包括 存儲(chǔ)器,用于存儲(chǔ)多個(gè)旋轉(zhuǎn)因子集合,所述集合中的每個(gè)集合包括被移位不同量的相應(yīng)旋轉(zhuǎn)因子的副本,以及 電路,用于確定在所述浮點(diǎn)級(jí)的所述輸出的指數(shù)之間的差值并且用于使用所述差值作為索引以從所述集合中的每個(gè)集合中的所述相應(yīng)旋轉(zhuǎn)因子的所述副本之中選擇。
2.根據(jù)權(quán)利要求I所述的電路,其中所述浮點(diǎn)加法級(jí)包括用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器。
3.根據(jù)權(quán)利要求2所述的電路,其中 所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器執(zhí)行非規(guī)格化加法;并且 所述浮點(diǎn)加法級(jí)還包括規(guī)格化級(jí),所述規(guī)格化級(jí)用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的非規(guī)格化輸出。
4.根據(jù)權(quán)利要求3所述的電路,其中所述規(guī)格化級(jí)包括 第一規(guī)格化模塊,用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出;以及 第二規(guī)格化模塊,用于規(guī)格化所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出。
5.根據(jù)權(quán)利要求3所述的電路,其中所述規(guī)格化級(jí)包括 第一移位器,用于所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出; 第二移位器,用于所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出; 第一前導(dǎo)零計(jì)數(shù)模塊,用于確定所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第一數(shù)目; 第二前導(dǎo)零計(jì)數(shù)模塊,用于確定所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第二數(shù)目;以及 比較器,用于確定前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的哪個(gè)數(shù)目較小并且用于將前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的所述較小者應(yīng)用于所述第一移位器和所述第二移位器中的每個(gè)移位器作為所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的所述輸出和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的所述輸出被移位的位置數(shù)目。
6.根據(jù)權(quán)利要求2所述的電路,其中 所述旋轉(zhuǎn)因子包括實(shí)旋轉(zhuǎn)因子和虛旋轉(zhuǎn)因子;并且 所述定點(diǎn)級(jí)還包括 第一乘法器,用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子; 第二乘法器,用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子;減法器,用于從所述第一乘法器的輸出減去所述第二乘法器的輸出; 第三乘法器,用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子; 第四乘法器,用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子;以及 加法器,用于將所述第四乘法器的輸出與所述第三乘法器的輸出相加。
7.根據(jù)權(quán)利要求I所述的電路,其中 所述存儲(chǔ)器包括存儲(chǔ)被移位不同量的所述多個(gè)旋轉(zhuǎn)因子的兩端口存儲(chǔ)器; 所述兩端口存儲(chǔ)器的第一地址輸入選擇所述相應(yīng)旋轉(zhuǎn)因子中的一個(gè)旋轉(zhuǎn)因子;并且所述差值是所述兩端口存儲(chǔ)器的第二地址輸入,所述第二地址輸入選擇所述相應(yīng)旋轉(zhuǎn)因子中的所述一個(gè)旋轉(zhuǎn)因子的所述移位的副本之一。
8.一種將可編程集成電路器件配置為用于執(zhí)行離散傅里葉變換運(yùn)算的電路的方法,所述方法包括 將所述可編程集成電路器件的邏輯配置為用于將所述離散傅里葉變換運(yùn)算的輸入值的尾數(shù)相加的浮點(diǎn)加法級(jí);并且 將所述可編程集成電路器件的邏輯配置為用于將所述浮點(diǎn)加法級(jí)的輸出乘以旋轉(zhuǎn)因子的定點(diǎn)級(jí),所述定點(diǎn)級(jí)包括 存儲(chǔ)器,用于存儲(chǔ)多個(gè)旋轉(zhuǎn)因子集合,所述集合中的每個(gè)集合包括被移位不同量的相應(yīng)旋轉(zhuǎn)因子的副本,以及 電路,用于確定在所述浮點(diǎn)級(jí)的所述輸出的指數(shù)之間的差值并且用于使用所述差值作為索引以從所述集合中的每個(gè)集合中的所述相應(yīng)旋轉(zhuǎn)因子的所述副本之中選擇。
9.根據(jù)權(quán)利要求8所述的方法,其中 所述將所述可編程集成電路器件的邏輯配置為浮點(diǎn)加法級(jí)包括將所述可編程集成電路器件的邏輯配置為用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器。
10.根據(jù)權(quán)利要求9所述的方法,其中 所述將所述可編程集成電路器件的邏輯配置為用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器包括配置所述可編程集成電路器件的邏輯以執(zhí)行非規(guī)格化加法;并且 所述將所述可編程集成電路器件的邏輯配置為浮點(diǎn)加法級(jí)包括將所述可編程集成電路器件的邏輯配置為規(guī)格化級(jí),所述規(guī)格化級(jí)用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的非規(guī)格化輸出。
11.根據(jù)權(quán)利要求10所述的方法,其中所述將所述可編程集成電路器件的邏輯配置為規(guī)格化級(jí)包括 將所述可編程集成電路器件的邏輯配置為第一規(guī)格化模塊,所述第一規(guī)格化模塊用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出;并且 將所述可編程集成電路器件的邏輯配置為第二規(guī)格化模塊,所述第二規(guī)格化模塊用于規(guī)格化所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器輸出的。
12.根據(jù)權(quán)利要求10所述的方法,其中所述將所述可編程集成電路器件的邏輯配置為規(guī)格化級(jí)包括 將所述可編程集成電路器件的邏輯配置為第一移位器,所述第一移位器用于所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出; 將所述可編程集成電路器件的邏輯配置為第二移位器,所述第二移位器用于所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出; 將所述可編程集成電路器件的邏輯配置為第一前導(dǎo)零計(jì)數(shù)模塊,所述第一前導(dǎo)零計(jì)數(shù)模塊用于確定所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第一數(shù)目; 將所述可編程集成電路器件的邏輯配置為第二前導(dǎo)零計(jì)數(shù)模塊,所述第二前導(dǎo)零計(jì)數(shù)模塊用于確定所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第二數(shù)目;并且 將所述可編程集成電路器件的邏輯配置為比較器,所述比較器用于確定前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的哪個(gè)數(shù)目較小并且用于將前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的所述較小者應(yīng)用于所述第一移位器和所述第二移位器中的每個(gè)移位器作為所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的所述輸出和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的所述輸出被移位的位置數(shù)目。
13.根據(jù)權(quán)利要求9所述的方法,其中 所述旋轉(zhuǎn)因子包括實(shí)旋轉(zhuǎn)因子和虛旋轉(zhuǎn)因子;并且 所述將所述可編程集成電路器件的邏輯配置為定點(diǎn)級(jí)還包括 將所述可編程集成電路器件的邏輯配置為第一乘法器,所述第一乘法器用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子; 將所述可編程集成電路器件的邏輯配置為第二乘法器,所述第二乘法器用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子; 將所述可編程集成電路器件的邏輯配置為減法器,所述減法器用于從所述第一乘法器的輸出減去所述第二乘法器的輸出; 將所述可編程集成電路器件的邏輯配置為第三乘法器,所述第三乘法器用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子; 將所述可編程集成電路器件的邏輯配置為第四乘法器,所述第四乘法器用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子;并且 將所述可編程集成電路器件的邏輯配置為加法器,所述加法器用于將所述第四乘法器的輸出與所述第三乘法器的輸出相加。
14.根據(jù)權(quán)利要求8所述的方法,其中 所述存儲(chǔ)器包括存儲(chǔ)被移位不同量的所述多個(gè)旋轉(zhuǎn)因子的兩端口存儲(chǔ)器; 所述將所述可編程集成電路器件的邏輯配置為定點(diǎn)級(jí)包括將所述可編程集成電路器件的邏輯配置為所述兩端口存儲(chǔ)器的第一地址輸入以選擇所述相應(yīng)旋轉(zhuǎn)因子中的一個(gè)旋轉(zhuǎn)因子;并且 所述將所述可編程集成電路器件的邏輯配置為定點(diǎn)級(jí)包括配置所述可編程集成電路器件的邏輯以使用所述差值作為所述兩端口存儲(chǔ)器的第二地址輸入,所述第二地址輸入選擇所述相應(yīng)旋轉(zhuǎn)因子中的所述一個(gè)旋轉(zhuǎn)因子的所述移位的副本之一。
15.一種可編程集成電路器件,包括 可配置為用于將離散傅里葉變換運(yùn)算的輸入值的尾數(shù)相加的浮點(diǎn)加法級(jí)的邏輯;以及 可配置為用于將所述浮點(diǎn)加法級(jí)的輸出乘以旋轉(zhuǎn)因子的定點(diǎn)級(jí)的邏輯,所述定點(diǎn)級(jí)包括 存儲(chǔ)器,用于存儲(chǔ)多個(gè)旋轉(zhuǎn)因子集合,所述集合中的每個(gè)集合包括被移位不同量的相應(yīng)旋轉(zhuǎn)因子的副本,以及 電路,用于確定在所述浮點(diǎn)級(jí)的所述輸出的指數(shù)之間的差值并且用于使用所述差值作為索引以從所述集合中的每個(gè)集合中的所述相應(yīng)旋轉(zhuǎn)因子的所述副本之中選擇。
16.根據(jù)權(quán)利要求15所述的可編程集成電路器件,其中 可配置為浮點(diǎn)加法級(jí)的所述邏輯包括可配置為用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的邏輯。
17.根據(jù)權(quán)利要求16所述的可編程集成電路器件,其中 作為用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的所述可編程集成電路器件包括可配置成執(zhí)行非規(guī)格化加法的邏輯;并且 可配置為浮點(diǎn)加法級(jí)的所述邏輯包括可配置為規(guī)格化級(jí)的邏輯,所述規(guī)格化級(jí)用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的非規(guī)格化輸出。
18.根據(jù)權(quán)利要求17所述的可編程集成電路器件,其中可配置為規(guī)格化級(jí)的所述邏輯包括 可配置為第一規(guī)格化模塊的邏輯,所述第一規(guī)格化模塊用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出;以及 可配置為第二規(guī)格化模塊的邏輯,所述第二規(guī)格化模塊用于規(guī)格化所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出。
19.根據(jù)權(quán)利要求17所述的可編程集成電路器件,其中可配置為規(guī)格化級(jí)的所述邏輯包括 可配置為第一移位器的邏輯,所述第一移位器用于所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出; 可配置為第二移位器的邏輯,所述第二移位器用于所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出; 可配置為第一前導(dǎo)零計(jì)數(shù)模塊的邏輯,所述第一前導(dǎo)零計(jì)數(shù)模塊用于確定所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第一數(shù)目; 可配置為第二前導(dǎo)零計(jì)數(shù)模塊的邏輯,所述第二前導(dǎo)零計(jì)數(shù)模塊用于確定所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第二數(shù)目;以及 可配置為比較器的邏輯,所述比較器用于確定前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的哪個(gè)數(shù)目較小并且用于將前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的所述較小者應(yīng)用于所述第一移位器和所述第二移位器中的每個(gè)移位器作為所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的所述輸出和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的所述輸出被移位的位置數(shù)目。
20.根據(jù)權(quán)利要求16所述的可編程集成電路器件,其中 所述旋轉(zhuǎn)因子包括實(shí)旋轉(zhuǎn)因子和虛旋轉(zhuǎn)因子;并且 可配置為定點(diǎn)級(jí)的所述邏輯還包括 可配置為第一乘法器的邏輯,所述第一乘法器用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子; 可配置為第二乘法器的邏輯,所述第二乘法器用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子; 可配置為減法器的邏輯,所述減法器用于從所述第一乘法器的輸出減去所述第二乘法器的輸出; 可配置為第三乘法器的邏輯,所述第三乘法器用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子; 可配置為第四乘法器的邏輯,所述第四乘法器用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子;以及 可配置為加法器的邏輯,所述加法器用于將所述第四乘法器的輸出與所述第三乘法器的輸出相加。
21.根據(jù)權(quán)利要求15所述的可編程集成電路器件,其中 所述存儲(chǔ)器包括存儲(chǔ)被移位不同量的所述多個(gè)旋轉(zhuǎn)因子的兩端口存儲(chǔ)器; 可配置為定點(diǎn)級(jí)的所述邏輯包括可配置為所述兩端口存儲(chǔ)器的第一地址輸入以選擇所述相應(yīng)旋轉(zhuǎn)因子中的一個(gè)旋轉(zhuǎn)因子的邏輯;并且 可配置為定點(diǎn)級(jí)的所述邏輯包括可配置為使用所述差值作為所述兩端口存儲(chǔ)器的第二地址輸入的邏輯,所述第二地址輸入選擇所述相應(yīng)旋轉(zhuǎn)因子中的所述一個(gè)旋轉(zhuǎn)因子的所述移位的副本之一。
22.—種編碼有機(jī)器可執(zhí)行指令的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì),所述指令用于將可編程集成電路器件配置為用于執(zhí)行離散傅里葉變換運(yùn)算的電路,所述指令包括 用于將所述可編程集成電路器件的邏輯配置為浮點(diǎn)加法級(jí)的指令,所述浮點(diǎn)加法級(jí)用于將所述離散傅里葉變換運(yùn)算的輸入值的尾數(shù)相加;以及 用于將所述可編程集成電路器件的邏輯配置為定點(diǎn)級(jí)的指令,所述定點(diǎn)級(jí)用于將所述浮點(diǎn)加法級(jí)的輸出乘以旋轉(zhuǎn)因子,所述定點(diǎn)級(jí)包括 存儲(chǔ)器,用于存儲(chǔ)多個(gè)旋轉(zhuǎn)因子集合,所述集合中的每個(gè)集合包括被移位不同量的相應(yīng)旋轉(zhuǎn)因子的副本,以及 電路,用于確定在所述浮點(diǎn)級(jí)的所述輸出的指數(shù)之間的差值并且用于使用所述差值作為索引以從所述集合中的每個(gè)集合中的所述相應(yīng)旋轉(zhuǎn)因子的所述副本之中選擇。
23.根據(jù)權(quán)利要求22所述的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì),其中 所述用于將所述可編程集成電路器件的邏輯配置為浮點(diǎn)加法級(jí)的指令包括用于將所述可編程集成電路器件的邏輯配置為用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的指令。
24.根據(jù)權(quán)利要求23所述的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì),其中 所述用于將所述可編程集成電路器件的邏輯配置為用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的指令包括用于配置所述可編程集成電路器件的邏輯以執(zhí)行非規(guī)格化加法的指令;并且 所述用于將所述可編程集成電路器件的邏輯配置為浮點(diǎn)加法級(jí)的指令包括用于將所述可編程集成電路器件的邏輯配置為規(guī)格化級(jí)的指令,所述規(guī)格化級(jí)用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器和用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的非規(guī)格化輸出。
25.根據(jù)權(quán)利要求24所述的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì),其中所述用于將所述可編程集成電路器件的邏輯配置為規(guī)格化級(jí)的指令包括 用于將所述可編程集成電路器件的邏輯配置為第一規(guī)格化模塊的指令,所述第一規(guī)格化模塊用于規(guī)格化所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出;以及 用于將所述可編程集成電路器件的邏輯配置為第二規(guī)格化模塊的指令,所述第二規(guī)格化模塊用于規(guī)格化所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出。
26.根據(jù)權(quán)利要求24所述的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì),其中所述用于將所述可編程集成電路器件的邏輯配置為規(guī)格化級(jí)的指令包括 用于將所述可編程集成電路器件的邏輯配置為第一移位器的指令,所述第一移位器用于所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出; 用于將所述可編程集成電路器件的邏輯配置為第二移位器的指令,所述第二移位器用于所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出; 用于將所述可編程集成電路器件的邏輯配置為第一前導(dǎo)零計(jì)數(shù)模塊的指令,所述第一前導(dǎo)零計(jì)數(shù)模塊用于確定所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第一數(shù)目; 用于將所述可編程集成電路器件的邏輯配置為第二前導(dǎo)零計(jì)數(shù)模塊的指令,所述第二前導(dǎo)零計(jì)數(shù)模塊用于確定所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出上的前導(dǎo)零的第二數(shù)目;以及 用于將所述可編程集成電路器件的邏輯配置為比較器的指令,所述比較器用于確定前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的哪個(gè)數(shù)目較小并且用于將前導(dǎo)零的所述第一數(shù)目和所述第二數(shù)目中的所述較小者應(yīng)用于所述第一移位器和所述第二移位器中的每個(gè)移位器作為所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的所述輸出和所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的所述輸出被移位的位置數(shù)目。
27.根據(jù)權(quán)利要求23所述的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì),其中 所述旋轉(zhuǎn)因子包括實(shí)旋轉(zhuǎn)因子和虛旋轉(zhuǎn)因子;并且 所述用于將所述可編程集成電路器件的邏輯配置為定點(diǎn)級(jí)的指令還包括 用于將所述可編程集成電路器件的邏輯配置為第一乘法器的指令,所述第一乘法器用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子; 用于將所述可編程集成電路器件的邏輯配置為第二乘法器的指令,所述第二乘法器用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子; 用于將所述可編程集成電路器件的邏輯配置為減法器的指令,所述減法器用于從所述第一乘法器的輸出減去所述第二乘法器的輸出; 用于將所述可編程集成電路器件的邏輯配置為第三乘法器的指令,所述第三乘法器用于將所述用于將所述尾數(shù)的實(shí)部相加的至少一個(gè)加法器的輸出乘以虛旋轉(zhuǎn)因子;用于將所述可編程集成電路器件的邏輯配置為第四乘法器的指令,所述第四乘法器用于將所述用于將所述尾數(shù)的虛部相加的至少一個(gè)加法器的輸出乘以實(shí)旋轉(zhuǎn)因子;以及用于將所述可編程集成電路器件的邏輯配置為加法器的指令,所述加法器用于將所述第四乘法器的輸出與所述第三乘法器的輸出相加。
28.根據(jù)權(quán)利要求22所述的機(jī)器可讀數(shù)據(jù)存儲(chǔ)介質(zhì),其中 所述存儲(chǔ)器包括存儲(chǔ)被移位不同量的所述多個(gè)旋轉(zhuǎn)因子的兩端口存儲(chǔ)器; 所述用于將所述可編程集成電路器件的邏輯配置為定點(diǎn)級(jí)的指令包括將所述可編程集成電路器件的邏輯配置為所述兩端口存儲(chǔ)器的第一地址輸入以選擇所述相應(yīng)旋轉(zhuǎn)因子中的一個(gè)旋轉(zhuǎn)因子;并且 所述用于將所述可編程集成電路器件的邏輯配置為定點(diǎn)級(jí)的指令包括配置所述可編程集成電路器件的邏輯以使用所述差值作為所述兩端口存儲(chǔ)器的第二地址輸入,所述第二地址輸入選擇所述相應(yīng)旋轉(zhuǎn)因子中的所述一個(gè)旋轉(zhuǎn)因子的所述移位的副本之一。
全文摘要
執(zhí)行離散傅里葉變換的電路??梢栽诠潭ㄟ壿嬈骷刑峁┗蛘呖梢韵蛑T如可編程邏輯器件之類的可編程集成電路器件中配置該電路。該電路包括浮點(diǎn)加法級(jí),用于將離散傅里葉變換運(yùn)算的輸入值的尾數(shù)相加;以及定點(diǎn)級(jí),用于將浮點(diǎn)加法級(jí)的輸出乘以旋轉(zhuǎn)因子。定點(diǎn)級(jí)包括存儲(chǔ)器,用于存儲(chǔ)多個(gè)旋轉(zhuǎn)因子集合,那些集合中的每個(gè)集合包括被移位不同量的相應(yīng)旋轉(zhuǎn)因子的副本;以及電路,用于確定在浮點(diǎn)級(jí)的輸出的指數(shù)之間的差值并且用于使用該差值作為索引以從每個(gè)集合中的該相應(yīng)旋轉(zhuǎn)因子的那些副本之中選擇。
文檔編號(hào)G06F17/14GK102844752SQ201180018339
公開日2012年12月26日 申請(qǐng)日期2011年2月28日 優(yōu)先權(quán)日2010年3月2日
發(fā)明者M·朗哈默 申請(qǐng)人:阿爾特拉公司