基于Xtensa LX處理器實現(xiàn)RRC濾波器設(shè)計_第1頁
基于Xtensa LX處理器實現(xiàn)RRC濾波器設(shè)計_第2頁
基于Xtensa LX處理器實現(xiàn)RRC濾波器設(shè)計_第3頁
基于Xtensa LX處理器實現(xiàn)RRC濾波器設(shè)計_第4頁
基于Xtensa LX處理器實現(xiàn)RRC濾波器設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、基于Xtensa LX處理器實現(xiàn)RRC濾波器設(shè)計        SoC設(shè)計復(fù)雜度不斷增加但設(shè)計周期卻顯著縮短,設(shè)計的軟件可編程特性要求越來越明顯。作為可自由配置和靈活擴展的嵌入式微處理器, Xtensa LX處理器不但能滿足控制任務(wù)的要求,而且能夠完成密集計算型數(shù)據(jù)任務(wù)。該處理器具有獨特的設(shè)計流程,含括了從處理器配置到具體硬件實現(xiàn)的完整過程。本設(shè)計針對Xtensa LX處理器的強大功能,利用Tensilica提供的設(shè)計技術(shù)完成對根升余弦濾波器的設(shè)計實現(xiàn),并且對不同實現(xiàn)方法進行比較。     當(dāng)今

2、,在通信與多媒體領(lǐng)域,SoC設(shè)計越來越復(fù)雜,設(shè)計周期越來越短,而且為了適應(yīng)市場需求及各種應(yīng)用協(xié)議標準不斷變化的要求,SoC設(shè)計必須靈活且性能優(yōu)越,這就使SoC朝著軟件可編程化發(fā)展,保證在激烈的競爭中把產(chǎn)品迅速推向市場,滿足消費者的不同需求。 圖1:Xtansa LX處理器開發(fā)流程。    然而,針對以密集計算性數(shù)據(jù)處理為目標的應(yīng)用,如圖象處理、語音識別、包交換通信等領(lǐng)域,通用的數(shù)字信號處理器(DSP)往往缺乏足夠的靈活性來執(zhí)行復(fù)雜且高帶寬要求的數(shù)據(jù)處理任務(wù),因為通用DSP有固定大小和帶寬的指令結(jié)構(gòu)集和寄存器,不能針對不同的應(yīng)用而靈活地調(diào)整,使得這種DSP的運行非常

3、緩慢達,不到設(shè)計要求。并且,一些應(yīng)用領(lǐng)域并不能夠充分利用通用DSP提供的全部特性,這樣導(dǎo)致DSP的資源不必要的浪費。但是,如果針對專有應(yīng)用而開發(fā)專用集成電路(AISC),其靈活性也受到很大的限制,而且這種設(shè)計方法開發(fā)周期長、風(fēng)險高,并不適合于算法復(fù)雜且靈活變化的應(yīng)用。     不同于傳統(tǒng)的嵌入式通用DSP,Tensilica的Xtensa LX處理器可以自由配置、可以靈活擴展并且能夠自動生成。設(shè)計者能夠根據(jù)特殊的應(yīng)用靈活配置處理器,即對處理器結(jié)構(gòu)進行相應(yīng)的裁減,使處理器性能和特殊應(yīng)用達到完美的匹配。同時,利用Tensilica指令擴展(TIE)技術(shù),加入設(shè)計者自定

4、義的硬件輔助執(zhí)行單元,可以得到與硬件設(shè)計相媲美的性能、面積和功率特性。 Xtensa LX處理器設(shè)計流程     作為面向特殊應(yīng)用的可靈活配置和擴展的嵌入式微處理器,Xtensa LX處理器有其獨特的設(shè)計流程,該流程包括從處理器配置到具體硬件實現(xiàn)的完整過程。其中,基于Xtensa LX處理器設(shè)計的一個重要特點就是需要借助Tensilica提供的處理器生成器(XPG)來自動產(chǎn)生用戶自定義的處理器軟件和硬件開發(fā)環(huán)境。該生成器位于Tensilica公司的服務(wù)器上,用戶在設(shè)計過程中需要與其交互才能開發(fā)出滿意的專有應(yīng)用處理器。     Xten

