專利名稱:一種應(yīng)用于無線通信系統(tǒng)基帶信號處理的可配置處理器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于集成電路設(shè)計技術(shù)領(lǐng)域,具體涉及一種應(yīng)用于無線通信系統(tǒng)基帶信號處 理的可配置處理器架構(gòu),尤其涉及四個異質(zhì)可配置運算處理單元結(jié)構(gòu)。
技術(shù)背景目前,在無線通信領(lǐng)域,存在著多種協(xié)議,適用于不同的頻段、場合和功能,例如應(yīng) 用于無線局域網(wǎng)的802.11系列協(xié)議,蜂窩移動通信系統(tǒng)的GSM, CDMA協(xié)議等等。隨著 人們對各種數(shù)據(jù)通信功能需求的增加,需要在同一個設(shè)備上實現(xiàn)多種協(xié)議,因此,能夠 支持多協(xié)議的可配置基帶處理器成為了一種發(fā)展趨勢。基于不同協(xié)議的基帶處理的各個 模塊在功能、參數(shù)和性能上都存在比較大的區(qū)別,因此基帶算法功能級的硬件復(fù)用已經(jīng) 不再適用。此外,目前多協(xié)議通常采用FPGA (現(xiàn)場可編程門陣列)或高性能的DSP加 上加速硬件來實現(xiàn),資源消耗較大。 發(fā)明內(nèi)容本發(fā)明的目的在于提供了一種應(yīng)用于無線通信系統(tǒng)基帶信號處理的能夠支持多種協(xié) 議的可配置處理器架構(gòu)。本發(fā)明提出的可配置處理器,包含四個異質(zhì)可配置運算處理單元,由一個控制器所 控制,這四個異質(zhì)可配置運算處理單元分別針對無線通信系統(tǒng)基處理中的四種粗顆?;?本運算單元,適用于多種通信協(xié)議。其結(jié)構(gòu)見圖l所示??刂破?02與無線通信系統(tǒng)基帶 信號可配置處理器中的四個異質(zhì)可配置運算處理單元之有數(shù)據(jù)輸入通道107和數(shù)據(jù)輸出通 道108,并具有配置信道通道109。上述四個異質(zhì)可配置運算單元分別針對無線通信基帶信號處理過程中的四個粗顆粒 基本運算。由于各種不同協(xié)議的基帶運算均可以分解為上述基本運算,因此使用這種可 配置處理器的架構(gòu),能夠靈活地完成各種基帶運算。這種方法高度復(fù)用硬件,非常靈 活,并且具有有很強的數(shù)據(jù)處理能力。上述四個異質(zhì)可配置運算單元分別針對乘加運算、邏輯運算、加法密集型運算和串 行比特運算,分別稱為可配置乘加算術(shù)運算單元(簡記為(RAU) 103,可配置邏輯運算 單元(簡記為(RLU) 104,可配置串行比特操作運算單元(簡記為BSU) 105和可配置 加法密集運算單元(簡記為AAU) 106??膳渲贸思铀阈g(shù)運算單元(RAU) 103針對無線通信基帶處理過程中的乘加運算, 可以實現(xiàn)乘法、加/減法、乘加、累加等操作;RAU由多個相同的簇結(jié)構(gòu)組成,每一個簇 結(jié)構(gòu)中包含一個16bit的booth編碼器201, —個12-2壓縮器202, 一個4-2壓縮器203, 一個32bit全加器204和一個桶形移位器205; Booth編碼器201用于實現(xiàn)16bit乘法操作 的booth編碼;12-2壓縮器202和4-2壓縮器203分別完成12-2和4-2的信息壓縮;全加 器204用于實現(xiàn)兩輸入的全加;桶狀移位器205可實現(xiàn)任意小于16比特寬度的右移,防 止運算結(jié)果的溢出。RAU中所包含的各個簇結(jié)構(gòu)以及每個簇中運算模塊內(nèi)部的工作狀 況,例如加減法的選擇、操作數(shù)的類型,處理的數(shù)據(jù)寬度等,都可以通過外部信號109進 行配置。見圖2所示??膳渲眠壿嬤\算單元(RLU) 104用于實現(xiàn)無線通信系統(tǒng)中的邏輯與、或、非、異 或等各種基本邏輯操作以及可以基于真值表實現(xiàn)的復(fù)雜邏輯操作。RLU是基于查找表 (LUT)結(jié)構(gòu)的,由多個相同的簇結(jié)構(gòu)組成。每一個RLU簇結(jié)構(gòu)中包含一個4行16列的 4輸入LUT陣列301。每一列LUT共用一個可以配置的16bit的査找表內(nèi)容302,用于實 現(xiàn)與、或、非、異或等基本邏輯運算功能以及基于査找表結(jié)構(gòu)的復(fù)雜邏輯運算,可以同 時完成16個相同的4輸入邏輯運算操作。RLU中所包含的各個簇結(jié)構(gòu)以及每個簇中運算 模塊內(nèi)部的工作狀況,例如査找表內(nèi)容,輸入輸出數(shù)據(jù)的分割方式(如按行順序輸入 303、按列垂直輸入304,按行順序輸出305,按列垂直輸出306),都可以通過外部信號 109進行配置。見圖3所示??膳渲么斜忍夭僮鬟\算單元(BSU) 105用于實現(xiàn)無線通信系統(tǒng)中的各種串行比特 操作。BSU由多個相同的簇結(jié)構(gòu)組成,每一個BSU簇結(jié)構(gòu)中包括一個8bit移位寄存器 401, 一個兩輸入與門陣列(AND Array) 402, 一個多輸入異或門403和一個輸入多路選 擇器404。 8bit移位寄存器401在每一個時鐘周期完成lbit的移位運算。兩輸入與門陣列 402中,每一個兩輸入與門的一個輸入來自上述8bit移位寄存器或旁路bit,另一個輸入 來自外部配置輸入,可以視為mask407, mask=l輸出移位寄存器或旁路bit的數(shù)值, mask-0即輸出為0,這樣就實現(xiàn)了對上述8bit移位寄存器以及旁路bit的選擇功能。多輸 入異或門405將上述通過與門陣列選擇后bit的異或相加,得到輸出結(jié)果。每一個簇的移 位寄存器輸出結(jié)果406和異或輸出結(jié)果405都可以被旁路到其他簇的輸入端,因此使用了 輸入多路選擇器404用于實現(xiàn)8bit移位寄存器輸入bit的選擇。BSU中所包含的各個簇結(jié) 構(gòu)以及每個簇中運算模塊內(nèi)部的工作狀況,例如與門陣列的每個mask數(shù)值,輸入多路選 擇器的控制信息,都可以通過外部信號109進行配置。見圖4所示??膳渲眉臃芗\算單元(AAU) 106用于實現(xiàn)無線通信系統(tǒng)中的各種加法密集型操 作,可以同時完成多個加法、減法運算以及絕對值計算。AAU由多個相同的簇結(jié)構(gòu)組 成,每一個AAU簇結(jié)構(gòu)中包括三個全加器502、 503、 504和一個二選一選擇器505。三 個全加器502、 503、 504可以實現(xiàn)3個16bit寬度的兩輸入501加/減法運算或6個8bit寬 度的兩輸入501加/減法運算;二選一選擇器505用于第2全加器503和第3全加器504 的結(jié)果選擇,二選一選擇器的控制位取決于第1全加器502的輸出高位MSB506。 AAU 中所包含的各個簇結(jié)構(gòu)以及每個簇中運算模塊內(nèi)部的工作狀況,例如加減法的選擇、操 作數(shù)的類型,處理的數(shù)據(jù)寬度等,都可以通過外部信號109進行配置。見圖5所示。上述的四個異質(zhì)可配置運算處理單元使用一個控制器102進行控制。控制器102通過 發(fā)送獨立的配置信息109給各個運算單元,完成控制功能。除此之外,該控制器還用于控 制各個運算單元的輸入數(shù)據(jù)107和輸出數(shù)據(jù)108。本發(fā)明的獨到之處在于,首先,將無線通信基帶信號處理的所有運算分解為四個粗 顆粒的基本算術(shù)與邏輯運算,使用了四個異質(zhì)可配置運算單元分別針對上述運算進行處 理。其次,使用這種可配置處理器的架構(gòu)來實現(xiàn)這些基本運算的硬件復(fù)用,最大程度地 節(jié)省了硬件開銷,該架構(gòu)靈活性很高,并且具有很強的數(shù)據(jù)處理能力。
圖1為本發(fā)明提出的應(yīng)用于無線通信系統(tǒng)基帶信號處理的可配置處理器架構(gòu)。 圖2為本發(fā)明提出的可配置乘加算術(shù)運算單元(RAU)的一個簇結(jié)構(gòu)。 圖3為本發(fā)明提出的可配置邏輯運算單元(RLU)的一個簇結(jié)構(gòu)。 圖4為本發(fā)明提出的可配置串行比特操作運算單元(BSU)的一個簇結(jié)構(gòu)。 圖5為本發(fā)明提出的可配置加法密集運算單元(AAU)的一個簇結(jié)構(gòu)。 圖中標(biāo)號101為應(yīng)用于無線通信系統(tǒng)的可配置基帶處理器部分,102為控制器,103 為可配置乘加算術(shù)運算單元(RAU) , 104為可配置邏輯運算單元(RLU) , 105為可配 置串行比特操作運算單元(BSU) , 106為可配置加法密集運算單元(AAU) , 107為輸 入數(shù)據(jù)通道,108為輸出數(shù)據(jù)通道,109為配置信息通道。201為Booth編碼器,202為12-2壓縮器,203為4-2壓縮器,204為全加器,205為 桶形移位器,206為RAU—個簇結(jié)構(gòu)的輸入,207為RAU—個簇結(jié)構(gòu)的輸出,208為從 輸出直連到12-2壓縮器的旁路輸出,209為從12-2壓縮器得到的結(jié)果,送入相鄰的簇結(jié) 構(gòu)中。301是LUT, 302是每行LUT里的査找表內(nèi)容,303是按行順序輸入方式,304是按 列垂直輸入方式,305是按行順序輸出方式,306是按列垂直輸出方式。401是8-bit移位器,402是兩輸入與陣列,403是異或門,404是輸入多路選擇器, 405是異或輸出,406是移位器輸出,407是與陣列的Mask, 408是旁路異或輸入。501是AAU的輸入加數(shù),502是第1加法器,503是第2加法器,504是第3加法 器,505是二選一選擇器,506是第1加法器輸出的MSB。
具體實施方式
在工作時,根據(jù)外部通過配置信息通道109送入不同的配置信息,四個可配置運算單 元103、 104、 105、 106被分別配置成為完成基帶系統(tǒng)中特定的運算模塊。其中RAU103 可以通過不同的配置信息完成例如FFT, FIR, BFWT等運算,且運算的點數(shù)和系數(shù)是可 變的;RLU104可以通過不同的配置信息完成各種基于査找表的操作,例如QPSK調(diào)制、 16-QAM調(diào)制、CCK變換等運算;BSU105可以通過不同的配置信息完成諸如擾碼、信道 編碼等運算;AAU106可以通過不同的配置信息完成諸如Viterbi解碼的ACS運算、取模 運算等。下面具體闡述使用這些可配置運算單元來完成基帶系統(tǒng)中的特定運算單元。在RAU的每一個簇結(jié)構(gòu)中,首先配置信息選擇是否使用Booth編碼(201),若使 用,則這個RAU簇被配置為使用乘法,否則,輸入認(rèn)為為加數(shù),不進行Booth編碼。 Booth編碼器201將16bit的操作數(shù)編碼為9個部分積,連同另外三個加數(shù)一起送入12-2 壓縮器202,由此, 一個RAU簇可以完成形如ax6 + c + d + e的乘加運算或12個數(shù)的連 加操作。12-2壓縮器202完成這12個數(shù)的壓縮過程,送入4-2壓縮器203。 4-2壓縮器 203壓縮器的輸入除了來自當(dāng)前4-2壓縮器203的兩個操作數(shù)外,還有兩個操作數(shù)來自相 鄰RAU簇結(jié)構(gòu)的4-2壓縮器203。后兩個操作數(shù)的選擇與否也是由配置信息決定的,這 樣,兩個簇結(jié)構(gòu)也可以結(jié)合在一起完成運算,最高支持兩個乘法與六個加法的復(fù)雜運 算。這樣的運算也是FFT基2蝶形運算的基本結(jié)構(gòu)。8個RAU簇結(jié)構(gòu),兩兩合并后,每 次可以完成一個FFT基2蝶形運算。4-2壓縮器203的計算結(jié)果被送入全加器204進行累 加,再送入桶形移位器205進行任意小于16bit的移位操作,防止計算溢出。移位操作的 位數(shù)也是由配置信息109所決定的。計算結(jié)果即RAU—個結(jié)構(gòu)簇的輸出207可以被直接 旁路到12-2壓縮器的輸入端208,因此,使用RAU簇結(jié)構(gòu)也可以完成乘累加(MAC)的 計算。RLU在工作時,有兩種輸入模式, 一種是按行的順序輸入303,輸入數(shù)據(jù)按照4個 LUT行順序輸入。另一種是按列垂直輸入304,輸入數(shù)據(jù)按照16個LUT列垂直輸入,適 合于根據(jù)查找表操作的不同數(shù)據(jù)要求,并且,輸入數(shù)據(jù)的間隔也是可配置的。例如,在 進行16-QAM調(diào)制時,I/Q兩路分別調(diào)制,每2個bit生成一個符號(用3bit的補碼表 示),數(shù)據(jù)采用按行順序輸入,每個簇結(jié)構(gòu)中,每行LUT的4-bit輸入均按照2bit的間隔順序輸入,三列的LUT采用同樣的輸入,分別產(chǎn)生3"46bit的補碼輸出,按照相對應(yīng)的査 找表,完成16-QAM的調(diào)制。同樣的,輸出也分為兩種模式,按行順序輸出305和按列 垂直輸出306,并且輸出數(shù)據(jù)的間隔也可以通過配置信息109進行設(shè)置。BSU中的8-bit移位器401每個時鐘周期將數(shù)據(jù)向右移動一個bit。其中的每個bit (共8 個)都輸出到兩輸入與門陣列402中。除此以外,兩輸入與門陣列402的輸入還包括旁路 異或輸入408,即其余BSU簇結(jié)構(gòu)的異或輸出405。對于兩輸入與門陣列402中的每個兩輸 入與門, 一個輸入為上述來自8-bit移位器402或旁路異或輸入408,另一個輸入作為配置信 息109給入,可以認(rèn)為是第一個輸入的Mask,用于選擇這些bit是否需要進入到接下來的異 或操作403中。這樣的結(jié)構(gòu)完全符合無線通信系統(tǒng)中擾碼和巻積信道編碼的要求。此外, 多個BSU簇結(jié)構(gòu)可以通過輸入多路選擇器404進行合并。多路選擇器404的輸入可以為其他 簇的移位器輸出406以及所有簇的異或輸出405,也可以為從控制器102通過輸入數(shù)據(jù)通道 107處送來的數(shù)據(jù)107。這樣,多個BSU簇結(jié)構(gòu)可以組合在一起,得到更長bit的移位器, 由此可以支持比8bit的約束長度更長的巻積編碼器,CRC操作等。多個BSU簇結(jié)構(gòu)也可以 組合在一起,完成擾碼、巻積編碼等比特串行操作的并行運行。這些組合的選擇也是通 過配置信息109來控制的。AAU可以工作在兩種模式下。第一種模式中,三個加法器502、 503、 504分別計算三 個16bit的兩輸入加法。第二種模式中,第2加法器503和第3加法器504仍然計算兩個16bit 的兩輸入加法,但是這兩個操作結(jié)果通過一個二選一選擇器505,選擇其中一個結(jié)果輸 出。這個二選一選擇器505的控制信息是由第1加法器502的結(jié)果最高位MSB506決定的。 在這種模式下,第1加法器的輸入可以是第2加法器503和第3加法器504的輸入結(jié)果。在這 第二種模式下,當(dāng)?shù)趌加法器被配置成減法操作時,就可以完成Viterbi解碼中的ACS (加-比-選)操作。當(dāng)?shù)?加法器503和第3加法器504同時配置成減法,并使用同樣的兩個操作 數(shù)(即做a-b和b-a),第l加法器同樣配置成a-b的操作,就可以通過第1加法器的輸出 MSB506—次實現(xiàn)la-bl的運算。同樣地,這些運算模式的選擇也是通過配置信息109來實現(xiàn) 的。最后應(yīng)說明的是以上所提的幾個實例以及運算模式是用以說明而非限制本發(fā)明的 技術(shù)方案。盡管參照上述實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng) 理解對本發(fā)明進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局 部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。參考文獻:[1] Afshin Niktash, Hooman T. Parizi and Nader Bagherzadeh, Application of a Heterogeneous Reconflgurable Architecture to OFDM Wireless Systems, Circuits and Systems, 2007. ISCAS 2007. IEEE International Symposium on[2] Ada S. Y. Poon, An Energy-Efficient Reconflgurable Baseband Processor for Wireless Communications, IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 15, NO. 3, MARCH 2007[3] Fujisawa, Hisanori; Saito, Miyoshi; Nishijima, Seiichi; Odate, Naoki; Sakai, Yuki; Yoda, Katsuhiro; Sugiyama, Iwao; Ishihara, Teruo; Hirose, Yoshio; Yoshizawa, Hideki, Flexible Signal Processing Platform Chip for Software Defined Radio with 103 GOPS Dynamic Reconflgurable Logic Cores, Solid-State Circuits Conference, 2006, ASSCC, ASSCC 2006. IEEE Asian [4] V.G. Oklobdzija; D. Villeger; Multiplier design utilizing improved column compression tree and optimized final adder in CMOS technology. VLSI Technology, Systems, and Applications, 1993. Proceedings of Technical Papers, 1993 International Symposium on 1993 Page(s):209 — 212; Digital Object Identifier 10,1109/VTSA. 1993.[5]D.T.Shen and A.Weinberger, "4-2 Carry-Save Adder Implementation Using Send Circuits," IBM Technical Disclosure Bulletin, Vol. 20, No.9, Feb. 1978,[6] A.Weinberger, "4:2 Carry-Save Adder Module, IBM Technical Disclosure Bulletin, vol 23, Jan. 1981.[7] Jan M. Rabaey; Anantha Chandrakasan; Borivoje Nikolic; Digital Integrated Circuits: A Design Perspective (Second Edition); Prentice Hall.
權(quán)利要求
1、一種應(yīng)用于無線通信系統(tǒng)基帶信號處理的可配置處理器,其特征在于包括四個異質(zhì)可配置運算處理單元,由一個控制器所控制;這四個異質(zhì)可配置運算處理單元分別針對無線通信系統(tǒng)基帶處理中的四種粗顆?;具\算處理單元,適用于多種通信協(xié)議;這里所述的四個異質(zhì)可配置運算單元,分別為可配置乘加算術(shù)運算單元,記為RAU,用于實現(xiàn)無線通信系統(tǒng)中的乘法、加/減法、乘加、累加操作;可配置邏輯運算單元,記為RLU,用于實現(xiàn)無線通信系統(tǒng)中的邏輯與、或、非、異或等各種基本邏輯操作,以及基于真值表實現(xiàn)的復(fù)雜邏輯操作;可配置串行比特操作運算單元,記為BSU,用于實現(xiàn)無線通信系統(tǒng)中的各種串行比特操作;可配置加法密集運算單元,記為AAU,用于實現(xiàn)無線通信系統(tǒng)中的各種加法密集型操作,同時完成多個加法、減法運算以及絕對值計算;這四個異質(zhì)可配置運算處理單元都受控于由控制器輸入的配置信置。
2、 根據(jù)權(quán)利要求1所述的可配置處理器,其特征在于所述可配置乘加算術(shù)單元由多 個相同的簇結(jié)構(gòu)組成,每一個簇結(jié)構(gòu)中包含一個16bit的booth編碼器(201), 一個12-2 壓縮器(202), 一個4-2壓縮器(203), 一個32bit全加器(204)和一個桶形移位器(205) ; Booth編碼器(201)用于實現(xiàn)16bit乘法操作的booth編碼;12-2壓縮器 (202)和4-2壓縮器(203)分別完成12-2和4-2的信息壓縮;全加器(204)用于實現(xiàn)兩輸入的全加;桶狀移位器(205)可實現(xiàn)任意小于16比特寬度的右移,防止運算結(jié)果的溢出。
3、 根據(jù)權(quán)利要求1所述的可配置處理器,其特征在于所述的可配置邏輯運算單元由 多個相同的簇結(jié)構(gòu)組成;每一個RLU簇結(jié)構(gòu)中包含一個4行16列的4輸入查找表陣列, 每一列查找表共用一個可以配置的16bit的査找表內(nèi)容,用于實現(xiàn)與、或、非、異或基本 邏輯運算功能以及基于査找表結(jié)構(gòu)的復(fù)雜邏輯運算,同時完成16個相同的4輸入邏輯運算操作。
4、 根據(jù)權(quán)利要求1所述的可配置處理器,其特征在于所述的可配置串行比特操作運 算單元由多個相同的簇結(jié)構(gòu)組成;每一個簇結(jié)構(gòu)中包括一個8bit移位寄存器,每一個時鐘周期完成lbit的移位運算; 一個兩輸入與門陣列,用于實現(xiàn)bit的選擇功能;一個多輸入異或門,用于實現(xiàn)已選擇bit的異或相加; 一個輸入多路選擇器,用于實現(xiàn)8bit移位寄存器輸入bit的選擇;
5、根據(jù)權(quán)利要求1所述的可配置處理器,其特征在于所述的可配置加法密集運算單 元由多個相同的簇結(jié)構(gòu)組成;每一個簇結(jié)構(gòu)中包括三個全加器,實現(xiàn)3個16bit寬度的兩輸入加/減法運算或6個8bit寬度的兩輸入加/減法運算;一個二選一選擇器,用于第2全加器和第3全加器的結(jié)果選擇,二選一選擇器的控制 位取決于第1全加器的輸出高位。
全文摘要
本發(fā)明屬于集成電路設(shè)計技術(shù)領(lǐng)域,具體為一種應(yīng)用于無線通信系統(tǒng)基帶信號處理的可配置處理器。該可配置處理器架構(gòu)中包含四個異質(zhì)可配置運算處理單元,由一個控制器所控制。這四個可配置運算處理單元針對無線通信基帶信號處理中的四種粗顆粒的基本算術(shù)與邏輯運算,分別是乘加運算、邏輯運算、加法密集型運算和串行比特運算。由于不同協(xié)議的基帶處理過程均可以分解為這四種粗顆粒度的基本算術(shù)與邏輯運算來完成,因此這四個異質(zhì)可配置運算處理單元可以相互配合完成相應(yīng)的基帶處理要求。并且,通過不同的配置信息,適用于多種無線通信協(xié)議。
文檔編號H04L29/08GK101257483SQ20081003303
公開日2008年9月3日 申請日期2008年1月24日 優(yōu)先權(quán)日2008年1月24日
發(fā)明者周曉方, 爽 趙, 超 陸, 陸雯青 申請人:復(fù)旦大學(xué)