專(zhuān)利名稱(chēng):具有預(yù)加法器級(jí)的數(shù)字信號(hào)處理塊的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集成電路裝置(“IC”)。更明確地說(shuō),本發(fā)明涉及用于IC的具有預(yù)加法器級(jí)的數(shù)字信號(hào)處理塊。
背景技術(shù):
可編程邏輯裝置(“PLD”)是一類(lèi)眾所周知的集成電路,其可經(jīng)編程以執(zhí)行指定邏輯功能。一種類(lèi)型的PLD(即,現(xiàn)場(chǎng)可編程門(mén)陣列(“FPGA”))通常包括可編程瓦片陣列。 舉例來(lái)說(shuō),這些可編程瓦片可包括輸入/輸出塊(“Ι0Β”)、可配置邏輯塊(“CLB”)、專(zhuān)用隨機(jī)存取存儲(chǔ)器塊(“BRAM”)、乘法器、數(shù)字信號(hào)處理塊(“DSP”)、處理器、時(shí)鐘管理器、延遲鎖定環(huán)路(“DLL”)等等。如本文中所使用,“包括”意味著不受限制地包括。每一可編程瓦片通常包括可編程互連和可編程邏輯兩者??删幊袒ミB通常包括大量具有不同長(zhǎng)度的互連線(xiàn),其通過(guò)可編程互連點(diǎn)(“PIP”)互連??删幊踢壿嬍褂每删幊淘?lái)實(shí)施用戶(hù)設(shè)計(jì)的邏輯,所述可編程元件可包括(例如)函數(shù)發(fā)生器、寄存器、算術(shù)邏輯等等。通常通過(guò)將配置數(shù)據(jù)流加載到內(nèi)部配置存儲(chǔ)器單元中來(lái)編程可編程互連和可編程邏輯,所述內(nèi)部配置存儲(chǔ)器單元定義如何配置可編程元件。配置數(shù)據(jù)可從存儲(chǔ)器(例如, 從外部PR0M)讀取或由外部裝置寫(xiě)入到FPGA中。個(gè)別存儲(chǔ)器單元的集體狀態(tài)于是決定FPGA 的功能。另一類(lèi)型的PLD是復(fù)雜可編程邏輯裝置或CPLD。CPLD包括兩個(gè)或兩個(gè)以上“功能塊”,其通過(guò)互連開(kāi)關(guān)矩陣連接在一起,并連接到輸入/輸出(“I/O”)資源。CPLD的每一功能塊包括二級(jí)AND/OR結(jié)構(gòu),其類(lèi)似于可編程邏輯陣列(“PLA”)和可編程陣列邏輯 (“PAL”)裝置中所使用的那些結(jié)構(gòu)。在CPLD中,配置數(shù)據(jù)通常以芯片上形式存儲(chǔ)于非易失性存儲(chǔ)器中。在一些CPLD中,配置數(shù)據(jù)以芯片上形式存儲(chǔ)于非易失性存儲(chǔ)器中,接著下載到易失性存儲(chǔ)器,作為初始配置(編程)序列的一部分。對(duì)于所有這些可編程邏輯裝置(“PLD”),裝置的功能性由出于所述目的而提供給裝置的數(shù)據(jù)位控制。所述數(shù)據(jù)位可存儲(chǔ)在易失性存儲(chǔ)器(例如,靜態(tài)存儲(chǔ)器單元,如在FPGA 和一些CPLD中)中,存儲(chǔ)在非易失性存儲(chǔ)器(例如,快閃存儲(chǔ)器,如在一些CPLD中)中,或存儲(chǔ)在任何其它類(lèi)型的存儲(chǔ)器單元中。其它PLD是通過(guò)應(yīng)用處理層(例如金屬層)來(lái)編程的,所述處理層可編程地互連裝置上的各種元件。這些PLD稱(chēng)為掩模可編程裝置。還可以其它方式來(lái)實(shí)施PLD,例如使用熔絲或反熔絲技術(shù)。術(shù)語(yǔ)“PLD”和“可編程邏輯裝置”包括(但不限于)這些示范性裝置, 同樣涵蓋僅部分可編程的裝置。舉例來(lái)說(shuō),一種類(lèi)型的PLD包括硬編碼晶體管邏輯與可編程開(kāi)關(guān)結(jié)構(gòu)的組合,所述可編程開(kāi)關(guān)結(jié)構(gòu)可編程地互連所述硬編碼晶體管邏輯。FPGA( "FPGA結(jié)構(gòu)”)的可編程邏輯中所例示的設(shè)計(jì)的性能受FPGA結(jié)構(gòu)的速度所限制。然而,專(zhuān)用電路資源(例如FPGA中的DSP)能夠比FPGA結(jié)構(gòu)中所實(shí)施的等效電路更快速地執(zhí)行操作。因此,提供用于擴(kuò)展DSP的有用性的構(gòu)件將是合乎需要且有用的。
集成電路包含多種用以實(shí)施電路設(shè)計(jì)的電路元件。電路設(shè)計(jì)必須根據(jù)集成電路的電路元件的類(lèi)型和可用位置來(lái)布局或“放置”。也就是說(shuō),電路設(shè)計(jì)的組件必須被指派或放置在集成電路的位點(diǎn)中。在放置電路設(shè)計(jì)的組件中,考慮各種因素來(lái)決定所述放置。放置組件的效率和改進(jìn)實(shí)施所述組件的效率可導(dǎo)致集成電路裝置使用的顯著改進(jìn)。盡管常規(guī)的集成電路在實(shí)施數(shù)字信號(hào)處理(DSP)應(yīng)用特有的算術(shù)運(yùn)算時(shí)是低效的,但一些集成電路可采用專(zhuān)用于實(shí)施DSP功能的電路塊。然而,常規(guī)裝置中的DSP塊可導(dǎo)致固有低效的布局,或可導(dǎo)致實(shí)施DSP應(yīng)用所需要的電路的低效使用。也就是說(shuō),具有提供有限功能的DSP塊的集成電路可造成電路資源的低效使用??筛倪M(jìn)電路布局的效率的DSP 塊可引起集成電路使用的顯著改進(jìn)。
發(fā)明內(nèi)容
一個(gè)或一個(gè)以上實(shí)施例大體上涉及集成電路裝置(“IC”),且更明確地說(shuō),涉及用于IC的具有預(yù)加法器級(jí)的數(shù)字信號(hào)處理塊。本發(fā)明的一個(gè)實(shí)施例大體上涉及一種具有數(shù)字信號(hào)處理塊的集成電路。所述數(shù)字信號(hào)處理塊包括預(yù)加法器級(jí)和控制總線(xiàn)。所述控制總線(xiàn)耦合到所述預(yù)加法器級(jí)以用于動(dòng)態(tài)地控制所述預(yù)加法器級(jí)的操作。所述預(yù)加法器級(jí)包括耦合到所述控制總線(xiàn)的第一多路復(fù)用器的第一輸入端口 ;耦合到所述控制總線(xiàn)的第一邏輯門(mén)的第二輸入端口 ;耦合到所述控制總線(xiàn)的第二邏輯門(mén)的第三輸入端口 ;以及耦合到所述控制總線(xiàn)的加法器/減法器的第四輸入端口。在此實(shí)施例中,所述預(yù)加法器級(jí)可經(jīng)配置以用于響應(yīng)于對(duì)所述第二輸入端口的輸入而動(dòng)態(tài)地設(shè)置所述加法器/減法器的第一數(shù)據(jù)輸入,以經(jīng)由所述第一邏輯門(mén)的輸出接收零值。所述預(yù)加法器級(jí)可經(jīng)配置以用于響應(yīng)于對(duì)所述第三輸入端口的輸入而動(dòng)態(tài)地設(shè)置所述加法器/減法器的第二數(shù)據(jù)輸入,以經(jīng)由所述第二邏輯門(mén)的輸出接收零值。所述預(yù)加法器級(jí)可經(jīng)配置以用于響應(yīng)于對(duì)所述第一輸入端口的輸入而動(dòng)態(tài)地選擇具有0、1或2寄存器延遲的輸入數(shù)據(jù)。所述預(yù)加法器級(jí)可經(jīng)配置以用于響應(yīng)于對(duì)所述第四輸入端口的輸入而動(dòng)態(tài)地設(shè)置所述加法器/減法器以進(jìn)行相加或相減。所述集成電路的此實(shí)施例進(jìn)一步包含現(xiàn)場(chǎng)可編程邏輯門(mén),所述現(xiàn)場(chǎng)可編程邏輯門(mén)可響應(yīng)于配置位流而配置,以提供用于將輸入數(shù)據(jù)提供到所述數(shù)字信號(hào)處理塊的例示電路功能。在此實(shí)施例中,所述預(yù)加法器級(jí)可經(jīng)由由第一輸入端口、第二輸入端口、第三輸入端口和第四輸入端口組成的群組中的至少一個(gè)端口來(lái)動(dòng)態(tài)地重新配置,而不必重新配置所述現(xiàn)場(chǎng)可編程邏輯門(mén)以提供所述輸入數(shù)據(jù);且所述預(yù)加法器級(jí)可動(dòng)態(tài)地重新配置以提供絕對(duì)值功能、順序復(fù)數(shù)共軛功能、順序乘法功能、順序復(fù)數(shù)乘法、多路復(fù)用功能、寄存器堆功能、移位寄存器邏輯功能和管線(xiàn)重新平衡功能。本發(fā)明的另一實(shí)施例大體上涉及一種脈動(dòng)有限脈沖響應(yīng)濾波器,其包括耦合到數(shù)字信號(hào)處理塊鏈的移位寄存器。所述移位寄存器可經(jīng)配置以將廣播輸入廣播到所述鏈的數(shù)字信號(hào)處理塊中的除結(jié)尾塊之外的所有處理塊的每一第一寄存器。所述數(shù)字信號(hào)處理塊中的每一者可具有第二寄存器。所述數(shù)字信號(hào)處理塊中的每一者可具有第三寄存器。第二寄存器的輸出可耦合到第三寄存器的輸入,以使數(shù)字信號(hào)處理塊中的每一者提供其雙寄存器。所述雙寄存器可串聯(lián)耦合,以用于從所述鏈的數(shù)字信號(hào)處理塊中的開(kāi)頭塊向數(shù)字信號(hào)處理塊中的結(jié)尾塊傳播濾波器輸入系列。數(shù)字信號(hào)處理塊中的每一者可具有第一加法器, 其經(jīng)耦合以用于接收來(lái)自第一寄存器和第三寄存器中的每一者的輸出以提供其第一總和。 數(shù)字信號(hào)處理塊中的每一者可具有第四寄存器,其經(jīng)耦合以用于接收相應(yīng)的濾波器系數(shù)。 數(shù)字信號(hào)處理塊中的每一者可具有乘法器,其經(jīng)耦合以用于分別接收其第一總和以及濾波器系數(shù),且經(jīng)配置以用于提供其部分結(jié)果。數(shù)字信號(hào)處理塊中的每一者可具有第二加法器, 其經(jīng)耦合以用于接收其部分結(jié)果。數(shù)字信號(hào)處理塊的第二加法器可經(jīng)耦合以用于累加數(shù)字信號(hào)處理塊中的每一者的部分結(jié)果,以從所述鏈的數(shù)字信號(hào)處理塊中的結(jié)尾塊提供濾波器輸出系列。在此實(shí)施例中,數(shù)字信號(hào)處理塊中的每一者可包括第五寄存器,其經(jīng)耦合以用于接收其第一總和,之后將所述第一總和提供到其乘法器。數(shù)字信號(hào)處理塊的第二加法器可串聯(lián)耦合;且數(shù)字信號(hào)處理塊中的開(kāi)頭塊的第二加法器可從其傳遞部分結(jié)果作為其第二總和,以用于輸入到數(shù)字信號(hào)處理塊中的鄰近塊的第二加法器,以與數(shù)字信號(hào)處理塊中的所述鄰近塊的部分結(jié)果相加以提供其第二總和。數(shù)字信號(hào)處理塊中的每一者可包括經(jīng)耦合以用于接收其部分結(jié)果的第六寄存器,以及經(jīng)耦合以用于接收其第二總和的第七寄存器。濾波器的此實(shí)施例可進(jìn)一步包含耦合到門(mén)控邏輯的控制總線(xiàn),所述門(mén)控邏輯用于門(mén)控從第一寄存器和第三寄存器中的每一者到第一加法器的輸出,其中第一加法器輸入可動(dòng)態(tài)地配置以用于接收零值,以動(dòng)態(tài)地調(diào)整鏈的有效長(zhǎng)度,且第一加法器并不是在現(xiàn)場(chǎng)可編程門(mén)陣列結(jié)構(gòu)中實(shí)施。所述門(mén)控邏輯可經(jīng)耦合以用于動(dòng)態(tài)地將數(shù)字信號(hào)處理塊中的結(jié)尾塊置零,以將脈動(dòng)有限脈沖響應(yīng)濾波器操作為具有偶數(shù)數(shù)目個(gè)分接頭,但在鏈中存在奇數(shù)數(shù)目個(gè)數(shù)字信號(hào)處理塊。門(mén)控邏輯可經(jīng)耦合以用于動(dòng)態(tài)地將數(shù)字信號(hào)處理塊中的結(jié)尾塊置零,以將脈動(dòng)有限脈沖響應(yīng)濾波器操作為具有奇數(shù)數(shù)目個(gè)分接頭,但在鏈中存在偶數(shù)數(shù)目個(gè)數(shù)字信號(hào)處理塊。本發(fā)明的又一實(shí)施例大體上涉及一種用于濾波的方法。獲得濾波器輸入系列,并將其提供到數(shù)字信號(hào)處理塊鏈作為其第一輸入。動(dòng)態(tài)改變數(shù)字信號(hào)處理塊的有效長(zhǎng)度以有效地調(diào)整濾波器分接頭的數(shù)目。所述方法的此實(shí)施例進(jìn)一步包含將數(shù)字信號(hào)處理塊中的初始?jí)K設(shè)置為具有第一操作模式;且將數(shù)字信號(hào)處理塊中除初始?jí)K之外的所有處理塊設(shè)置為具有與第一操作模式不同的第二操作模式。此方法進(jìn)一步包含在現(xiàn)場(chǎng)可編程邏輯門(mén)中例示移位寄存器;將濾波器輸入系列提供到移位寄存器;以及將來(lái)自移位寄存器的輸出廣播到至少所述鏈的數(shù)字信號(hào)處理塊中除最終塊之外的所有處理塊作為其第二輸入。此方法進(jìn)一步包含分別將濾波器系數(shù)提供到數(shù)字信號(hào)處理塊中的每一者;依序?qū)⒌谝惠斎霃乃鲦湹臄?shù)字信號(hào)處理塊中的初始?jí)K移位到數(shù)字信號(hào)處理塊中的最終塊;使用數(shù)字信號(hào)處理塊來(lái)確定相應(yīng)的部分總和;以及累加所述部分總和以提供濾波器輸出系列。數(shù)字信號(hào)處理塊可動(dòng)態(tài)地從作為奇數(shù)分接頭對(duì)稱(chēng)脈動(dòng)有限脈沖響應(yīng)濾波器而操作改變?yōu)樽鳛榕紨?shù)分接頭對(duì)稱(chēng)脈動(dòng)有限脈沖響應(yīng)濾波器而操作。數(shù)字信號(hào)處理塊可動(dòng)態(tài)地從作為偶數(shù)分接頭對(duì)稱(chēng)脈動(dòng)有限脈沖響應(yīng)濾波器而操作改變?yōu)樽鳛槠鏀?shù)分接頭對(duì)稱(chēng)脈動(dòng)有限脈沖響應(yīng)濾波器而操作。根據(jù)本發(fā)明的實(shí)施例,揭示一種在電路中配置濾波器以在集成電路中實(shí)施的方法。所述方法包含接收所述電路的高級(jí)設(shè)計(jì);識(shí)別所述高級(jí)設(shè)計(jì)中的濾波器;分析所述濾波器的系數(shù);以及將所述高級(jí)設(shè)計(jì)的濾波器轉(zhuǎn)變?yōu)槭褂盟鲭娐返慕?jīng)配置以適應(yīng)共同系數(shù)的處理塊的濾波器,其中所述處理塊經(jīng)耦合以接收與所述共同系數(shù)相關(guān)聯(lián)的分接頭。將所述高級(jí)設(shè)計(jì)的濾波器轉(zhuǎn)變?yōu)槭褂媒?jīng)配置以適應(yīng)共同系數(shù)的處理塊的濾波器可包含將所述濾波器配置為對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器。分析所述系數(shù)可包含識(shí)別濾波器的對(duì)稱(chēng)系數(shù)。所述方法可進(jìn)一步包含提供所述共同系數(shù)作為對(duì)所述處理塊的乘法器的第一輸入。所述方法可進(jìn)一步包含提供與所述共同系數(shù)相關(guān)聯(lián)的分接頭的總和,作為對(duì)所述乘法器的第二輸入。耦合與共同系數(shù)相關(guān)聯(lián)的分接頭的總和作為對(duì)所述乘法器的第二輸入可包含使用DSP塊的預(yù)加法器電路來(lái)產(chǎn)生總和。所述方法可進(jìn)一步包含提供與所述共同系數(shù)相關(guān)聯(lián)的分接頭的差值作為對(duì)所述乘法器的第二輸入。 根據(jù)替代實(shí)施例還揭示一種計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序代碼可包含包括將電路設(shè)計(jì)轉(zhuǎn)變?yōu)椴季峙渲玫挠?jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀媒體,其中所述計(jì)算機(jī)可讀媒體包含識(shí)別高級(jí)設(shè)計(jì)中的濾波器的計(jì)算機(jī)可讀程序代碼;分析濾波器的系數(shù)的計(jì)算機(jī)可讀程序代碼;以及使用所述電路的經(jīng)配置以適應(yīng)共同系數(shù)的處理塊來(lái)配置濾波器的計(jì)算機(jī)可讀程序代碼,其中所述處理塊經(jīng)耦合以接收與共同系數(shù)相關(guān)聯(lián)的分接頭。使用經(jīng)配置以適應(yīng)共同系數(shù)的處理塊來(lái)配置濾波器的計(jì)算機(jī)可讀程序代碼可包含將濾波器配置為對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器的計(jì)算機(jī)可讀程序代碼。分析濾波器的系數(shù)的計(jì)算機(jī)可讀程序代碼可包含識(shí)別濾波器的對(duì)稱(chēng)系數(shù)的計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)程序產(chǎn)品可進(jìn)一步包含提供所述共同系數(shù)作為對(duì)處理塊的乘法器的第一輸入的計(jì)算機(jī)可讀程序代碼。 計(jì)算機(jī)程序產(chǎn)品可進(jìn)一步包含提供與共同系數(shù)相關(guān)聯(lián)的分接頭的總和或差值作為對(duì)乘法器的第二輸入的計(jì)算機(jī)可讀程序代碼。提供與共同系數(shù)相關(guān)聯(lián)的分接頭的總和或差值作為對(duì)乘法器的第二輸入的計(jì)算機(jī)可讀程序代碼可包含使用DSP塊的預(yù)加法器電路來(lái)產(chǎn)生總和的計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)程序產(chǎn)品可進(jìn)一步包含使用集成電路的電路元件來(lái)實(shí)施濾波器的計(jì)算機(jī)可讀程序代碼。根據(jù)另一實(shí)施例,在集成電路中實(shí)施濾波器的電路可包含多個(gè)延遲元件;預(yù)加法器電路,其經(jīng)耦合以借助于所述多個(gè)延遲元件中的第一延遲元件接收濾波器的第一分接頭,且借助于所述多個(gè)延遲元件中的第二延遲元件接收所述濾波器的第二分接頭,其中所述第一分接頭和所述第二分接頭具有共同系數(shù);乘法器,其經(jīng)耦合以在第一輸入處接收所述預(yù)加法器電路的包含所述第一分接頭與所述第二分接頭的總和的輸出,且在第二輸入處接收所述共同系數(shù);以及加法器,其經(jīng)耦合以接收所述乘法器的輸出。所述濾波器可包含轉(zhuǎn)置卷積濾波器。所述共同系數(shù)可與濾波器的對(duì)稱(chēng)系數(shù)相關(guān)聯(lián)。所述濾波器的分接頭數(shù)目可包含偶數(shù)分接頭數(shù)目。所述濾波器的分接頭數(shù)目可包含奇數(shù)分接頭數(shù)目,且奇數(shù)數(shù)目個(gè)分接頭中的子集可耦合到預(yù)加法器電路。所述多個(gè)延遲元件、所述預(yù)加法器電路和所述乘法器可為集成電路的數(shù)字信號(hào)處理塊的一部分。
附圖展示根據(jù)本發(fā)明的一個(gè)或一個(gè)以上方面的示范性實(shí)施例;然而,不應(yīng)將附圖看作將本發(fā)明限于所展示的實(shí)施例,而是僅用于闡釋和理解的目的。圖1為描繪其中可實(shí)施本發(fā)明的一個(gè)或一個(gè)以上方面的柱狀現(xiàn)場(chǎng)可編程門(mén)陣列 (“FPGA”)架構(gòu)的示范性實(shí)施例的簡(jiǎn)化框圖。圖2為描繪DSP切片的示范性實(shí)施例的框圖/電路圖。
圖3為描繪圖2的DSP切片的預(yù)加法器的示范性實(shí)施例的電路圖。圖4為描繪圖2的DSP切片的雙B寄存器的示范性實(shí)施例的電路圖。圖5為描繪inmode功能表的示范性實(shí)施例的表圖。圖6為描繪現(xiàn)有技術(shù)的8分接頭偶數(shù)對(duì)稱(chēng)脈動(dòng)有限脈沖響應(yīng)(“FIR”)濾波器的示范性實(shí)施例的框圖/電路圖。圖7為描繪8分接頭偶數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波器的示范性實(shí)施例的框圖/電路圖。圖8為描繪用于實(shí)施對(duì)稱(chēng)脈動(dòng)相加-相乘-相加處理模塊的具有OPMODE 0,0,1, 0,1,0,1的圖7的DSP切片的示范性實(shí)施例的框圖/電路圖。圖9為描繪9分接頭奇數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波器的示范性實(shí)施例的框圖/電路圖。圖10為描繪9分接頭奇數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波器的替代示范性實(shí)施例的框圖/電路圖。圖11為描繪FIR使用流程的示范性實(shí)施例的流程圖。圖12為根據(jù)本發(fā)明實(shí)施例的實(shí)施對(duì)稱(chēng)轉(zhuǎn)置卷積有限脈沖響應(yīng)濾波器的電路的框圖。圖13為根據(jù)本發(fā)明替代實(shí)施例的實(shí)施對(duì)稱(chēng)轉(zhuǎn)置卷積有限脈沖響應(yīng)濾波器的電路的框圖。圖14為根據(jù)本發(fā)明替代實(shí)施例的實(shí)施對(duì)稱(chēng)轉(zhuǎn)置卷積有限脈沖響應(yīng)濾波器的電路的框圖。圖15為展示根據(jù)本發(fā)明實(shí)施例的在集成電路中實(shí)施濾波器的方法的流程圖。圖16為根據(jù)本發(fā)明實(shí)施例的用于實(shí)施具有可編程邏輯的裝置的系統(tǒng)的框圖。圖17為根據(jù)本發(fā)明實(shí)施例的具有可編程邏輯的裝置的框圖。圖18為根據(jù)本發(fā)明實(shí)施例的可配置邏輯塊的可配置邏輯元件的框圖。
具體實(shí)施例方式在以下描述中,陳述許多具體細(xì)節(jié)以提供對(duì)本發(fā)明具體實(shí)施例的較透徹描述。然而,所屬領(lǐng)域的技術(shù)人員應(yīng)明白,可在沒(méi)有以下給出的所有具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明。 在其它例子中,尚未詳細(xì)描述眾所周知的特征以免混淆本發(fā)明。為了易于說(shuō)明,在不同圖式中使用相同數(shù)字標(biāo)簽來(lái)指代相同項(xiàng)目;然而,在替代實(shí)施例中,項(xiàng)目可為不同的。如上文所提及,高級(jí)FPGA可在陣列中包括若干不同類(lèi)型的可編程邏輯塊。舉例來(lái)說(shuō),圖1說(shuō)明FPGA架構(gòu)100,其包括大量不同可編程瓦片,其中包括多千兆位收發(fā)器 (“MGT”)101、可配置邏輯塊(“CLB”)102、隨機(jī)存取存儲(chǔ)器塊(“BRAM”)103、輸入/輸出塊(“Ι0Β”)104、配置與計(jì)時(shí)邏輯(“C0NFIG/CL0CK”)105、數(shù)字信號(hào)處理塊(“DSP”)106、 專(zhuān)門(mén)輸入/輸出塊(“1/0”)107(例如,配置端口和時(shí)鐘端口 )以及其它可編程邏輯108, 例如數(shù)字時(shí)鐘管理器、模/數(shù)轉(zhuǎn)換器、系統(tǒng)監(jiān)視邏輯等等。一些FPGA還包括專(zhuān)用處理器塊 ("PROC")IlOo在一些FPGA中,每一可編程瓦片包括可編程互連元件(“INT”)111,其具有去往和來(lái)自每一鄰近瓦片中的對(duì)應(yīng)互連元件的標(biāo)準(zhǔn)化連接。因此,所采用的可編程互連元件共同實(shí)施用于所說(shuō)明FPGA的可編程互連結(jié)構(gòu)。可編程互連元件111還包括去往和來(lái)自同一瓦片內(nèi)的可編程邏輯元件的連接,如圖1頂部所包括的實(shí)例所展示。
舉例來(lái)說(shuō),CLB 102可包括可經(jīng)編程以實(shí)施用戶(hù)邏輯的可配置邏輯元件 (“CLE”)112加上單個(gè)可編程互連元件(“INT”)111。除了一個(gè)或一個(gè)以上可編程互連元件之外,BRAM 103還可包括BRAM邏輯元件(“BRL”)113。通常,瓦片中所包括的互連元件的數(shù)目取決于瓦片的高度。在所圖示的實(shí)施例中,BRAM瓦片具有與五個(gè)CLB相同的高度, 但還可使用其它數(shù)目(例如,四個(gè))。除了適當(dāng)數(shù)目的可編程互連元件之外,DSP瓦片106 還可包括DSP邏輯元件(“DSPL”)114。舉例來(lái)說(shuō),除了可編程互連元件111的一個(gè)實(shí)例之外,IOB 104還可包括輸入/輸出邏輯元件(“I0L”)115的兩個(gè)實(shí)例。如所屬領(lǐng)域的技術(shù)人員將明白,舉例來(lái)說(shuō),連接到I/O邏輯元件115的實(shí)際I/O焊盤(pán)通常不局限于輸入/輸出邏輯元件115的區(qū)域。在所圖示的實(shí)施例中,在裸片(圖1中所示)中心附近的柱狀區(qū)域用于配置、時(shí)鐘和其它控制邏輯。從此列延伸的水平區(qū)域109用以跨越FPGA的寬度分布時(shí)鐘和配置信號(hào)。利用圖1中所說(shuō)明的架構(gòu)的一些FPGA包括中斷組成FPGA的大部分的規(guī)則柱狀結(jié)構(gòu)的額外邏輯塊。額外邏輯塊可為可編程塊和/或?qū)S眠壿?。舉例來(lái)說(shuō),處理器塊110橫越若干CLB和BRAM列。請(qǐng)注意,圖1意在僅說(shuō)明示范性FPGA架構(gòu)。舉例來(lái)說(shuō),一列中的邏輯塊的數(shù)目、列的相對(duì)寬度、列的數(shù)目和次序、列中所包括的邏輯塊的類(lèi)型、邏輯塊的相對(duì)大小以及圖1頂部所包括的互連/邏輯實(shí)施方案純粹是示范性的。舉例來(lái)說(shuō),在實(shí)際FPGA中,在CLB出現(xiàn)的任何地方通常包括一個(gè)以上鄰近的CLB列,以促進(jìn)用戶(hù)邏輯的高效實(shí)施,但鄰近CLB列的數(shù)目隨FPGA的整體大小而變化。詹姆斯· M ·西姆金斯(James Μ. Simkins)等人的標(biāo)題為“具有級(jí)聯(lián)DSP切片的集成電路 integrated Circuit with Cascading DSP Slices) ” 的第 7,472,155 號(hào)美國(guó)專(zhuān)利中以額外細(xì)節(jié)描述了 DSP 106,所述美國(guó)專(zhuān)利以全文引用的方式并入本文中。DSP 106 的實(shí)例實(shí)施方案可在可從加利福尼亞州圣何塞市賽靈思公司(Xilinxdnc.,of San Jose, California)獲得的 Virtex 和 Spartan FPGA 中找到。圖2為描繪DSP切片200的示范性實(shí)施例的框圖/電路圖。DSP切片200可為(但不需要為)圖1的FPGA 100的DSP 106的示范性實(shí)施例。將D輸入信號(hào)(“input”) 201、 A輸入211、AC輸入(“ACIN”)341和輸入模式信號(hào)(“ inmode”)202提供到具有預(yù)加法器(“preadder”)的雙A、D寄存器204,其中將inmode 202提供到用于預(yù)加法器204的 inmode寄存器203。將B輸入212和BC輸入(“BCIN”)441提供到雙B寄存器242。DSP 切片200的乘法器251和M寄存器253以及C寄存器和在其右側(cè)的其它電路是常規(guī)的,且可在Virtex-5 FPGA中找到。因此,出于清楚的目的而避免對(duì)此類(lèi)先前已知電路的描述。 此外,術(shù)語(yǔ)“輸入”和“輸出”用以指示信號(hào)和端口中的任一者或兩者,包括(但不限于)其復(fù)數(shù)形式。圖3為描繪預(yù)加法器204的示范性實(shí)施例的電路圖。如下文以額外細(xì)節(jié)描述,預(yù)加法器204可經(jīng)動(dòng)態(tài)配置以操作為深度為0、1、2或3個(gè)寄存器。預(yù)加法器204包括多路復(fù)用器301到306、寄存器311到314、邏輯門(mén)321和322以及加法器/減法器331。應(yīng)了解,雖然在圖3中以及在圖2和圖4中根據(jù)Virtex-5 FPGA 的DSP切片的位寬度來(lái)說(shuō)明性地展示位寬度,但可使用除本文中說(shuō)明性地展示的位寬度以外或與本文中說(shuō)明性地展示的位寬度相同的位寬度或其組合。
盡管出于清楚且不限制的目的而未展示,但在此實(shí)施例中,去往多路復(fù)用器301 到305的控制選擇輸入是從FPGA結(jié)構(gòu)的配置存儲(chǔ)器單元提供的。此類(lèi)配置存儲(chǔ)器單元是根據(jù)配置位流來(lái)配置的。因此,在FPGA的上下文中,當(dāng)作為上電周期的一部分此FPGA正獲得狀態(tài)信息時(shí),那些存儲(chǔ)器單元的編程狀態(tài)決定多路復(fù)用器301到305的選定輸出,且此類(lèi)存儲(chǔ)器單元不能夠在不復(fù)位FPGA的情況下改變狀態(tài)。換句話(huà)說(shuō),多路復(fù)用器301到305在操作期間的狀態(tài)為靜態(tài)的。與多路復(fù)用器301到305在FPGA操作期間的靜態(tài)狀態(tài)相反,多路復(fù)用器306為可動(dòng)態(tài)操作的;換句話(huà)說(shuō),多路復(fù)用器306可在不必復(fù)位FPGA的情況下使其控制選擇在此FPGA的操作期間改變。在此示范性實(shí)施例中,此控制選擇由inmode 202 的一部分(即,inmode 202-0)提供,其中“_0”用以指示inmode總線(xiàn)的位位置零。此外,除了多路復(fù)用器306的動(dòng)態(tài)操作之外,可動(dòng)態(tài)地操作邏輯門(mén)321和322以及減法器331。因此,此類(lèi)可動(dòng)態(tài)操作的組件可在用戶(hù)設(shè)計(jì)的操作期間改變。在此實(shí)施例中, 圖3的inmode 202-0到202-3以及圖4的inmode 202-4可隨時(shí)鐘信號(hào)的每一周期而改變。 出于借助于實(shí)例而非限制以實(shí)現(xiàn)清楚性的目的,未展示例如此處可使用的時(shí)鐘信令。將inmode 202-0作為動(dòng)態(tài)控制選擇信號(hào)提供給多路復(fù)用器306以用于門(mén)控提供由Al寄存器311或A2寄存器312中的任一者延遲、由Al寄存器311和A2寄存器312兩者延遲或既不由Al寄存器311也不由A2寄存器312延遲的A輸入211或AC輸入341。同樣,一旦由存儲(chǔ)器單元狀態(tài)選定,來(lái)自多路復(fù)用器301到305的選定輸出在操作期間為靜態(tài)的而不復(fù)位FPGA。A輸入211或AC輸入341可從多路復(fù)用器301輸出。來(lái)自多路復(fù)用器301的輸出被提供作為對(duì)Al寄存器311的數(shù)據(jù)輸入以及作為對(duì)多路復(fù)用器302的數(shù)據(jù)輸入。Al寄存器311的輸出被提供作為對(duì)多路復(fù)用器302、304和306的數(shù)據(jù)輸入。多路復(fù)用器302的輸出被提供作為對(duì)A2寄存器312的數(shù)據(jù)輸入以及作為對(duì)多路復(fù)用器303的數(shù)據(jù)輸入。多路復(fù)用器303的輸出被提供作為對(duì)多路復(fù)用器304和306的數(shù)據(jù)輸入,以及被提供作為X MUX輸出342。參看圖2,預(yù)加法器204的X MUX輸出342可與圖2的雙B寄存器242的輸出442組合以獲得AB串聯(lián)信號(hào)250。返回到圖3,出于借助于實(shí)例而非限制以實(shí)現(xiàn)清楚性的目的,假設(shè)用戶(hù)已將多路復(fù)用器302和303設(shè)置為選擇其底部輸入作為輸出,且假設(shè)用戶(hù)已選擇AC輸入341 (即,來(lái)自另一 DSP切片的A級(jí)聯(lián)輸入)作為多路復(fù)用器301的輸出,于是作為對(duì)多路復(fù)用器306的數(shù)據(jù)輸入而提供的AC輸入341由Al寄存器311和A2寄存器312兩者記錄于多路復(fù)用器 306的上部數(shù)據(jù)輸入上以及多路復(fù)用器306的下部輸入上,AC輸入341僅由Al寄存器311 記錄。因此,應(yīng)了解,用戶(hù)可將寄存器深度選擇到多路復(fù)用器306的上部端口,而對(duì)多路復(fù)用器306的下部端口的輸入的寄存器深度總是深度僅為Al。如先前所提及,預(yù)加法器204包括雙A寄存器和雙D寄存器。這意味著(例如)Al 寄存器311和A2寄存器312為雙寄存器可配置的,即使Al和A2寄存器兩者、Al和A2寄存器中的僅一者或Al和A2寄存器中沒(méi)有一者可用于經(jīng)由多路復(fù)用器306的輸出提供對(duì)邏輯門(mén)322的輸入也是如此。此外,雙D寄存器是關(guān)于D寄存器313和AD寄存器314。同樣,應(yīng)了解,源自多路復(fù)用器301的輸出的對(duì)多路復(fù)用器306的上部輸入以及對(duì)多路復(fù)用器304的下部輸入可深度為無(wú)寄存器、深度為Al或A2或深度為Al和A2。此外, 同樣,多路復(fù)用器306的下部輸入以及多路復(fù)用器304的上部輸入深度總是為Al。多路復(fù)用器304的輸出為圖2的AC輸出(“AC0UT”)信號(hào)("AC output”)343,其可提供到另一 DSP切片,類(lèi)似于AC輸入341被提供到圖2的DSP切片200。選擇多路復(fù)用器306的上部輸入還是下部輸入用于輸出是受inmode 202-0的狀態(tài)所控制,且來(lái)自多路復(fù)用器306的輸出被提供作為對(duì)邏輯門(mén)322的數(shù)據(jù)輸入。雖然針對(duì)邏輯門(mén)321和322說(shuō)明性地描繪AND門(mén),但應(yīng)了解,可根據(jù)本文的描述使用其它邏輯門(mén)。AND 門(mén)322的其它輸入(其為反轉(zhuǎn)輸入)經(jīng)耦合以接收inmode 202-1。對(duì)于此實(shí)施例來(lái)說(shuō), inmode 202-1表示inmode 202的總線(xiàn)的位位置一。AND門(mén)322的輸出被提供作為對(duì)加法器/減法器331的輸入,即如下文以額外細(xì)節(jié)描述的A路徑輸入沈1,且提供到多路復(fù)用器 305的上部輸入。D輸入201被提供作為對(duì)D寄存器313的數(shù)據(jù)輸入。D寄存器313的數(shù)據(jù)輸出被提供到AND門(mén)321的上部輸入。AND門(mén)321的下部輸入經(jīng)耦合以接收inmode 202-2,其對(duì)于此實(shí)施例來(lái)說(shuō)為inmode 202的總線(xiàn)的位位置二。AND門(mén)321的輸出被提供作為對(duì)加法器/減法器331的另一輸入,即如下文以額外細(xì)節(jié)描述的D路徑輸入沈2。加法器/減法器 331經(jīng)配置以用于相加還是相減是受inmode 202-3所控制,inmode 202-3對(duì)于此實(shí)施例來(lái)說(shuō)為inmode 202的總線(xiàn)的位位置三。加法器/減法器331的輸出被提供到AD寄存器314 的數(shù)據(jù)輸入端口。AD寄存器314的輸出被提供作為對(duì)多路復(fù)用器305的另一輸入。多路復(fù)用器305的輸出為乘法器操作數(shù)信號(hào),即A乘法器(“A MULT”)信號(hào)344(圖2中說(shuō)明性地展示)。同樣,應(yīng)了解,多路復(fù)用器306、AND門(mén)322、AND門(mén)321、加法器/減法器331分別出于動(dòng)態(tài)操作的目的受inmode 202-0到202-3所控制,inmode 202-0到202-3分別表示 inmode 202的總線(xiàn)的位位置零到三。inmode 202-0和202-3用作控制選擇信號(hào)來(lái)選擇輸出或函數(shù),而inmode 202-1和202-2通過(guò)其狀態(tài)來(lái)操作以分別影響或不影響AND門(mén)322和 321的輸出。除了能夠動(dòng)態(tài)地控制AND門(mén)321和322之外,AND門(mén)321和322中的任一者的輸出可用以產(chǎn)生對(duì)加法器/減法器331的零輸入。因此,應(yīng)了解,如果AND門(mén)322向加法器/ 減法器311提供零操作數(shù)輸入,那么可被提供作為多路復(fù)用器305的輸出的D輸入201的輸入可穿過(guò)寄存器313和314,即二深寄存器路徑?;蛘?,如果從AND門(mén)321的輸出產(chǎn)生零, 且使用加法器/減法器331,那么有可能針對(duì)A輸入211或AC輸入341中的任一者具有三深寄存器路徑,即穿過(guò)Al寄存器311、A2寄存器312和AD寄存器314。圖4為描繪圖2的DSP切片200的雙B寄存器M2的示范性實(shí)施例的電路圖。B 輸入信號(hào)(“B input”)212和BC輸入(“BCIN,,)信號(hào)("BC input”)441被提供作為對(duì)多路復(fù)用器401的輸入。如同多路復(fù)用器301到304,雙B寄存器M2的多路復(fù)用器401 到404在操作期間為靜態(tài)的,即其輸出在FPGA的配置期間確立且在操作期間無(wú)法動(dòng)態(tài)重配置。如同多路復(fù)用器306,多路復(fù)用器405可響應(yīng)于inmode 202-4而動(dòng)態(tài)地操作,inmode 204對(duì)于此實(shí)施例來(lái)說(shuō)表示inmode 202的總線(xiàn)的位位置四。Bl寄存器411和B2寄存器 412對(duì)應(yīng)于Al寄存器311和A2寄存器312。同樣,多路復(fù)用器401到404分別對(duì)應(yīng)于多路復(fù)用器301到304。此外,多路復(fù)用器405對(duì)應(yīng)于多路復(fù)用器306。來(lái)自多路復(fù)用器404的 BC輸出(“BCOUT”)信號(hào)("BC output”) 443 (圖2中說(shuō)明性地展示)對(duì)應(yīng)于AC輸出343, 但對(duì)于此實(shí)施例來(lái)說(shuō)具有較小的位寬度。
同樣,X多路復(fù)用器(“X MUX”)信號(hào)442對(duì)應(yīng)于X多路復(fù)用器信號(hào)342,但再次對(duì)于此實(shí)施例來(lái)說(shuō)具有較小的位寬度。應(yīng)了解,X多路復(fù)用器信號(hào)342和442為AB串聯(lián)的, 如大體上指示為用于對(duì)X多路復(fù)用器252的輸入的圖2的AB信號(hào)250。多路復(fù)用器405的輸出為另一乘法器操作數(shù)信號(hào),即B乘法器(“B MULT”)信號(hào) 444 (圖2中說(shuō)明性地展示),其對(duì)應(yīng)于A乘法器信號(hào)344。B乘法器信號(hào)444和A乘法器信號(hào)344對(duì)于此實(shí)施例來(lái)說(shuō)具有不同的位寬度;然而,兩個(gè)輸出均可提供作為對(duì)圖2的乘法器 251的輸入操作數(shù)。因?yàn)殡pB寄存器242與預(yù)加法器204的雙A寄存器部分相同或相似,所以出于清楚的目的而避免重復(fù)描述。同時(shí)參看圖2到圖4,進(jìn)一步描述DSP切片200??蓪nmode 202視為動(dòng)態(tài)控制總線(xiàn)。除了 inmode 202之外,可存在時(shí)鐘信號(hào)、時(shí)鐘啟用信號(hào)、設(shè)置信號(hào)或復(fù)位信號(hào),以及其它寄存器控制信號(hào)。這些信號(hào)出于清楚而非限制的目的而未展示為進(jìn)入寄存器中。AB串聯(lián)信號(hào)250在其路徑中沒(méi)有M寄存器253。因此,A與B之間的乘法運(yùn)算具有三個(gè)管線(xiàn)寄存器級(jí),且加法運(yùn)算(例如,串聯(lián)的AB( “A:B”)與C的相加)具有兩個(gè)寄存器級(jí)。然而,通過(guò)使用A2寄存器312和B2寄存器412,寄存器A2 312和B2 412可用以提供寄存器管線(xiàn)級(jí),其將以其它方式與M寄存器253相關(guān)聯(lián)。換句話(huà)說(shuō),用于對(duì)X多路復(fù)用器 252的輸入的管線(xiàn)級(jí)的數(shù)目可經(jīng)配置為在DSP切片200中為相同的,這可用以避免寄存器未中,即“磁泡”。因此,通過(guò)設(shè)置操作模式,如下文以額外細(xì)節(jié)描述,A:B+C運(yùn)算(例如)和 Α^Φ+C運(yùn)算(例如)兩者均可在三個(gè)時(shí)鐘周期中執(zhí)行,例如,對(duì)于A:B+C運(yùn)算來(lái)說(shuō),圖2的 Al寄存器311到A2寄存器312到P寄存器,且對(duì)于A*B+C運(yùn)算中的A來(lái)說(shuō),圖2的Al寄存器311到M寄存器253到P寄存器(例如,同樣,圖2的Bl寄存器411到M寄存器253到 P寄存器)。圖2的C寄存器在以上兩個(gè)實(shí)例中比A和B少一個(gè)寄存器,但此差異對(duì)于所有操作模式來(lái)說(shuō)為可預(yù)測(cè)的,且因此可在FPGA結(jié)構(gòu)中解決以針對(duì)C添加另一寄存器級(jí)。應(yīng)理解,這允許在無(wú)磁泡的情況下隨交替時(shí)鐘周期在相乘與相加運(yùn)算之間動(dòng)態(tài)地交替。Al寄存器311和A2寄存器312以及Bl寄存器411和B2寄存器412可用以提供寄存器堆功能。由于inmode 202的動(dòng)態(tài)控制總線(xiàn)功能,此寄存器堆可操作作為隨機(jī)存取寄存器堆?;蛘?,Al寄存器311和A2寄存器312以及Bl寄存器411和B2寄存器412可經(jīng)配置以提供移位寄存器邏輯(“SRL”)。因此,隨機(jī)存取寄存器堆和SRL兩者的雙功能性在 DSP切片200內(nèi)經(jīng)由inmode總線(xiàn)202使用動(dòng)態(tài)控制來(lái)提供。例如,總線(xiàn)可表示信號(hào)群組或信號(hào)跡線(xiàn)群組或兩者。其它功能性包括使預(yù)加法器204用作二到一多路復(fù)用器,即通過(guò)經(jīng)由使操作數(shù)中的一者為零來(lái)使加法器/減法器331在對(duì)其的輸入之間進(jìn)行選擇以獲得對(duì)AD寄存器314的輸出。換句話(huà)說(shuō),可分別響應(yīng)于inmode 202-1和202-2來(lái)分別迫使AND門(mén)322和321的輸出中的一者為零。另外,如果A輸入路徑的輸出為負(fù),那么可從沿去往加法器/減法器331 的D路徑的操作數(shù)輸入產(chǎn)生零,使得加法器/減法器331可用以產(chǎn)生提供到加法器/減法器331的A或AC操作數(shù)的絕對(duì)值。此外,通過(guò)使用Al和A2寄存器來(lái)使位移位,可執(zhí)行二的補(bǔ)碼反轉(zhuǎn)。因此,概括地說(shuō),inmode 202-0用作無(wú)/A1/A2選擇信號(hào)。inmode 202-1可用以使沿A寄存器路徑(S卩,寄存器Al和Α2( “Α寄存器”))的輸出歸零。換句話(huà)說(shuō),使輸出歸零的能力促進(jìn)在不使用復(fù)位的情況下且在不破壞寄存器內(nèi)容的情況下在A寄存器與D寄存器之間進(jìn)行多路復(fù)用。當(dāng)inmode 202-1等于邏輯1時(shí),對(duì)加法器/減法器331的A路徑輸入 261被迫為零,且因此可有效地選擇對(duì)預(yù)加法器331的D路徑輸入沈2以用于輸出。另外, 當(dāng)inmode 202-1等于邏輯1時(shí),對(duì)多路復(fù)用器305的A路徑輸入261可用以迫使A乘法器信號(hào)344為零。然而,為了迫使A乘法器信號(hào)344為零,設(shè)置D端口設(shè)置(即,用于向多路復(fù)用器305提供控制選擇信號(hào)的配置存儲(chǔ)器單元設(shè)置)以停用D端口,S卩“如果使用D端口 =假,,。inmode 202_2可用以使沿先前相對(duì)于inmode 202_1而描述的線(xiàn)路的D寄存器 313的輸出和A寄存器選定路徑的輸出歸零。因此,對(duì)加法器/減法器331的D路徑輸入沈2 將為邏輯0,其可用于促進(jìn)在A路徑輸入261與D路徑輸入262之間進(jìn)行多路復(fù)用。此外, inmode 202-1和inmode 202-2可用于動(dòng)態(tài)功率門(mén)控以實(shí)現(xiàn)功率節(jié)省。如果inmode 202-1 處于邏輯1狀態(tài),那么迫使對(duì)加法器/減法器331的A路徑輸入261為0,且如果inmode 202-2處于邏輯0狀態(tài),那么迫使對(duì)加法器/減法器331的D路徑輸入262為0。如果對(duì)加法器/減法器331的兩個(gè)輸入均為邏輯0,那么加法器/減法器331的操作消耗較少功率,因?yàn)樵诖藯l件下,在加法器/減法器331內(nèi)不存在晶體管切換。因此,通過(guò)“動(dòng)態(tài)功率門(mén)控”,意味著當(dāng)未選擇加法器/減法器331功能性時(shí),可將對(duì)加法器/減法器331的兩個(gè)輸入設(shè)置為邏輯零。通過(guò)使固定邏輯值提供作為對(duì)加法器/減法器331的操作數(shù)輸入,加法器/減法器331不切換,且這可用于動(dòng)態(tài)功率節(jié)省。換句話(huà)說(shuō),因?yàn)榭蓜?dòng)態(tài)設(shè)置inmode以用于動(dòng)態(tài)地固定對(duì)加法器/減法器331的操作數(shù)輸入,所以可動(dòng)態(tài)地選擇或撤消選擇加法器/減法器功能性,且相對(duì)于后者,可實(shí)施動(dòng)態(tài)功率節(jié)省。inmode 202-3可用以通過(guò)加法器/減法器331使A輸入路徑的A操作數(shù)與D 輸入路徑沈2的D操作數(shù)相加或從其減去。同樣,A輸入路徑261上的A操作數(shù)的動(dòng)態(tài)反轉(zhuǎn)可用作絕對(duì)值函數(shù)。換句話(huà)說(shuō),舉例來(lái)說(shuō),可通過(guò)使D操作數(shù)輸入262被迫為零來(lái)動(dòng)態(tài)反轉(zhuǎn)保持于Al或A2中的寄存器值,如先前所描述。inmode 202-4可以與inmode 202-0可用作A1/A2寄存器選擇信號(hào)相同的方式用作B1/B2寄存器選擇信號(hào)。因此,應(yīng)了解,DSP切片200的功能性很好地延伸超出簡(jiǎn)單地將預(yù)加法器添加到DPS,如在可從加利福尼亞州圣何塞市賽靈思公司(Xilinx,Inc. , of San Jose, California)獲得的 Spartan FPGA DSP 48A 中所做那樣。此外,應(yīng)了解,可執(zhí)行復(fù)數(shù)乘法運(yùn)算,例如(A+ai)*(B+bi) = (AB_ab) + (Ab+aB) i。A 和a可為分別通過(guò)使用提供給A2寄存器312和Al寄存器311的單獨(dú)時(shí)鐘啟用信號(hào)且響應(yīng)于inmode 202-0從多路復(fù)用器306選擇性地輸出所述兩個(gè)操作數(shù)中的一者而輸入到A2寄存器312和Al寄存器311的單獨(dú)操作數(shù)。同樣,B和b可為分別通過(guò)使用提供給B2寄存器412和Bl寄存器411的單獨(dú)時(shí)鐘啟用信號(hào)且響應(yīng)于inmode 202-4從多路復(fù)用器405選擇性地輸出所述兩個(gè)操作數(shù)中的一者而輸入到B2寄存器412和Bl寄存器411的單獨(dú)操作數(shù)。操作數(shù)A、B、a和b可本地存儲(chǔ)于BRAM中。由于操作數(shù)重用,BRAM僅在每隔兩個(gè)時(shí)鐘周期的突發(fā)中由DPS切片200存取,可針對(duì)實(shí)例復(fù)數(shù)乘法運(yùn)算僅讀取一次,因?yàn)锳l、A2、Bl 和B2寄存器可用以在本地存儲(chǔ)此類(lèi)操作數(shù)的實(shí)數(shù)和虛數(shù)部分。盡管使用復(fù)數(shù)乘法的實(shí)例, 但應(yīng)理解,執(zhí)行順序乘法也可為相同的,例如(A:a)*(B:b)。出于借助于實(shí)例而非限制以實(shí)現(xiàn)清楚性的目的,假定42位《4位用于(A: a) * (B:b),那么可通過(guò)A*B+shl7 (A*0b+B*00000 000a+shl7(0b*00000000a)來(lái)獲得結(jié)果,其中“shl7”指示17位位移。
圖5為描繪inmode功能表500的示范性實(shí)施例的表圖。表500的前五列分別展示分別對(duì)應(yīng)于inmode 202-4到202-0的inmode位四到零的可能邏輯狀態(tài)。inmode 202-4 為B2/B1寄存器選擇信號(hào),且因此如果邏輯0為inmode 202-4的狀態(tài),那么寄存器B2的內(nèi)容可提供作為乘法器B端口 444的輸入,且如果inmode 202-4為邏輯狀態(tài)1,那么乘法器B 端口 444的輸入為Bl寄存器411的內(nèi)容。因此,表500的第一列的邏輯0和1分別對(duì)應(yīng)于表500的最后一列的B2和Bi。表500的第六列指示用以提供對(duì)圖3的多路復(fù)用器305的控制選擇控制的存儲(chǔ)器單元的編程狀態(tài),其大體上指示為控制選擇信號(hào)501 (圖3中說(shuō)明性地展示)。因此,控制選擇信號(hào)501指示D端口(S卩,D輸入201)是否在使用中。如表500的前四行中所指示,假值指示預(yù)加法器204的D端口不在使用中。列501中的剩余行指示用于控制信號(hào)501的真值,其意味著預(yù)加法器204的D端口在使用中。表500的第七列指示乘法器A的端口 344上的操作數(shù)輸入。說(shuō)明性地展示的可能操作數(shù)輸入為針對(duì)D寄存器保持于Al或A2中的值。另外,如先前所描述,邏輯0可提供作為A乘法器輸出344。此外,通過(guò)對(duì)存儲(chǔ)于AD寄存器314中的操作數(shù)值D+A2、D+A1、D_A2或 D-Al進(jìn)行相加而獲得的值可提供作為A乘法器輸出344。符號(hào)A1/A2和B1/B2分別用以描述一或二深寄存器。如果對(duì)加法器/減法器331的A輸入操作數(shù)被門(mén)控?cái)嚅_(kāi),那么寄存器 D 313和AD 314以組合方式呈現(xiàn)為用于D端口 201的二深記錄。因此,符號(hào)D1/D2分別指代分別用于一深和二深記錄的D/AD寄存器。在Spartan FPGA中,預(yù)加法器位于輸入寄存器與輸出寄存器之間,其中輸出寄存器對(duì)乘法器進(jìn)行饋入。然而,此配置無(wú)法用于實(shí)施脈動(dòng)濾波器。在以下描述中,將DSP切片 200描述為用于實(shí)施脈動(dòng)濾波器。應(yīng)理解,添加有預(yù)加法器204和雙B寄存器M2的DSP切片200能夠支持順序復(fù)數(shù)乘法、順序乘法和順序復(fù)數(shù)共扼運(yùn)算。另外,通過(guò)使A2和B2寄存器本質(zhì)上相對(duì)于M寄存器253來(lái)說(shuō)為虛擬寄存器來(lái)平衡AB串聯(lián)路徑與AB相乘路徑的能力允許在三級(jí)管線(xiàn)的情況下在相乘與相加運(yùn)算之間進(jìn)行動(dòng)態(tài)切換。此外,動(dòng)態(tài)存取A1、A2、B1、B2寄存器以寫(xiě)入到二深輸入寄存器中的任一者或從二深輸入寄存器中的任一者讀取的能力由inmode 202促進(jìn),如先前所描述。此外,使零輸入到任一預(yù)加法器輸入端口的靈活性促進(jìn)多通道濾波器。可例如使用Al寄存器311、A2寄存器312和D寄存器312在本地存儲(chǔ)三組濾波器系數(shù),且能夠動(dòng)態(tài)地(即,在每一時(shí)鐘周期)從對(duì)稱(chēng)操作切換到非對(duì)稱(chēng)操作。另外,應(yīng)了解, 在不需要相加和相減功能性時(shí),支持使用加法器/減法器331的AD多路復(fù)用能力以實(shí)現(xiàn)動(dòng)態(tài)操作。當(dāng)在本地存儲(chǔ)三組濾波器系數(shù)時(shí),那么不使用預(yù)加法器對(duì)稱(chēng)性。經(jīng)由B輸入端口 212和/或B級(jí)聯(lián)輸入端口 441來(lái)代替A輸入端口 211和/或A級(jí)聯(lián)輸入端口 341來(lái)施加原始數(shù)據(jù),且可通過(guò)使用加法器/減法器331提供多路復(fù)用功能來(lái)選擇濾波器系數(shù)。因此, 非對(duì)稱(chēng)濾波器有可能具有三組濾波器系數(shù)。圖6為描繪現(xiàn)有技術(shù)的8分接頭偶數(shù)對(duì)稱(chēng)脈動(dòng)有限脈沖響應(yīng)(“HR”)濾波器600 的示范性實(shí)施例的框圖/電路圖。HR濾波器600由DSP塊106組成,所述DSP塊106已被編程有操作模式(“0PM0DE” )。因此,DSP塊106-1到106-4表示具有級(jí)聯(lián)輸出以提供所得級(jí)聯(lián)輸出(即,“P”級(jí)聯(lián)60 的現(xiàn)有技術(shù)的DSP。至此,移位寄存器邏輯(“SRL”)604 由FPGA結(jié)構(gòu)602中的寄存器形成,且因此抑制了性能。另外,預(yù)加法器級(jí)605和輸入寄存器級(jí)606先前形成于FPGA結(jié)構(gòu)602中。圖7為描繪具有DSP切片200-1到200_4的8分接頭偶數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波器700 的示范性實(shí)施例的框圖/電路圖。DSP切片200-1到200-4中的每一者可為圖2的DSP切片200。重新參看圖2到圖4且繼續(xù)參看圖7,進(jìn)一步描述FIR濾波器700。盡管說(shuō)明性地展示8分接頭濾波器,但應(yīng)了解,可實(shí)施少于或多于8個(gè)分接頭,且因此可實(shí)施少于或多于四個(gè) DSP 切片 200。DSP 切片 200-1 針對(duì) OPMODE 設(shè)置為 0,0,0,0,1,0,1,且 DSP 切片 200-2 到200-4各自設(shè)置為具有OPMODE 0,0,1,0,1,0,1。這些OPMODE對(duì)于圖6的HR濾波器600 來(lái)說(shuō)為相同的,且因?yàn)槠涫窍惹耙阎?,所以本文中不再以多余?xì)節(jié)對(duì)其進(jìn)行描述。盡管HR濾波器700具有與圖6的HR濾波器600不同的設(shè)計(jì),但如果HR濾波器 600的寄存器606被推送到預(yù)加法器605的輸入,那么對(duì)預(yù)加法器331的A輸入(例如圖2 的A輸入端口 211或FIR濾波器700的濾波器輸入χ (η) 701)具有兩個(gè)管線(xiàn)式延遲級(jí),其與兩個(gè)分接延遲線(xiàn)值匹配。因此,與使寄存器延遲線(xiàn)(例如SRL 604)分出并連接到A端口寄存器606以實(shí)現(xiàn)重新平衡相反,可避免此類(lèi)分接,如對(duì)于HR濾波器700說(shuō)明性地展示??杀苊饧拇嫫?06鏡射于預(yù)加法器605的A輸入上。換句話(huà)說(shuō),不使用此類(lèi)鏡射,因?yàn)槎預(yù) 寄存器輸出(即,A寄存器311和31 可用以提供(例如)與先前經(jīng)由鏡射路徑所提供的數(shù)據(jù)相同的原始數(shù)據(jù),且因此可消除此鏡射路徑。因此,預(yù)加法器605的D輸入側(cè)上的相對(duì)于寄存器606的鏡射寄存器在FIR濾波器700中有效地用D寄存器313代替。106-1中的第一寄存器因此為預(yù)加法器輸出寄存器,即DSP切片200-1中的AD寄存器314。除了消除 FIR濾波器600的預(yù)加法器A輸入上的額外寄存器之外,在HR濾波器700中,不必同時(shí)分出Al和A2寄存器輸入兩者,這與HR濾波器600相反。然而,與HR濾波器600相反,對(duì)于FIR濾波器700來(lái)說(shuō),輸入寄存器級(jí)606移動(dòng)到預(yù)加法器級(jí)605的輸入,可在DSP中實(shí)施預(yù)加法器級(jí)605連同輸入寄存器606,且在FPGA 結(jié)構(gòu)602中僅實(shí)施SRL 604。SRL 604為(例如)SRL 16,其具有八個(gè)寄存器級(jí)。對(duì)SRL 604 的輸入為濾波器輸入x(n)701,且來(lái)自SRL 604的輸出被并行地提供(即,廣播)到DSP切片200-1到200-4的每一 D寄存器313。濾波器輸入χ (η) 701還提供到DSP切片200_1到200-4的鏈的初始寄存器。對(duì) HR濾波器700的輸入可相對(duì)于其中實(shí)施此HR濾波器700的FPGA以芯片上或芯片外形式獲得。濾波器輸入701被提供到DSP切片200-1的Al和Α2寄存器311和312,且接著提供到其它DSP切片中的每一者的呈移位寄存器形式的Al和Α2寄存器,即用于順序輸入。在此實(shí)施例中,DSP切片200-1到200-4的Al寄存器311和Α2寄存器312組合地具有與SRL 604相同的延遲或寄存器級(jí)數(shù)目。對(duì)SRL 604的濾波器輸入701在廣播到DSP切片200_1到200_4之前為D輸入 201。在此實(shí)施例中,因?yàn)镈輸入201被廣播到DSP切片200-1到200-4中的每一者,所以其在FPGA結(jié)構(gòu)中實(shí)施。濾波器輸入701還被提供作為對(duì)DSP切片200-1 (即,第一級(jí)DSP 切片)的輸入A 211。然而,對(duì)于對(duì)DSP切片200-2到200-4的輸入來(lái)說(shuō),此輸入為提供作為對(duì)級(jí)聯(lián)中的下一級(jí)的AC輸入341的AC輸出343。四個(gè)系數(shù)h0到h3分別被提供到B輸入端口,即DSP切片200-1到200-4的B輸入212。在此實(shí)施例中,系數(shù)h0到h3(即,系數(shù)703)被提供到DSP切片200-1到200-4中的每一者的相應(yīng)B輸入端口 212,因?yàn)榇祟?lèi)系數(shù)不是級(jí)聯(lián)的。換句話(huà)說(shuō),在此實(shí)施例中不使用BC輸入441和BC輸出443。系數(shù)703可輸入到Bl寄存器411或B2寄存器412。出于借助于實(shí)例而非限制以實(shí)現(xiàn)清楚性的目的,應(yīng)假設(shè)使用Bl寄存器411 ;然而,應(yīng)了解,可使用B2寄存器412來(lái)代替Bl寄存器411,或可使用Bl與B2寄存器的組合。PC輸出802與PC輸入801在DSP切片中的每一者之間級(jí)聯(lián)。DSP切片200-4的 PC輸出提供合成濾波器輸出y(n-8) 710。將復(fù)制分接頭延遲711輸入到SRL 604以便提供時(shí)序調(diào)整。應(yīng)了解,可使用VHDL作為模塊化組件來(lái)為DSP切片200建模。圖8為描繪DSP切片200-2的示范性實(shí)施例的框圖/電路圖。DSP切片200-2可具有如先前針對(duì)此實(shí)施例所描述的OPMODE 0,0,1,0,1,0,1,以用于實(shí)施對(duì)稱(chēng)脈動(dòng)相加-相乘-相加處理模塊。同樣,將AC輸入341依序提供到Al和A2寄存器311和312。將每一 D輸入201 提供到D寄存器313,且將那些寄存器的輸出提供到處于相加模式的加法器/減法器331。同樣,將寄存器312的輸出作為AC輸出343依序提供到下游DSP切片200_3,即作為此下游DSP切片200-3的AC輸入341。同樣,從上游DSP切片200-1的AC輸出343獲得 AC輸入341。每一 B輸入212接收對(duì)例如Bl寄存器411等B寄存器的系數(shù)。將加法器/減法器331的輸出提供到AD寄存器314,且將寄存器411和314的輸出提供到乘法器251。將乘法器251的輸出提供到M寄存器253,且將M寄存器253的輸出提供到加法器,且接著提供到后續(xù)輸出寄存器級(jí),如現(xiàn)有技術(shù)中所進(jìn)行且因此出于清楚的目的而不再以多余細(xì)節(jié)進(jìn)行描述。此外,如在現(xiàn)有技術(shù)中所進(jìn)行且因此出于清楚的目的而不再以多余細(xì)節(jié)進(jìn)行描述,將可從上游DSP切片200-1的PC輸出802獲得的PC輸出801輸入到此加法器以用于與寄存器253的輸出求和,且可將此相加的結(jié)果提供到輸出寄存器以用于將PC 輸出802提供到下游DSP切片200-3。圖9為描繪9分接頭奇數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波器900的示范性實(shí)施例的框圖/電路圖。因?yàn)镠R濾波器900類(lèi)似于圖7的HR濾波器700,所以出于清楚的目的而僅描述不同之處。SRL 904為用于如先前所描述那樣廣播D輸入201的九深移位寄存器。添加額外 DSP切片(即,DSP切片200-5)作為用于產(chǎn)生輸出y(n-9)910的最終級(jí)。另外,將系數(shù)903 中的額外系數(shù)h4提供作為對(duì)DSP切片200-5的B寄存器411的輸入。DSP切片200-5具有與DSP切片200-2到200-4相同的0PM0DE。盡管D輸入201可移位到DSP切片200-5的寄存器313,但DSP切片200-5經(jīng)配置以停用D端口的使用,或在去往DSP切片200-5的處于相加模式的加法器/減法器331的D 輸入路徑262上輸入零。因此,應(yīng)了解,使用動(dòng)態(tài)配置,HR濾波器(例如HR濾波器900) 的最終級(jí)處的奇數(shù)切片(例如DSP切片200-5)可出于作為奇數(shù)數(shù)目的分接頭濾波器而操作的目的而動(dòng)態(tài)地改變。同樣,A輸入路徑261可動(dòng)態(tài)地改變,使得寄存器311和312中的內(nèi)容不在DSP切片200-5的加法器/減法器311處顯現(xiàn),而是將邏輯0提供到加法器/減法器331的兩個(gè)輸入端口。換句話(huà)說(shuō),通過(guò)適當(dāng)?shù)卦O(shè)置inmode 202-1和202_2,對(duì)加法器/減法器331的兩個(gè)輸入均可為零。另外,對(duì)于偶數(shù)數(shù)目的濾波器分接頭來(lái)說(shuō),將不會(huì)存在奇數(shù)系數(shù),例如 h4903,且因此用于任何未用分接頭的系數(shù)輸入可為邏輯1或邏輯0。因此,來(lái)自寄存器253 的輸出可為提供到最終級(jí)加法器以提供輸出的邏輯0,所述輸出實(shí)際上為具有額外管線(xiàn)延遲的圖7的y (n-8) 710。所得濾波器為具有圖9的y (n_9) 910的輸出等待時(shí)間的8分接頭濾波器。因此,應(yīng)了解,如先前所描述那樣使用inmode 202-1和202-2且具有奇數(shù)數(shù)目的DSP 切片,此DSP濾波器可為可動(dòng)態(tài)調(diào)整的,以提供奇數(shù)或偶數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波。SRL 16可經(jīng)動(dòng)態(tài)調(diào)整以適應(yīng)不同濾波器長(zhǎng)度。所以,對(duì)于將9分接頭濾波器轉(zhuǎn)換為輸出為y(n-9)910 的8分接頭濾波器的先前實(shí)例來(lái)說(shuō),SRL 16為z-8。另外,在此實(shí)施例中,在操作或?qū)?shù)據(jù)移位到HR濾波器中存在時(shí)滯,且因此動(dòng)態(tài)調(diào)整以及從一個(gè)HR操作序列到另一 FIR操作序列的數(shù)據(jù)可被隱蔽。換句話(huà)說(shuō),在不必等待一個(gè)FIR操作(例如奇數(shù)HR操作)完成的情況下,用于后續(xù)HR操作的數(shù)據(jù)和參數(shù)可隱蔽到HR濾波器中,同時(shí)仍操作所述HR濾波器以完成先前HR操作序列。對(duì)于從奇數(shù) FIR操作序列到達(dá)偶數(shù)HR操作序列來(lái)說(shuō)也是這樣。圖10為描繪9分接頭奇數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波器1000的示范性實(shí)施例的框圖/電路圖,所述FIR濾波器1000為圖9的HR濾波器900的替代形式。在此實(shí)施例中,對(duì)于奇數(shù)操作來(lái)說(shuō),加法器/減法器331實(shí)際上不具有來(lái)自D輸入路徑沈2的零輸入。因此,實(shí)際上,最終DSP切片(其在此實(shí)施例中為DSP切片200-5)將數(shù)字相加到其自身,從而實(shí)際上使數(shù)字加倍。因此,系數(shù)1003為0. 5h40這意味著實(shí)際上在DSP切片200-5中2x(n)乘以 0. 5h4以便否定此切片的加法器/減法器331的相加效應(yīng)。在此實(shí)施例中,系數(shù)1003中可能存在某種精度損失;然而,此實(shí)施例允許在不必經(jīng)由inmode 202-2動(dòng)態(tài)調(diào)整D輸入201 的情況下鋪砌DSP切片。在圖9和圖10的實(shí)施例中的任一者中,最后一個(gè)DSP切片有效地繞過(guò)預(yù)加法器操作以實(shí)現(xiàn)奇數(shù)對(duì)稱(chēng)脈動(dòng)HR濾波。最后一個(gè)分接頭使用不同處理或迫使邏輯0為操作數(shù)輸入。因此,在此實(shí)施例中,可實(shí)施多級(jí)HR濾波器。此HR濾波器可經(jīng)實(shí)施以實(shí)現(xiàn)取決于應(yīng)用的最長(zhǎng)可能FIR使用。此FIR濾波器可(例如)用于時(shí)分多路復(fù)用應(yīng)用,其中在不重新配置可編程邏輯的情況下動(dòng)態(tài)地設(shè)置具有不同長(zhǎng)度的^R濾波器。換句話(huà)說(shuō),用于廣播D輸入201的移位濾波器可經(jīng)設(shè)定以獲得用戶(hù)應(yīng)用的最長(zhǎng)HR濾波器;但動(dòng)態(tài)地修改SRL 延遲以與濾波器中的分接頭數(shù)目匹配。盡管針對(duì)使用inmode進(jìn)行動(dòng)態(tài)設(shè)置僅描述了奇數(shù)FIR濾波器的最后一個(gè)DSP切片,但應(yīng)了解,可如此動(dòng)態(tài)地設(shè)置在HR末尾處的任何數(shù)目的DSP切片。因此,在上述9分接頭FIR濾波器中,此FIR濾波器可在不必重新配置用以實(shí)施移位寄存器的可編程邏輯的情況下,動(dòng)態(tài)地從九個(gè)分接頭向下調(diào)整到一個(gè)分接頭,或甚至有效地在旁路模式中調(diào)整到?jīng)]有分接頭。更一般來(lái)說(shuō),濾波器輸入系列χ (η)可經(jīng)耦合以用于輸入到形成HR濾波器的 DSP鏈,以提供濾波器輸出系列y(n-p),其中ρ為有效分接頭數(shù)目的整數(shù)數(shù)目且可動(dòng)態(tài)調(diào)離
iF. ο應(yīng)了解,盡管描述了大體上固定的系數(shù),但此類(lèi)系數(shù)可在應(yīng)用之間改變。同樣,因?yàn)槭褂枚罴拇嫫骶彌_,所以可使用從一個(gè)HR深度到下一個(gè)HR深度的信息隱蔽,其中傳送針對(duì)每一級(jí)而交錯(cuò)。圖11為描繪FIR使用流程1100的示范性實(shí)施例的流程圖。在1101處,實(shí)施FIR 濾波器,其在待使用的所有應(yīng)用中具有最長(zhǎng)數(shù)目的級(jí)。在1102處,獲得待針對(duì)當(dāng)前應(yīng)用使用的級(jí)數(shù)目。在1103處,如果還不是正確長(zhǎng)度的話(huà),動(dòng)態(tài)地調(diào)整HR濾波器,以適應(yīng)在1102處找到的待使用的級(jí)數(shù)目。在1104處,確定是否將執(zhí)行另一 FIR序列。如果沒(méi)有其它HR 序列要執(zhí)行,那么流程1100可在1199處結(jié)束。如果在1104處確定另一 FIR序列要執(zhí)行, 那么可在1105處獲得并隱蔽用于所述其它HR序列的輸入,且可在1102處再次確定待使用的級(jí)數(shù)目,以用于在1103處動(dòng)態(tài)地調(diào)整(如果需要的話(huà))HR濾波器。因此,應(yīng)了解,可通過(guò)門(mén)控邏輯來(lái)對(duì)此濾波器進(jìn)行門(mén)控,所述門(mén)控邏輯用于動(dòng)態(tài)地將結(jié)尾的一個(gè)或一個(gè)以上DPS塊置零,以將此濾波器操作為具有偶數(shù)數(shù)目的分接頭,但鏈中存在奇數(shù)數(shù)目的DSP塊。此外,此門(mén)控邏輯可用于動(dòng)態(tài)地將結(jié)尾的一個(gè)或一個(gè)以上DSP 塊置零,以將此濾波器操作為具有奇數(shù)數(shù)目的分接頭,但鏈中存在偶數(shù)數(shù)目的DSP塊?,F(xiàn)轉(zhuǎn)向圖12,展示根據(jù)本發(fā)明實(shí)施例的實(shí)施對(duì)稱(chēng)轉(zhuǎn)置卷積有限脈沖響應(yīng)(FIR)濾波器的電路的框圖。圖12的實(shí)施例展示DSP塊的布置(其可組成DSP切片200),其經(jīng)配置以使用DSP塊的預(yù)加法器來(lái)啟用對(duì)稱(chēng)轉(zhuǎn)置卷積FIR濾波器,且具有寄存器以提供具有共同系數(shù)的分接頭所必需的延遲,以在單個(gè)DSP塊中與所述共同系數(shù)相乘。選擇包含寄存器的延遲將取決于正被實(shí)施的濾波器的功能,其中圖12到圖14的DSP塊中的恰當(dāng)延遲可使用上文陳述的圖3的電路或某種其它合適電路來(lái)實(shí)施。雖然DSP塊優(yōu)選包含相同元件,但其可不同地配置。舉例來(lái)說(shuō),可編程互連(例如上文參看圖1所描述的可編程互連)可用以連接所述延遲,如所展示,或配置位可用以選擇多路復(fù)用器,如參看圖3所描述。因?yàn)閳D12到圖14的實(shí)施例涉及具有奇數(shù)數(shù)目的分接頭的對(duì)稱(chēng)轉(zhuǎn)置卷積HR濾波器,所以DSP級(jí)中的一者將僅接收單個(gè)分接頭,而其它DSP級(jí)將接收具有共同系數(shù)的多個(gè)分接頭。如圖12到圖14中所配置,DSP塊的布置和配置使得能夠根據(jù)等式y(tǒng)(n-4) = k0*x( n-4) +kl*x (n-5) +k2*x (n_6) +kl*x (n_7) +k0*x (n-8)實(shí)施對(duì)稱(chēng)轉(zhuǎn)置卷積 FIR 濾波器,所述等式當(dāng)在對(duì)乘法器的輸入的時(shí)間幀中表達(dá)時(shí),以因式分解形式書(shū)寫(xiě)為kO{X(n-4)+X(n-8)}+kl {χ (η-5) +χ (η-7)} +k2*x (η-6)或以因式分解形式書(shū)寫(xiě)為 y (n_2) = k0 {χ (η-2) +χ (η-6) }+kl{ X(n-3)+X(n-5)}+k2*X(n-4),如圖12和圖13中所展示。針對(duì)y(n_4)結(jié)果的內(nèi)積計(jì)算展示每一濾波器分接頭的原始數(shù)據(jù)索引。因此,只有對(duì)乘法器1210的最右邊分接頭χ (η-2)輸入與Χ(η)對(duì)準(zhǔn),而其它濾波器分接頭在不同時(shí)間快照處展示原始數(shù)據(jù)。可根據(jù)上文在圖3 中描述的A級(jí)聯(lián)管線(xiàn)延遲(311和312)來(lái)實(shí)施延遲,其中ζ-1表示一個(gè)延遲,且ζ-2表示兩個(gè)延遲。舉例來(lái)說(shuō),加法器1206可由圖6的加法器/減法器331實(shí)施,其中對(duì)加法器/減法器331的輸入信號(hào)的選定延遲值是基于如上文陳述的對(duì)圖3的多路復(fù)用器的選擇輸入。在圖12的展示配置1200的實(shí)施例中,第一級(jí)200-1接收包含χ (η)信號(hào)的輸入 1201,其耦合到第一寄存器1202。如下文將參看圖13更詳細(xì)描述,可使用第二寄存器1204。 雖然DSP級(jí)200-1中的加法器1206展示為經(jīng)耦合以接收寄存器1202的輸出和零,但加法器1206可經(jīng)耦合以接收寄存器1202和1204的輸出,如DSP級(jí)200-2和200-3以及圖13 的配置1300中的DSP級(jí)200-1中所示。應(yīng)注意,加法器1206可實(shí)施為減法器以處理具有反轉(zhuǎn)正負(fù)號(hào)的系數(shù)。寄存器1208耦合到加法器1206的輸出,且具有耦合到乘法器1210的輸出。乘法器1210還接收包含來(lái)自寄存器1212的系數(shù)的因數(shù)。乘法器1210的輸出處的寄存器1214也耦合到加法器1216,所述加法器1216的輸出存儲(chǔ)在寄存器1218中。雖然對(duì)加法器916的輸入在第一級(jí)200-1中為零,但加法器1216可接收前一級(jí)的輸出,如參看 DSP塊200-2和200-3所展示。在DSP級(jí)200-3的寄存器1218處產(chǎn)生包含信號(hào)y (η_4)的輸出1220。
應(yīng)注意,第一級(jí)包含奇數(shù)數(shù)目的分接頭中的中間分接頭,且因此僅將單個(gè)分接頭耦合到加法器1206。然而,第二和第三級(jí)中的每一者接收具有共同系數(shù)的兩個(gè)分接頭。根據(jù)圖12的實(shí)施例,第二DSP級(jí)200-2將(X(n-5)+X(n-3))耦合到乘法器1210的接收共同系數(shù)kl的一個(gè)輸入,而第三DSP級(jí)200-3將(χ (η-6) +χ (η-2))耦合到乘法器1210的接收共同系數(shù)k0的一個(gè)輸入。選擇與加法器1206或乘法器1210相關(guān)聯(lián)的若干延遲以確保在加法器1206或乘法器1210處接收到正確的輸入。舉例來(lái)說(shuō),可通過(guò)將恰當(dāng)?shù)亩嗦窂?fù)用器選擇信號(hào)提供到圖3的多路復(fù)用器來(lái)選擇正確數(shù)目的延遲。如圖13中所展示,DSP級(jí)200-1 可經(jīng)配置以實(shí)施寄存器1204,其中將h (n-4)提供到乘法器1210的一個(gè)輸入,而將k2/2提供到另一輸入。盡管圖12到圖12的實(shí)施例展示對(duì)稱(chēng)轉(zhuǎn)置卷積FIR濾波器的一個(gè)實(shí)例,但應(yīng)理解,可實(shí)施由其它等式表示的濾波器。此外,圖12到圖13的實(shí)施例可用以實(shí)施任何功能,其中輸入可具有共同系數(shù),且可實(shí)施具有共同系數(shù)的任何數(shù)目的因數(shù)。應(yīng)注意,不管初始分接頭數(shù)目是偶數(shù)還是奇數(shù),本發(fā)明的一個(gè)或一個(gè)以上電路都起作用。如圖14的配置1400中所展示,實(shí)施具有奇數(shù)數(shù)目的分接頭的濾波器功能。明確地說(shuō),實(shí)施對(duì)稱(chēng)轉(zhuǎn)置卷積有限脈沖響應(yīng)濾波器的電路的框圖展示在3個(gè)DSP塊中根據(jù)等式 y (n-4) = k0*x (n-4) +kl* (n_5) +k2*x (n_6) +k2*x (n_7) +kl*x (n_8) +k0*x (n_9)來(lái)實(shí)施 6 個(gè)分接頭,所述等式當(dāng)在對(duì)乘法器的輸入的時(shí)間幀中表達(dá)時(shí),以因子分解形式書(shū)寫(xiě)為y(n-4) =k0 {χ (η-4) +χ (η-9)} +kl {χ (η_5) +χ (η_8)} +k2 {(χ-6) +χ (η_7)}或以因子分解形式書(shū)寫(xiě)為 y (η-2) = k0 {χ (η-2) +χ (η_7)} +kl {χ (η_3) +χ (η-6)} +k2 {χ (η-4) +χ (η_5) },如圖 14 中所展示。如圖14中可見(jiàn),每一級(jí)接收具有共同系數(shù)的兩個(gè)輸入,其中級(jí)200-1的DSP接收與系數(shù)k2相關(guān)聯(lián)的分接頭,級(jí)200-2的DSP接收與系數(shù)kl相關(guān)聯(lián)的分接頭,級(jí)200-3的DSP接收與系數(shù)k0相關(guān)聯(lián)的分接頭。通過(guò)采用預(yù)加法器,其中數(shù)據(jù)樣本在所要時(shí)鐘周期中到達(dá)預(yù)加法器是通過(guò)ACOUT/ ACIN傳播路徑來(lái)控制,可實(shí)施消耗較少裝置資源且消耗較少功率的濾波器。也就是說(shuō),并非在五個(gè)DSP塊中實(shí)施圖12到圖13的濾波器或在六個(gè)DSP塊中實(shí)施圖14的濾波器,所述濾波器中的每一者可在三個(gè)DSP塊中實(shí)施。另外,如下文將參看圖15更詳細(xì)描述,一種方法使得能夠從對(duì)濾波器的一般、非優(yōu)化、高級(jí)描述轉(zhuǎn)變到優(yōu)化形式。此方法不僅可由試圖以最優(yōu)方式手動(dòng)描述此濾波器的任何人員使用,而且還可在任何合成工具中自動(dòng)化為新的高級(jí)推斷能力。也就是說(shuō),并非用戶(hù)提供對(duì)(例如)圖12到圖14中所實(shí)施的DSP塊的描述, 合成工具將自動(dòng)檢測(cè)對(duì)稱(chēng)系數(shù)且配置DSP塊以利用預(yù)加法器,例如加法器1206,進(jìn)而減少實(shí)施濾波器所需要的DSP塊的數(shù)目。因此,本發(fā)明的一個(gè)或一個(gè)以上電路和方法通過(guò)使用 DSP的預(yù)加法器執(zhí)行對(duì)稱(chēng)組合來(lái)利用系數(shù)對(duì)稱(chēng)性以使級(jí)聯(lián)DSP塊的數(shù)目減到最少。應(yīng)注意,與其它實(shí)施方案(例如脈動(dòng)濾波器實(shí)施方案)相比,本發(fā)明的一個(gè)或一個(gè)以上電路和方法不會(huì)在電路性能方面產(chǎn)生任何不利結(jié)果。DSP塊鏈在兩種情況下通過(guò)使用 DSP塊之間的包括P級(jí)聯(lián)(PC0UT/PCIN)和A級(jí)聯(lián)(AC0UT/ACIN)的快速級(jí)聯(lián)來(lái)得到優(yōu)化。 另外,應(yīng)注意,本發(fā)明的一個(gè)或一個(gè)以上電路和方法確保鏈中的每一 DSP塊通過(guò)使用那些塊中的可用管線(xiàn)級(jí)(包括寄存器1202、1204、1208、1214和1218)而完全管線(xiàn)化以實(shí)現(xiàn)最佳性能。另外,在兩種情況下暗示等于DSP級(jí)數(shù)目的扇出。對(duì)于脈動(dòng)實(shí)施方案來(lái)說(shuō),所述扇出在移位寄存器的輸出處找到,而對(duì)于上文陳述的轉(zhuǎn)置卷積實(shí)施方案來(lái)說(shuō),所述扇出在傳入數(shù)據(jù)節(jié)點(diǎn)自身上找到。
最后,應(yīng)注意,轉(zhuǎn)變?cè)硎峭ㄓ玫?,且?dāng)在對(duì)稱(chēng)系數(shù)(例如具有正負(fù)號(hào)的系數(shù)-k2、-kl、-k0、k0、kl、k2)之間存在正負(fù)號(hào)反轉(zhuǎn)時(shí),或當(dāng)不存在正負(fù)號(hào)反轉(zhuǎn)時(shí)起作用。雖然當(dāng)今可能不必處理已知或常見(jiàn)濾波器應(yīng)用,但本發(fā)明的一個(gè)或一個(gè)以上電路和方法可甚至在混合情形中應(yīng)用,其中一些系數(shù)為正負(fù)號(hào)反轉(zhuǎn)的,而其它系數(shù)不是,例如具有正負(fù)號(hào)的系數(shù)-1^2、1^1、詘、1^、1^1、1^2?,F(xiàn)轉(zhuǎn)向圖15,流程圖展示根據(jù)本發(fā)明實(shí)施例的在集成電路中實(shí)施濾波器的方法。 圖15的方法可在如上文所述的圖1到圖14中的任一者或某些其它合適電路中實(shí)施。在步驟1502處接收電路的高級(jí)設(shè)計(jì)。舉例來(lái)說(shuō),高級(jí)設(shè)計(jì)可為對(duì)具有濾波器的電路的HDL描述或某種其它高級(jí)語(yǔ)言描述。如上文所陳述,對(duì)濾波器的描述可簡(jiǎn)單地為基于系數(shù)和相關(guān)聯(lián)分接頭的對(duì)濾波器的描述。在步驟1504中識(shí)別高級(jí)設(shè)計(jì)中的濾波器。在步驟1506處分析濾波器的系數(shù)。在步驟1508處,使用處理塊的配置來(lái)配置濾波器以適應(yīng)共同系數(shù),其中耦合單個(gè)處理塊以接收與共同系數(shù)相關(guān)聯(lián)的分接頭。舉例來(lái)說(shuō),可如參看圖12到圖14所展示和描述那樣實(shí)施處理塊的配置。在步驟1510處確立對(duì)處理塊的預(yù)加法器的輸入的必要延遲。在步驟1512處基于表示濾波器的等式中的系數(shù)的正負(fù)號(hào)來(lái)選擇預(yù)加法器的功能以進(jìn)行相加或相減。在步驟1514處將預(yù)加法器的輸出提供到乘法器的第一輸入。在步驟1516 處將共同系數(shù)提供作為對(duì)單個(gè)處理塊的乘法器的第二輸入。最后,在步驟1518處使用集成電路的電路元件根據(jù)所述配置來(lái)實(shí)施濾波器。根據(jù)一個(gè)實(shí)施例,可在控制電路(例如控制電路160 中實(shí)施計(jì)算機(jī)程序代碼,如下文將參看圖16更詳細(xì)描述。計(jì)算機(jī)程序代碼可包含具有將電路設(shè)計(jì)轉(zhuǎn)變?yōu)椴季峙渲玫挠?jì)算機(jī)可讀程序代碼的計(jì)算機(jī)可讀媒體,其中所述計(jì)算機(jī)可讀媒體包含識(shí)別高級(jí)設(shè)計(jì)中的濾波器的計(jì)算機(jī)可讀程序代碼;分析濾波器的系數(shù)的計(jì)算機(jī)可讀程序代碼;以及使用所述電路的經(jīng)配置以適應(yīng)共同系數(shù)的處理塊來(lái)配置濾波器的計(jì)算機(jī)可讀程序代碼,其中所述處理塊經(jīng)耦合以接收與共同系數(shù)相關(guān)聯(lián)的分接頭。使用經(jīng)配置以適應(yīng)共同系數(shù)的處理塊來(lái)配置濾波器的計(jì)算機(jī)可讀程序代碼可包含將濾波器配置為對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器的計(jì)算機(jī)可讀程序代碼。分析濾波器的系數(shù)的計(jì)算機(jī)可讀程序代碼可包含識(shí)別濾波器的對(duì)稱(chēng)系數(shù)的計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)程序產(chǎn)品可進(jìn)一步包含提供所述共同系數(shù)作為對(duì)處理塊的乘法器的第一輸入的計(jì)算機(jī)可讀程序代碼。 計(jì)算機(jī)程序產(chǎn)品可進(jìn)一步包含提供與共同系數(shù)相關(guān)聯(lián)的分接頭的總和或差值作為對(duì)乘法器的第二輸入的計(jì)算機(jī)可讀程序代碼。提供與共同系數(shù)相關(guān)聯(lián)的分接頭的總和或差值作為對(duì)乘法器的第二輸入的計(jì)算機(jī)可讀程序代碼可包含使用DSP塊的預(yù)加法器電路來(lái)產(chǎn)生總和的計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)程序產(chǎn)品可進(jìn)一步包含使用集成電路的電路元件來(lái)實(shí)施濾波器的計(jì)算機(jī)可讀程序代碼。計(jì)算機(jī)程序產(chǎn)品可具有其它特征或?yàn)橛糜谠诩呻娐分袑?shí)施電路的較大程序的一部分。圖16展示根據(jù)本發(fā)明實(shí)施例的用于實(shí)施具有可編程資源的裝置的系統(tǒng)1600的框圖。明確地說(shuō),控制電路1602經(jīng)耦合以從存儲(chǔ)器1604接收輸入數(shù)據(jù),且產(chǎn)生存儲(chǔ)于存儲(chǔ)器 1606中的配置位流。如下文將更詳細(xì)描述,輸入數(shù)據(jù)可包含描述為高級(jí)設(shè)計(jì)的電路設(shè)計(jì),例如以(例如)VHDL等硬件描述語(yǔ)言(HDL)定義的電路設(shè)計(jì)??刂齐娐房砂?jì)算機(jī)運(yùn)行軟件,其產(chǎn)生存儲(chǔ)于存儲(chǔ)器1606中的配置位流。配置位流包含布局配置,其提供與組件(例如將在裝置中實(shí)施的電路設(shè)計(jì)的DSP電路的組件)的布局有關(guān)的信息。存儲(chǔ)器1606包含非易失性存儲(chǔ)器,其用于存儲(chǔ)配置位流以將其加載到具有可編程資源的集成電路裝置1608 中。可編程資源可為如下文更詳細(xì)描述的可編程邏輯,或集成電路的其它可編程元件。盡管本發(fā)明的一個(gè)或一個(gè)以上方法可應(yīng)用于任何類(lèi)型的集成電路中的DSP電路的布局,但所述方法特別適用于具有可編程邏輯的裝置,且在下文中參看具有可編程邏輯的裝置來(lái)詳細(xì)描述。如下文將更詳細(xì)描述,控制電路102產(chǎn)生具有DSP電路的優(yōu)化布局的配置位流。用于具有可編程資源的裝置的設(shè)計(jì)的軟件流程包含合成、打包、放置和路由,如此項(xiàng)技術(shù)中眾所周知。合成包含將呈高級(jí)設(shè)計(jì)的電路設(shè)計(jì)轉(zhuǎn)換為在具有可編程邏輯的裝置中找到的元件的配置的步驟。舉例來(lái)說(shuō),由控制電路1602操作的合成工具可實(shí)施電路設(shè)計(jì)中的實(shí)施可配置邏輯塊(CLB)或DSP塊中的特定功能的若干部分,如下文將更詳細(xì)描述??蓪?shí)施本發(fā)明的一個(gè)或一個(gè)以上方法的合成工具的實(shí)例為可從加利福尼亞州圣何塞市賽靈思公司獲得的ISE 工具,其中實(shí)施本發(fā)明的一個(gè)或一個(gè)以上方法的合成工具的輸出包含具有DSP塊的優(yōu)化配置的配置位流。打包包含將電路設(shè)計(jì)的若干部分分組為裝置的已定義塊(例如可配置邏輯塊)的步驟。如下文將更詳細(xì)描述,將DSP電路打包為DSP塊可根據(jù)本發(fā)明的各種方法來(lái)有效地實(shí)施。放置包含確定在打包步驟期間定義的裝置的快的位置的步驟,其中設(shè)計(jì)中的塊放置在與裝置的位點(diǎn)相關(guān)聯(lián)的二維柵格上。放置由放置器執(zhí)行,所述放置器可包含在計(jì)算機(jī)上運(yùn)行的放置軟件或在計(jì)算機(jī)上運(yùn)行以在裝置中實(shí)施電路設(shè)計(jì)的較大軟件封裝的一部分。最后,路由包含在具有可編程邏輯的裝置中選擇互連元件(例如可編程互連)的路徑。本發(fā)明的一個(gè)或一個(gè)以上電路和方法使得能夠?qū)嵤┳罴咽褂妙A(yù)加法器能力的對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器,同時(shí)去除對(duì)DSP塊外部的任何邏輯的需要。因而,與例如對(duì)稱(chēng)脈動(dòng)HR 濾波器等其它濾波器實(shí)施方案或其它實(shí)施對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器的電路相比,降低了資源要求和功率消耗。另外,下文陳述的電路和方法通過(guò)引入將允許合成工具獲得對(duì)濾波器的一般高級(jí)設(shè)計(jì)描述且經(jīng)由用以推斷濾波器設(shè)計(jì)的增強(qiáng)能力自動(dòng)執(zhí)行微調(diào)和優(yōu)化工作的方法來(lái)解決設(shè)計(jì)者手動(dòng)微調(diào)對(duì)其電路中所使用的濾波器的描述的需要。本發(fā)明的一個(gè)或一個(gè)以上電路和方法實(shí)現(xiàn)對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器實(shí)施方案,其不僅在所需DSP級(jí)方面為最小的,而且去除了對(duì)DSP塊外部的任何邏輯的需要。所述電路和方法因此進(jìn)一步減小裝置利用率以及靜態(tài)和動(dòng)態(tài)功率消耗。對(duì)于缺乏對(duì)DSP塊的特性的深刻理解或正尋找將不會(huì)使其依賴(lài)于特定裝置或裝置制造商的便攜式解決方案的設(shè)計(jì)者來(lái)說(shuō), 合成工具的獲得某些一般描述的濾波器代碼(例如HDL代碼)且執(zhí)行向優(yōu)化實(shí)施方案的轉(zhuǎn)變的能力是有益的。因此,描述可在合成工具中自動(dòng)進(jìn)行的推斷和優(yōu)化方法。如下文將更詳細(xì)描述,所述方法使得利用具有此能力的工具的設(shè)計(jì)者能夠以一般方式描述對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器。舉例來(lái)說(shuō),設(shè)計(jì)者可僅僅描述乘積的總和,以及待應(yīng)用于給定濾波器的每一分接頭以實(shí)現(xiàn)合成工具所產(chǎn)生的最佳實(shí)施方案的系數(shù)的表格?,F(xiàn)轉(zhuǎn)向圖17,展示根據(jù)本發(fā)明實(shí)施例的具有可編程邏輯的裝置的框圖。裝置1702 并入有可編程邏輯1704,其中可編程邏輯可包含CLB電路1706、DSP電路1707和易失性存儲(chǔ)器1708,且可耦合到其它電路,例如非易失性存儲(chǔ)器1710和/或易失性存儲(chǔ)器1712。非易失性存儲(chǔ)器1710可耦合到裝置的I/O端口 1713,從而使得控制電路1714能夠?qū)⑴渲梦涣鲝腎/O端口 1713加載到裝置的非易失性存儲(chǔ)器1710中??蓪⑴渲梦涣骷虞d到裝置1702的非易失性存儲(chǔ)器1710中,且接著加載到易失性存儲(chǔ)器1708和易失性存儲(chǔ)器1712中?;蛘?,可通過(guò)控制電路1714或配置控制器1718將配置位流直接加載到易失性存儲(chǔ)器1708和易失性存儲(chǔ)器1712中。舉例來(lái)說(shuō),易失性存儲(chǔ)器1708可與可配置邏輯塊相關(guān)聯(lián),而易失性存儲(chǔ)器1712可與隨機(jī)存取存儲(chǔ)器塊(BRAM)或與配置存儲(chǔ)器單元相關(guān)聯(lián)。如下文將更詳細(xì)描述,將產(chǎn)生配置位流以實(shí)施可編程邏輯1704 的DSP電路1707?,F(xiàn)轉(zhuǎn)向圖18,展示根據(jù)本發(fā)明實(shí)施例的圖1的裝置的可配置邏輯元件的框圖。明確地說(shuō),圖18以簡(jiǎn)化形式說(shuō)明圖1的配置邏輯塊102的可配置邏輯元件。在圖18的實(shí)施例中,切片M 1801包括四個(gè)查找表(LUTM)1801A到1801D,其每一者由六個(gè)LUT數(shù)據(jù)輸入端子Al到A6、B1到B6、C1到C6和Dl到D6驅(qū)動(dòng),且每一者提供兩個(gè)LUT輸出信05和06。來(lái)自L(fǎng)UT1801A到1801D的06輸出端子分別驅(qū)動(dòng)切片輸出端子A到D。LUT數(shù)據(jù)輸入信號(hào)由 FPGA互連結(jié)構(gòu)經(jīng)由輸入多路復(fù)用器供應(yīng),所述輸入多路復(fù)用器可由可編程互連元件1811 實(shí)施,且LUT輸出信號(hào)也供應(yīng)到互連結(jié)構(gòu)。切片M還包括輸出選擇多路復(fù)用器1811A到 1811D,其驅(qū)動(dòng)輸出端子AMUX到DMUX ;多路復(fù)用器1812A到1812D,其驅(qū)動(dòng)存儲(chǔ)器元件1802A 到1802D的數(shù)據(jù)輸入端子;組合多路復(fù)用器1816、1818和1819 ;跳動(dòng)多路復(fù)用器電路1822 到1823 ;由反轉(zhuǎn)器1805和多路復(fù)用器1806(其共同在輸入時(shí)鐘路徑上提供任選反轉(zhuǎn))表示的電路;以及進(jìn)位邏輯,其包含多路復(fù)用器1814A到1814DU815A到1815DU820到1821 以及異或門(mén)1813A到1813D。所有這些元件耦合在一起,如圖18中所示。在未針對(duì)圖18中所說(shuō)明的多路復(fù)用器展示選擇輸入的情況下,選擇輸入由配置存儲(chǔ)器單元控制。也就是說(shuō), 存儲(chǔ)于配置存儲(chǔ)器單元中的配置位流的配置位耦合到多路復(fù)用器的選擇輸入,以選擇對(duì)多路復(fù)用器的正確輸入。這些配置存儲(chǔ)器單元(其是眾所周知的)為了清楚起見(jiàn)而從圖18 中省略,并且在本文中從其它選定圖式中省略。在所圖示的實(shí)施例中,每一存儲(chǔ)器元件1802A到1802D可經(jīng)編程以充當(dāng)同步或異步觸發(fā)器或鎖存器。通過(guò)編程同步/異步選擇電路1803來(lái)針對(duì)切片中的所有四個(gè)存儲(chǔ)器元件進(jìn)行同步與異步功能性之間的選擇。當(dāng)存儲(chǔ)器元件經(jīng)編程以使得S/R(設(shè)置/復(fù)位) 輸入信號(hào)提供設(shè)置功能時(shí),REV輸入端子提供復(fù)位功能。當(dāng)存儲(chǔ)器元件經(jīng)編程以使得S/R輸入信號(hào)提供復(fù)位功能時(shí),REV輸入端子提供設(shè)置功能。存儲(chǔ)器元件1802A到1802D由時(shí)鐘信號(hào)Ck計(jì)時(shí),舉例來(lái)說(shuō),所述時(shí)鐘信號(hào)CK可由全局時(shí)鐘網(wǎng)絡(luò)或由互連結(jié)構(gòu)提供。此類(lèi)可編程存儲(chǔ)器元件在FPGA設(shè)計(jì)的技術(shù)中是眾所周知的。每一存儲(chǔ)器元件1802A到1802D將所記錄的輸出信號(hào)AQ到DQ提供到互連結(jié)構(gòu)。因?yàn)槊恳?LUT 1801A到1801D提供兩個(gè)輸出信號(hào)05和06,所以L(fǎng)UT可經(jīng)配置以充當(dāng)具有五個(gè)共享輸入信號(hào)(mi到1陽(yáng))的兩個(gè)5輸入 LUT,或充當(dāng)具有輸入信號(hào)mi到IN6的一個(gè)6輸入LUT。在圖18的實(shí)施例中,每一 LUTM 1801A到1801D可以若干模式中的任一者起作用。 當(dāng)處于查找表模式時(shí),每一 LUT具有六個(gè)數(shù)據(jù)輸入信號(hào)mi到IN6,其由FPGA互連結(jié)構(gòu)經(jīng)由輸入多路復(fù)用器供應(yīng)。64個(gè)數(shù)據(jù)值中的一者以可編程方式基于信號(hào)mi到IN6的值從配置存儲(chǔ)器單元中選擇。當(dāng)處于RAM模式時(shí),每一 LUT充當(dāng)單個(gè)64位RAM或兩個(gè)具有共享尋址的32位RAM。RAM寫(xiě)入數(shù)據(jù)經(jīng)由輸入端子DIl (經(jīng)由用于LUT 1801A到1801C的多路復(fù)用器1817A到1817C)供應(yīng)到64位RAM,或經(jīng)由輸入端子DIl和DI2供應(yīng)到兩個(gè)32位RAM。 LUT RAM中的RAM寫(xiě)入操作由來(lái)自多路復(fù)用器1806的時(shí)鐘信號(hào)CK以及由來(lái)自多路復(fù)用器 1807的寫(xiě)入啟用信號(hào)TON控制,所述寫(xiě)入啟用信號(hào)TON可選擇性地傳遞時(shí)鐘啟用信號(hào)CE或?qū)懭雴⒂眯盘?hào)WE。在移位寄存器模式中,每一 LUT充當(dāng)兩個(gè)16位移位寄存器,或其中所述兩個(gè)16位移位寄存器串聯(lián)耦合以形成單個(gè)32位移位寄存器。移入信號(hào)經(jīng)由輸入端子DIl 和DI2中的一者或兩者提供。16位或32位移出信號(hào)可通過(guò)LUT輸出端子來(lái)提供,且32位移出信號(hào)還可經(jīng)由LUT輸出端子MC31更直接地提供。LUT 1801A的32位移出信號(hào)MC31也可經(jīng)由輸出選擇多路復(fù)用器1811D和CLE輸出端子DMUX提供到一般互連結(jié)構(gòu)以用于移位寄存器成鏈。 盡管前述內(nèi)容根據(jù)本發(fā)明的一個(gè)或一個(gè)以上方面描述了示范性實(shí)施例,但可在不脫離其范圍的情況下構(gòu)想出根據(jù)本發(fā)明的所述一個(gè)或一個(gè)以上方面的其它和另外實(shí)施例, 其范圍由所附權(quán)利要求書(shū)及其等效物決定。列舉步驟的權(quán)利要求并不暗示所述步驟的任何次序。商標(biāo)為其相應(yīng)擁有者的財(cái)產(chǎn)。
權(quán)利要求
1.一種集成電路,其包含 數(shù)字信號(hào)處理塊;所述數(shù)字信號(hào)處理塊包括預(yù)加法器級(jí)和控制總線(xiàn);所述控制總線(xiàn)耦合到所述預(yù)加法器級(jí),以用于動(dòng)態(tài)地控制所述預(yù)加法器級(jí)的操作; 所述預(yù)加法器級(jí)包括耦合到所述控制總線(xiàn)的第一多路復(fù)用器的第一輸入端口; 耦合到所述控制總線(xiàn)的第一邏輯門(mén)的第二輸入端口; 耦合到所述控制總線(xiàn)的第二邏輯門(mén)的第三輸入端口 ;以及耦合到所述控制總線(xiàn)的加法器/減法器的第四輸入端口。
2.根據(jù)權(quán)利要求1所述的集成電路,其中所述預(yù)加法器級(jí)經(jīng)配置以用于響應(yīng)于對(duì)所述第二輸入端口的輸入而動(dòng)態(tài)地設(shè)置所述加法器/減法器的第一數(shù)據(jù)輸入以經(jīng)由所述第一邏輯門(mén)的輸出接收零值。
3.根據(jù)權(quán)利要求2所述的集成電路,其中所述預(yù)加法器級(jí)經(jīng)配置以用于響應(yīng)于對(duì)所述第三輸入端口的輸入而動(dòng)態(tài)地設(shè)置所述加法器/減法器的第二數(shù)據(jù)輸入以經(jīng)由所述第二邏輯門(mén)的輸出接收零值。
4.根據(jù)權(quán)利要求3所述的集成電路,其中所述預(yù)加法器級(jí)經(jīng)配置以用于響應(yīng)于對(duì)所述第一輸入端口的輸入而動(dòng)態(tài)地選擇具有0、1或2寄存器延遲的輸入數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的集成電路,其中所述預(yù)加法器級(jí)經(jīng)配置以用于響應(yīng)于對(duì)所述第四輸入端口的輸入而動(dòng)態(tài)地設(shè)置所述加法器/減法器以進(jìn)行相加或相減。
6.根據(jù)權(quán)利要求5所述的集成電路,其進(jìn)一步包含現(xiàn)場(chǎng)可編程邏輯門(mén),所述現(xiàn)場(chǎng)可編程邏輯門(mén)響應(yīng)于配置位流而配置,以提供用于將輸入數(shù)據(jù)提供到所述數(shù)字信號(hào)處理塊的例示電路功能。
7.根據(jù)權(quán)利要求6所述的集成電路,其中所述預(yù)加法器級(jí)可經(jīng)由由所述第一輸入端口、所述第二輸入端口、所述第三輸入端口和所述第四輸入端口組成的群組中的至少一個(gè)端口來(lái)動(dòng)態(tài)地重新配置,而不必重新配置所述現(xiàn)場(chǎng)可編程邏輯門(mén)以提供所述輸入數(shù)據(jù);且其中所述預(yù)加法器級(jí)可動(dòng)態(tài)地重新配置以提供絕對(duì)值功能、順序復(fù)數(shù)共軛功能、順序乘法功能、順序復(fù)數(shù)乘法、多路復(fù)用功能、寄存器堆功能、移位寄存器邏輯功能和管線(xiàn)重新平衡功能。
8.根據(jù)權(quán)利要求1所述的集成電路,其進(jìn)一步包含多個(gè)延遲元件;所述預(yù)加法器級(jí)經(jīng)耦合以借助于所述多個(gè)延遲元件中的第一延遲元件接收濾波器的第一分接頭,且借助于所述多個(gè)延遲元件中的第二延遲元件接收所述濾波器的第二分接頭,其中所述第一分接頭和所述第二分接頭具有共同系數(shù);乘法器,其經(jīng)耦合以在第一輸入處接收所述預(yù)加法器級(jí)的包含所述第一分接頭與所述第二分接頭的總和的輸出,且在第二輸入處接收所述共同系數(shù);以及加法器,其經(jīng)耦合以接收所述乘法器的所述輸出。
9.一種在電路中配置濾波器以在集成電路中實(shí)施的方法,所述方法包含 接收所述電路的高級(jí)設(shè)計(jì);識(shí)別所述高級(jí)設(shè)計(jì)中的濾波器;分析所述濾波器的系數(shù);以及將所述高級(jí)設(shè)計(jì)的所述濾波器轉(zhuǎn)變?yōu)槭褂盟鲭娐返慕?jīng)配置以適應(yīng)共同系數(shù)的處理塊的濾波器,其中所述處理塊經(jīng)耦合以接收與所述共同系數(shù)相關(guān)聯(lián)的分接頭。
10.根據(jù)權(quán)利要求9所述的方法,其中將所述高級(jí)設(shè)計(jì)的所述濾波器轉(zhuǎn)變?yōu)槭褂媒?jīng)配置以適應(yīng)共同系數(shù)的處理塊的濾波器包含將所述濾波器配置為對(duì)稱(chēng)轉(zhuǎn)置卷積濾波器。
11.根據(jù)權(quán)利要求9所述的方法,其中分析所述系數(shù)包含識(shí)別所述高級(jí)設(shè)計(jì)中的所述濾波器的對(duì)稱(chēng)系數(shù)。
12.根據(jù)權(quán)利要求9所述的方法,其進(jìn)一步包含提供所述共同系數(shù)作為對(duì)所述處理塊的乘法器的第一輸入。
13.根據(jù)權(quán)利要求12所述的方法,其進(jìn)一步包含提供與所述共同系數(shù)相關(guān)聯(lián)的分接頭的總和作為對(duì)所述乘法器的第二輸入。
14.根據(jù)權(quán)利要求13所述的方法,其中提供與所述共同系數(shù)相關(guān)聯(lián)的所述分接頭的所述總和作為對(duì)所述乘法器的第二輸入包含使用DSP塊的預(yù)加法器電路來(lái)產(chǎn)生所述總和。
15.根據(jù)權(quán)利要求12所述的方法,其進(jìn)一步包含提供與所述共同系數(shù)相關(guān)聯(lián)的分接頭的差值作為對(duì)所述乘法器的第二輸入。
全文摘要
本發(fā)明描述一種用于集成電路的具有預(yù)加法器級(jí)(204)的數(shù)字信號(hào)處理塊(200)。所述數(shù)字信號(hào)處理塊包括預(yù)加法器級(jí)(204)和控制總線(xiàn)(202)。所述控制總線(xiàn)耦合到所述預(yù)加法器級(jí)(204),以用于動(dòng)態(tài)地控制所述預(yù)加法器級(jí)的操作。所述預(yù)加法器級(jí)包括耦合到所述控制總線(xiàn)的第一多路復(fù)用器(306)的第一輸入端口;耦合到所述控制總線(xiàn)的第一邏輯門(mén)(322)的第二輸入端口;耦合到所述控制總線(xiàn)的第二邏輯門(mén)(321)的第三輸入端口;以及耦合到所述控制總線(xiàn)的加法器/減法器(331)的第四輸入端口。
文檔編號(hào)H03H17/06GK102301325SQ201080005739
公開(kāi)日2011年12月28日 申請(qǐng)日期2010年1月8日 優(yōu)先權(quán)日2009年1月27日
發(fā)明者梵希斯特·M·梵迪, 潘熾鋒, 穆罕默德·A·瑞柏, 約翰·M·藍(lán)汀, 薩威爾·溫德林, 詹姆士·M·席金斯, 阿爾文·Y·秦 申請(qǐng)人:吉林克斯公司