5、sa LX處理器完整設(shè)計流程包括軟件開發(fā)與硬件實現(xiàn)階段,即處理器探索、生成以及實現(xiàn)三個步驟。并且針對不同的設(shè)計階段,Tensilica提供統(tǒng)一的開發(fā)環(huán)境Xtensa Xplorer,設(shè)計者利用該工具能夠進行單處理器與多處理器的開發(fā)。圖1顯示了利用XPG和Xtensa Xplorer開發(fā)專用應(yīng)用處理器的完整設(shè)計流程。     首先,根據(jù)算法的特點和復(fù)雜度,設(shè)計者可靈活配置處理器并生成處理器配置文件(Xtensa Configuration File, XCF),該文件除了包括Xtensa LX處理器的基本指令集結(jié)構(gòu)以外,還含有針對特殊算法所用到的配置功能,如乘累加運

6、算模塊、各種調(diào)試接口以及外圍總線接口等。然后,設(shè)計者需要把該文件上傳給XPG作自動處理,經(jīng)過一段時間XPG把處理的結(jié)果又自動下載給設(shè)計者。在該階段,XPG根據(jù)用戶選擇的硬件實現(xiàn)技術(shù)(目前130或180nm)來估計該配置處理器的面積、功耗以及運算頻率等,方便用戶設(shè)計。同時,XPG根據(jù)XCF還能自動生成適合于自定義處理器的各種軟件開發(fā)工具,包括編譯器、匯編器、連接器、調(diào)試器以及指令集仿真器等。     在這些工具基礎(chǔ)之上,設(shè)計者就能實現(xiàn)算法的各種編譯、調(diào)試和仿真等軟件開發(fā)工作。在軟件開發(fā)階段的另外一項重要工作就是設(shè)計者根據(jù)處理器指令集的特殊結(jié)構(gòu)以及算法的特點,利用指令

7、擴展技術(shù)開發(fā)出設(shè)計者自定義的執(zhí)行單元,輔助處理器的運算,大規(guī)模提高處理器的處理性能。如果該自定義處理器的性能、面積、功耗以及運算頻率等滿足用戶的設(shè)計要求,配置文件XCF和TIE文件就固定下來,利用它們完成處理器的硬件實現(xiàn)。如果該處理器不滿足設(shè)計要求,則可重新開始設(shè)計流程的第一步,不斷反復(fù)設(shè)計優(yōu)化,直至開發(fā)出設(shè)計者滿意的自定義處理器內(nèi)核。 圖2:RRC濾波器實現(xiàn)結(jié)構(gòu)。            對于Xtensa LX處理器的硬件實現(xiàn),XPG需要利用設(shè)計者確定的配置文件XCF和TIE文件,自動

8、生成后端實現(xiàn)所需要的各種參數(shù)和模塊,包括:RTL仿真模型、處理器網(wǎng)表、各種實現(xiàn)腳本、靜態(tài)時序模型、硬件設(shè)計接口、指令集仿真器、軟硬件協(xié)同仿真模型等等。當(dāng)然,處理器的仿真以及實現(xiàn)還需要借助各種EDA工具,如NC -Verilog、Design Compiler、PrimeTime、Seamless等。 根升余弦濾波器的設(shè)計實現(xiàn)     根據(jù)第三代合作伙伴計劃(3GPP)規(guī)定,在TD-SCDMA終端通信系統(tǒng)中需要使用根升余弦(Root Raised Cosine, RRC)濾波器來實現(xiàn)數(shù)據(jù)的接收和發(fā)送。在終端系統(tǒng)中,RRC濾波器需要處理大量數(shù)據(jù),通常其算法的實現(xiàn)都是用

