當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于Xtensa LX處理器實現(xiàn)RRC濾波器設計

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

    當今,在通信與多媒體領域,SoC設計越來越復雜,設計周期越來越短,而且為了適應市場需求及各種應用協(xié)議標準不斷變化的要求,SoC設計必須靈活且性能優(yōu)越,這就使SoC朝著軟件可編程化發(fā)展,保證在激烈的競爭中把產(chǎn)品迅速推向市場,滿足消費者的不同需求。

圖1:Xtansa LX處理器開發(fā)流程。

    然而,針對以密集計算性數(shù)據(jù)處理為目標的應用,如圖象處理、語音識別、包交換通信等領域,通用的數(shù)字信號處理器(DSP)往往缺乏足夠的靈活性來執(zhí)行復雜且高帶寬要求的數(shù)據(jù)處理任務,因為通用DSP有固定大小和帶寬的指令結構集和寄存器,不能針對不同的應用而靈活地調整,使得這種DSP的運行非常緩慢達,不到設計要求。并且,一些應用領域并不能夠充分利用通用DSP提供的全部特性,這樣導致DSP的資源不必要的浪費。但是,如果針對專有應用而開發(fā)專用集成電路(AISC),其靈活性也受到很大的限制,而且這種設計方法開發(fā)周期長、風險高,并不適合于算法復雜且靈活變化的應用。

    不同于傳統(tǒng)的嵌入式通用DSP,Tensilica的Xtensa LX處理器可以自由配置、可以靈活擴展并且能夠自動生成。設計者能夠根據(jù)特殊的應用靈活配置處理器,即對處理器結構進行相應的裁減,使處理器性能和特殊應用達到完美的匹配。同時,利用Tensilica指令擴展(TIE)技術,加入設計者自定義的硬件輔助執(zhí)行單元,可以得到與硬件設計相媲美的性能、面積和功率特性。

Xtensa LX處理器設計流程

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

    Xtensa LX處理器完整設計流程包括軟件開發(fā)與硬件實現(xiàn)階段,即處理器探索、生成以及實現(xiàn)三個步驟。并且針對不同的設計階段,Tensilica提供統(tǒng)一的開發(fā)環(huán)境Xtensa Xplorer,設計者利用該工具能夠進行單處理器與多處理器的開發(fā)。圖1顯示了利用XPG和Xtensa Xplorer開發(fā)專用應用處理器的完整設計流程。

    首先,根據(jù)算法的特點和復雜度,設計者可靈活配置處理器并生成處理器配置文件(Xtensa Configuration File, XCF),該文件除了包括Xtensa LX處理器的基本指令集結構以外,還含有針對特殊算法所用到的配置功能,如乘累加運算模塊、各種調試接口以及外圍總線接口等。然后,設計者需要把該文件上傳給XPG作自動處理,經(jīng)過一段時間XPG把處理的結果又自動下載給設計者。在該階段,XPG根據(jù)用戶選擇的硬件實現(xiàn)技術(目前130或180nm)來估計該配置處理器的面積、功耗以及運算頻率等,方便用戶設計。同時,XPG根據(jù)XCF還能自動生成適合于自定義處理器的各種軟件開發(fā)工具,包括編譯器、匯編器、連接器、調試器以及指令集仿真器等。

    在這些工具基礎之上,設計者就能實現(xiàn)算法的各種編譯、調試和仿真等軟件開發(fā)工作。在軟件開發(fā)階段的另外一項重要工作就是設計者根據(jù)處理器指令集的特殊結構以及算法的特點,利用指令擴展技術開發(fā)出設計者自定義的執(zhí)行單元,輔助處理器的運算,大規(guī)模提高處理器的處理性能。如果該自定義處理器的性能、面積、功耗以及運算頻率等滿足用戶的設計要求,配置文件XCF和TIE文件就固定下來,利用它們完成處理器的硬件實現(xiàn)。如果該處理器不滿足設計要求,則可重新開始設計流程的第一步,不斷反復設計優(yōu)化,直至開發(fā)出設計者滿意的自定義處理器內核。