9、硬件來完成的。而Xtensa 表1:RRC濾波器特性。LX處理器不僅能處理大量密集計算型數(shù)據(jù),處理性能接近ASIC硬件實現(xiàn),同時,基于該處理器的設(shè)計又比硬件實現(xiàn)更加靈活快速。所以,RRC濾波器可以用Xtensa LX處理器來實現(xiàn)。 1. 根升余弦濾波器算法     根升余弦濾波器的沖擊響應(yīng)可表示為        其中Tc表示碼片周期,(為滾降因子。通過大量仿真可以得到,用矩形窗函數(shù)法實現(xiàn)的RRC濾波器就能夠充分滿足TD-SCDMA通信系統(tǒng)的要求。該濾波器的特性見表1。    

10、 通過公式1和表1,可以先計算出濾波器的65點沖擊響應(yīng)值,在實現(xiàn)輸入數(shù)據(jù)的濾波時就可以直接通過查表法快速地提取該響應(yīng),方便計算。 2. 根升余弦濾波器實現(xiàn)     RRC濾波器對輸入數(shù)據(jù)的濾波可用下式表示:     式中,N為濾波器沖擊響應(yīng)參數(shù),h(n)表示濾波器沖擊響應(yīng),x(n)表示輸入數(shù)據(jù),y(n)表示經(jīng)濾波后的輸出數(shù)據(jù)。根據(jù)公式2的卷積特性,RRC濾波器能用圖2所示的典型結(jié)構(gòu)實現(xiàn)。     由圖2結(jié)構(gòu)可以看出,該濾波器的實現(xiàn)包括兩個操作:輸入數(shù)據(jù)x(n)的移位運算,輸入數(shù)據(jù)x(n)與濾波器沖擊響應(yīng)h

11、(n) 的乘累加運算。在通用的DSP中,輸入數(shù)據(jù)的每次移位只能有一個數(shù)據(jù)參加操作,且數(shù)據(jù)的乘累加被分開運算,即先做乘法再做加法,同時DSP還要完成對大量數(shù)據(jù)的存取操作,這些因素使基于通用DSP實現(xiàn)的RRC濾波器運算非常緩慢。而利用Tensilica提供的處理器擴展功能,設(shè)計者能夠方便地加入自定義的執(zhí)行單元輔助處理器完成運算工作,加快RRC濾波器的運算,達到與硬件實現(xiàn)相媲美的處理性能?;赬tensa LX處理器的RRC濾波器實現(xiàn),利用Tensilica提供的獨特的處理技術(shù),有兩種方法可以完成設(shè)計,下面分別論述。 a. 實現(xiàn)方法一     在通用的DSP中,每次只能

12、一個數(shù)據(jù)參加移位操作,當(dāng)大量數(shù)據(jù)需要處理時移位操作會消耗大量處理時間。而TIE技術(shù)提供單指令多數(shù)據(jù)(SIMD)功能,該功能允許在一個處理器指令內(nèi)同時對多個數(shù)據(jù)進行操作。在RRC濾波器的移位操作中利用該技術(shù),我們可同時對多個數(shù)據(jù)進行移位,從而縮短處理器的執(zhí)行時間,提高處理器的性能。 表2:方法一Xtansa LX處理器性能。    在RRC濾波器處理過程中,乘累加操作也是主要運算工作,如何減少該操作的執(zhí)行時間也是提高處理器性能的有效途徑之一。 TIE技術(shù)也提供融合(fusion)功能,該功能允許設(shè)計者把多個連續(xù)的指令加入到一個指令中,即用一個指令就能執(zhí)行多個連續(xù)的處

13、理動作。對于乘累加操作,在傳統(tǒng)的通用DSP設(shè)計之中,總是先進行乘法運算再作加法運算,它們是兩個連續(xù)的操作,需要兩個處理器指令。而利用融合技術(shù),可以把乘法和加法這兩個連續(xù)的指令融合在一個指令中,使得處理器在一個時鐘周期內(nèi)就能夠完成乘累加操作,從而加快處理器的執(zhí)行。同時,結(jié)合SIMD技術(shù)可同時對多個輸入數(shù)據(jù)和沖擊響應(yīng)進行乘累加操作,進一步減少處理器的運算時間,提高處理器性能。利用方法一實現(xiàn)RRC濾波器的Xtensa LX處理器性能見2。 b. 實現(xiàn)方法二     在方法一中,雖然運用了融合和SIMD技術(shù)提高RRC濾波器處理性能,但DSP對數(shù)據(jù)的存取依然花費了大量的時間

14、,這是因為 DSP總線帶寬有一定限制,同時對多個數(shù)據(jù)進行讀寫操作不能實現(xiàn)。為了加快處理器執(zhí)行速度,提高對多個數(shù)據(jù)進行同時處理的并行性,Tensilaca的 TIE技術(shù)通過提供特殊的寄存器(state)和用戶自定義的寄存器(regfile),可以顯著的減少處理器在執(zhí)行過程中對儲存器操作所花費的大量時間。     在方法一中實現(xiàn)的RRC濾波器乘累加操作必須等待移位操作完成之后才能進行,而且需要反復(fù)對儲存器讀和寫??梢赃\用 state和regfile這兩種用戶自定義的特殊寄存器,在state寄存器中存放乘累加的結(jié)果,在regfile寄存器中存放移位操作結(jié)果,這樣,利用融

15、合技術(shù)可以在移位的同時進行乘累加操作,而且不再需要對儲存器讀寫而是直接調(diào)用寄存器操作,在減少DSP存取操作的同時提高數(shù)據(jù)處理的并行性。     利用上述方法,可節(jié)省大量的處理器運行時鐘數(shù),其性能見表3。 c. 各種實現(xiàn)方法比較     方法一只從計算的角度考慮RRC濾波器用到移位和乘累加操作,利用Tensilica提供的融合與SIMD技術(shù)把二者結(jié)合起來,加快處理器的執(zhí)行。然而,該方法在減少計算量的同時并沒有考慮到處理器讀寫儲存器所花費的時間。實際上,按照這種方法所設(shè)計的濾波器,處理器執(zhí)行過程中的數(shù)據(jù)運算部分已經(jīng)足夠精簡,大部分處理時間

16、都花在了對儲存器的操作上。     方法二正好把數(shù)據(jù)運算與存儲操作結(jié)合起來,利用Tensilica獨特的用戶自定義寄存器功能,可以減少對儲存器的操作,從而加快處理器的運算。該方法比前者性能提高將近12倍左右,但因為這種方法利用TIE定義了更多的輔助執(zhí)行單元,所以用此方法實現(xiàn)的處理器面積更大,這就需要設(shè)計者有明確的目標,在性能和面積上作適當(dāng)?shù)倪x擇。當(dāng)然,如果工程師花更多時間理解和研究Tensilica開發(fā)工具,相信還能為算法找到更好的方案。 表3:方法二Xtenasa LX處理器性能。    同時,我們也已經(jīng)通過ASIC設(shè)計方法實現(xiàn)了R

17、RC濾波器。利用這種方法處理相同長度的輸入數(shù)據(jù)共需要2,748個執(zhí)行時鐘,所用門數(shù)在2,700左右。可見,方法二實現(xiàn)的濾波器性能已經(jīng)接近硬件設(shè)計,二者性能只相差3倍左右。但是,因為Xtensa LX處理器不只含有用戶自定義的執(zhí)行單元,還包含有最基本的指令結(jié)構(gòu)集,使處理器面積不可能做到專用ASIC那么大小。并且算法和應(yīng)用越復(fù)雜才越能充分利用Xtensa LX處理器的基本資源,使處理器不僅性能而且面積也接近ASIC實現(xiàn),這樣才更能體現(xiàn)LX處理器設(shè)計靈活、可自由配置和彈性擴展的優(yōu)勢。 本文小結(jié)     Tensilica能夠針對用戶專用算法,不但提供獨特的可自由配置和靈活擴展的Xtensa LX處理器,而且還自動產(chǎn)生適合于該處理器的一系列軟件工具和硬件實現(xiàn)模型。同時,運用Tensilica提供的TIE技術(shù),工程師可以方便快速地開發(fā)出自定義執(zhí)行單元輔助處理器的運行,大幅度提高處理器性能,滿足用戶的需要。但需要注意

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論