圖2:RRC濾波器實現(xiàn)結構。

 

 

 

 

 

 

 

 
    對于Xtensa LX處理器的硬件實現(xiàn),XPG需要利用設計者確定的配置文件XCF和TIE文件,自動生成后端實現(xiàn)所需要的各種參數(shù)和模塊,包括:RTL仿真模型、處理器網(wǎng)表、各種實現(xiàn)腳本、靜態(tài)時序模型、硬件設計接口、指令集仿真器、軟硬件協(xié)同仿真模型等等。當然,處理器的仿真以及實現(xiàn)還需要借助各種EDA工具,如NC -Verilog、Design Compiler、PrimeTime、Seamless等。

根升余弦濾波器的設計實現(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)都是用硬件來完成的。而Xtensa

表1:RRC濾波器特性。

LX處理器不僅能處理大量密集計算型數(shù)據(jù),處理性能接近ASIC硬件實現(xiàn),同時,基于該處理器的設計又比硬件實現(xiàn)更加靈活快速。所以,RRC濾波器可以用Xtensa LX處理器來實現(xiàn)。

1. 根升余弦濾波器算法

    根升余弦濾波器的沖擊響應可表示為











 

 

 

    其中Tc表示碼片周期,(為滾降因子。通過大量仿真可以得到,用矩形窗函數(shù)法實現(xiàn)的RRC濾波器就能夠充分滿足TD-SCDMA通信系統(tǒng)的要求。該濾波器的特性見表1。

    通過公式1和表1,可以先計算出濾波器的65點沖擊響應值,在實現(xiàn)輸入數(shù)據(jù)的濾波時就可以直接通過查表法快速地提取該響應,方便計算。

2. 根升余弦濾波器實現(xiàn)

    RRC濾波器對輸入數(shù)據(jù)的濾波可用下式表示:









    式中,N為濾波器沖擊響應參數(shù),h(n)表示濾波器沖擊響應,x(n)表示輸入數(shù)據(jù),y(n)表示經(jīng)濾波后的輸出數(shù)據(jù)。根據(jù)公式2的卷積特性,RRC濾波器能用圖2所示的典型結構實現(xiàn)。

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

a. 實現(xiàn)方法一

    在通用的DSP中,每次只能一個數(shù)據(jù)參加移位操作,當大量數(shù)據(jù)需要處理時移位操作會消耗大量處理時間。而TIE技術提供單指令多數(shù)據(jù)(SIMD)功能,該功能允許在一個處理器指令內同時對多個數(shù)據(jù)進行操作。在RRC濾波器的移位操作中利用該技術,我們可同時對多個數(shù)據(jù)進行移位,從而縮短處理器的執(zhí)行時間,提高處理器的性能。

表2:方法一Xtansa LX處理器性能。

    在RRC濾波器處理過程中,乘累加操作也是主要運算工作,如何減少該操作的執(zhí)行時間也是提高處理器性能的有效途徑之一。 TIE技術也提供融合(fusion)功能,該功能允許設計者把多個連續(xù)的指令加入到一個指令中,即用一個指令就能執(zhí)行多個連續(xù)的處理動作。對于乘累加操作,在傳統(tǒng)的通用DSP設計之中,總是先進行乘法運算再作加法運算,它們是兩個連續(xù)的操作,需要兩個處理器指令。而利用融合技術,可以把乘法和加法這兩個連續(xù)的指令融合在一個指令中,使得處理器在一個時鐘周期內就能夠完成乘累加操作,從而加快處理器的執(zhí)行。同時,結合SIMD技術可同時對多個輸入數(shù)據(jù)和沖擊響應進行乘累加操作,進一步減少處理器的運算時間,提高處理器性能。利用方法一實現(xiàn)RRC濾波器的Xtensa LX處理器性能見2。

b. 實現(xiàn)方法二

    在方法一中,雖然運用了融合和SIMD技術提高RRC濾波器處理性能,但DSP對數(shù)據(jù)的存取依然花費了大量的時間,這是因為 DSP總線帶寬有一定限制,同時對多個數(shù)據(jù)進行讀寫操作不能實現(xiàn)。為了加快處理器執(zhí)行速度,提高對多個數(shù)據(jù)進行同時處理的并行性,Tensilaca的 TIE技術通過提供特殊的寄存器(state)和用戶自定義的寄存器(regfile),可以顯著的減少處理器在執(zhí)行過程中對儲存器操作所花費的大量時間。

    在方法一中實現(xiàn)的RRC濾波器乘累加操作必須等待移位操作完成之后才能進行,而且需要反復對儲存器讀和寫??梢赃\用 state和regfile這兩種用戶自定義的特殊寄存器,在state寄存器中存放乘累加的結果,在regfile寄存器中存放移位操作結果,這樣,利用融合技術可以在移位的同時進行乘累加操作,而且不再需要對儲存器讀寫而是直接調用寄存器操作,在減少DSP存取操作的同時提高數(shù)據(jù)處理的并行性。

    利用上述方法,可節(jié)省大量的處理器運行時鐘數(shù),其性能見表3。

c. 各種實現(xiàn)方法比較

    方法一只從計算的角度考慮RRC濾波器用到移位和乘累加操作,利用Tensilica提供的融合與SIMD技術把二者結合起來,加快處理器的執(zhí)行。然而,該方法在減少計算量的同時并沒有考慮到處理器讀寫儲存器所花費的時間。實際上,按照這種方法所設計的濾波器,處理器執(zhí)行過程中的數(shù)據(jù)運算部分已經(jīng)足夠精簡,大部分處理時間都花在了對儲存器的操作上。

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

表3:方法二Xtenasa LX處理器性能。

    同時,我們也已經(jīng)通過ASIC設計方法實現(xiàn)了RRC濾波器。利用這種方法處理相同長度的輸入數(shù)據(jù)共需要2,748個執(zhí)行時鐘,所用門數(shù)在2,700左右??梢姡椒ǘ崿F(xiàn)的濾波器性能已經(jīng)接近硬件設計,二者性能只相差3倍左右。但是,因為Xtensa LX處理器不只含有用戶自定義的執(zhí)行單元,還包含有最基本的指令結構集,使處理器面積不可能做到專用ASIC那么大小。并且算法和應用越復雜才越能充分利用Xtensa LX處理器的基本資源,使處理器不僅性能而且面積也接近ASIC實現(xiàn),這樣才更能體現(xiàn)LX處理器設計靈活、可自由配置和彈性擴展的優(yōu)勢。

本文小結

    Tensilica能夠針對用戶專用算法,不但提供獨特的可自由配置和靈活擴展的Xtensa LX處理器,而且還自動產(chǎn)生適合于該處理器的一系列軟件工具和硬件實現(xiàn)模型。同時,運用Tensilica提供的TIE技術,工程師可以方便快速地開發(fā)出自定義執(zhí)行單元輔助處理器的運行,大幅度提高處理器性能,滿足用戶的需要。但需要注意的是,作為輔助執(zhí)行單元,TIE技術會增加處理器的面積,執(zhí)行頻率也會受到影響,所以設計者應該明確自己的目標,需要在性能與面積及速度中做出折中的選擇。

    從以上比較中可以看出,運用Tensalica的Xtensa LX處理器實現(xiàn)的RRC濾波器性能接近硬件實現(xiàn),而且這種處理器開發(fā)周期明顯縮短,設計靈活具有軟件可編程特性,在超大型復雜應用中更能體現(xiàn)其強大的優(yōu)勢。并且當復雜功能的SoC經(jīng)過多個Xtensa處理器實現(xiàn)后,比傳統(tǒng)(CPU+DSP+RTL)的實現(xiàn)方式更經(jīng)濟也是有可能的,在開發(fā)速度上新方法則有明顯優(yōu)勢。

參考文檔

1. Tensilica, "Xtensa(r) LX Microprocessor Data Book", Sept. 2004
2. Tensilica, "Xtensa(r) LX Microprocessor Overview Handbook", Sept. 2004 3. Tensilica, "Xtensa(r) Instruction Extension (TIE) Language User's Guide", Sept. 2004
4. Tensilica, "Xtensa(r) Instruction Set Architecture (ISA) Reference Manual", Sept. 2004
5. 3GPP TS 25.102, "UE Radio Transmission and Reception (TDD)(Release 4)", V4.7.0, 2002-12
6. 丁玉美,高西全,西安電子科技大學出版社“數(shù)字信號處理(第二版)”,2001年1月
7. 周炯槃,龐沁華,續(xù)大我,吳偉陵,北京郵電大學出版社,“通信原理(上)”,2003年6月

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