當前位置:首頁 > EDA > 電子設(shè)計自動化
[導讀]本文以16-QAM RF發(fā)射數(shù)據(jù)泵的設(shè)計為例,介紹利用FPGA設(shè)計數(shù)字濾波器的技巧和器件選擇方法,說明執(zhí)行分布式計算時FPGA比DSP的優(yōu)越之處。

    本文以16-QAM RF發(fā)射數(shù)據(jù)泵的設(shè)計為例,介紹利用FPGA設(shè)計數(shù)字濾波器的技巧和器件選擇方法,說明執(zhí)行分布式計算時FPGA比DSP的優(yōu)越之處。
  • 所有數(shù)字邏輯的基本結(jié)構(gòu)
  • 16-QAM調(diào)制器
  • 編碼和碼元映射
  • 平方根升余弦濾波器
  • 設(shè)計技巧
  • 5 MHz載波
  • 分布式計算(DA)技術(shù)
  • 濾波器的實現(xiàn)

    用現(xiàn)場可編程門陣列(FPGA)設(shè)計軟件無線電調(diào)制解調(diào)器可與DSP芯片媲美。雖然FPGA可輕而易舉地實現(xiàn)卷積編碼器等復雜邏輯功能,但在實現(xiàn)大量復雜計算方面卻有很大的缺陷。即使用最快的FPGA來實現(xiàn)矩陣乘法器,其成本和性能也抵不上一個僅值5美元的DSP芯片。在用CAD工具設(shè)計時DSP仍是首選芯片,但是隨著分布式計算(DA)技術(shù)的應用,F(xiàn)PGA再次受到設(shè)計師的喜愛。

    FPGA的特性之一是結(jié)構(gòu)靈活。事實上無線和調(diào)制解調(diào)數(shù)據(jù)通道的功能模塊很容易映射到獨立和并行的硬件節(jié)點上。采用一個只能分時運行的數(shù)字信號處理器時,調(diào)度多個時間要求緊迫的任務需要非常復雜的編程,而采用FPGA就避免了這一問題。

    我們將在設(shè)計16-QAM射頻發(fā)射數(shù)據(jù)泵的同時介紹FPGA特性,并詳細描述如何方便地把數(shù)據(jù)通道功能模塊轉(zhuǎn)換為Xilinx 4000系列FPGA的邏輯電路,從而準確地估計所需邏輯電路的數(shù)量。雖然滿足相同系統(tǒng)需求及使用同一類型FPGA的16-QAM數(shù)據(jù)泵的設(shè)計曾在公開文獻中發(fā)表過,但報道中的邏輯電路數(shù)量似乎比實際需要多得多。為了急于投放市場,產(chǎn)品很可能不用CAD工具進行設(shè)計。完全依賴CAD工具也未必總能得出最優(yōu)的方案,還要付出大量辛勤的汗水、經(jīng)驗和創(chuàng)造性工作。

所有數(shù)字邏輯的基本結(jié)構(gòu)

    只要有足夠的與非門及或非門等通用邏輯門即可構(gòu)建任何數(shù)字邏輯。FPGA具有充足的邏輯門。Xilinx 4000系列的邏輯門采用真值表的形式,或者采用更為通用的16 字 x 1比特查找表(LUT)的形式,它可實現(xiàn)四個輸入變量(查找表的地址線)的任意布爾函數(shù)功能。由于產(chǎn)生的函數(shù)功能通常相當于多個與非門的組合,所以LUT被視為基本的邏輯單元。Xilinx 4000系列可配置邏輯模塊(CLB)包括兩個16字的LUT,可組合產(chǎn)生五輸入變量的任意布爾函數(shù)。此外LUT還可設(shè)置成兩個16 x 1 RAM或一個32 x 1 RAM。

    CLB成二維方陣排列,CLB及它們之間的互連可以分別配置。最小的XC4002包含一個8 x 8的CLB矩陣,最大的XC4085XL則包含一個48 x 48的CLB矩陣。每個LUT連接一個高達100 MHz的觸發(fā)器。

16-QAM調(diào)制器

    16-QAM調(diào)制器包括RF發(fā)射數(shù)據(jù)泵的關(guān)鍵功能模塊(見圖1)。20-Mbps串行數(shù)據(jù)分為4比特碼元組(symbol)后,以每秒5兆碼元的速率并行送至一個差分編碼器和碼元映射器(symbol mapper)。該映射器產(chǎn)生3比特的正交分量對。然后這些分量對由一對平方根升余弦濾波器進行脈沖整形,經(jīng)過插值達到每秒20兆碼元,再由5MHz載波進行調(diào)制,將各輸出相加后進行數(shù)模轉(zhuǎn)換。設(shè)計的關(guān)鍵是采用一對插值脈沖整形濾波器。

    為了有效地實現(xiàn)這種設(shè)計方法,有必要在確定邏輯門的總數(shù)時,將編碼和映射功能模塊以及一個5MHz調(diào)制器也考慮進去。

編碼和碼元映射

    在確定編碼器和信號映射器的邏輯數(shù)目時,我們可以借鑒過去標準調(diào)制解調(diào)器的設(shè)計。如V.32中的編碼器包括一個提供180度雙相保護的差分編碼器和一個能加入冗余以減小接收器的位誤差率(BER)的卷積編碼器。編碼器和映射器都是有限狀態(tài)機實現(xiàn)的,所有狀態(tài)由五個寄存器(2.5個 CLB)實現(xiàn),連接邏輯由八個二輸入異或門(4個CLB)及三個二輸入與門(1.5 CLB)構(gòu)成。在這個16-QAM發(fā)送器中,一個串并轉(zhuǎn)換寄存器(2個CLB)捕獲到四個20-Mbps的串行比特后形成一個4比特碼元,這樣編碼器就可以處理降低到每秒5兆碼元的數(shù)據(jù)流,而這種速率CLB很容易處理。數(shù)據(jù)通道控制需要沿著數(shù)據(jù)通道的寄存器進行時鐘控制,所需CLB的數(shù)量少于15個。接著,一個經(jīng)編碼的5比特輸出碼元對應映射器的地址線,很簡單,該映射器是一對3比特輸出的LUT。

    這些輸出作為正交分量(I和Q) 映射一個二維平面(星座)內(nèi)的碼元位置。64個交叉點(星)中僅有16個代表有效的碼元位置。映射器的大小為32字 x 3比特 x 2 即6個CLB。這些功能模塊的CLB總數(shù)是31個。

平方根升余弦濾波器

    平方根升余弦濾波器是在傳輸通道的有限帶寬內(nèi)抑制碼元相互干擾的一種可行方法。頻譜由發(fā)射器和接收器單元分別調(diào)制,形成了平方根升余弦濾波器。濾波器形狀及其系數(shù)用QEDesign 1000軟件輔助開發(fā)。圖2為12比特定點計算的32抽頭有限脈沖響應(FIR)濾波器的響應圖。我們將采用一個12比特濾波器模型并確定其邏輯門數(shù)(采用12比特量化的方式,QEDesign程序僅需28個對稱系數(shù),但是這種設(shè)計方案將使用一個完全32抽頭對稱FIR濾波器)。

 

 

 

 

 

 

 

 

 

 

 

 


設(shè)計技巧

    平方根升余弦濾波器用于I、Q兩個通道上的頻譜形成。當以每秒5兆采樣速率產(chǎn)生I、Q采樣點時,濾波器為調(diào)制器產(chǎn)生每秒20兆的采樣數(shù)據(jù)。這樣,濾波器充當了一個1:4的插值器。相應的計算量(采用對稱系數(shù))為2通道 x 16階對稱抽頭x每秒20兆采樣點 = 每秒640兆乘法-累加運算。這一速度大大超過大多數(shù)定點DSP芯片的運行速度。現(xiàn)在FPGA已成為一種很有吸引力的選擇,但是,還要挑選一種濾波器形式使之能最有效地映射到基于CLB的設(shè)計。

    現(xiàn)在有多種邏輯電路的配置或形式可實現(xiàn)FIR濾波器。最主要的有直接形式(即一種常用的軟件模型)、帶變量的轉(zhuǎn)置形式(已由專用濾波器芯片實現(xiàn))以及多相濾波器(適用于多速率應用)。但這些形式都不能采用對稱系數(shù)的方法來減少乘法計算量。設(shè)計多速率濾波器的一個技巧是在采樣點-系數(shù)平面標出信號流軌跡。

    縱軸表示采樣點,水平軸表示系數(shù),畫出的數(shù)據(jù)軌跡顯示了90度翻轉(zhuǎn)后濾波器的響應圖。因為系數(shù)對稱,只需列出一半濾波器系數(shù)。插入系數(shù)為K,即在輸入采樣點間填入K-1個零點,從而得到32抽頭FIR的V形軌跡。雖然輸入數(shù)據(jù)采樣點間隔為200 ns,但新的軌跡點必須每隔50ns一點。

    由該圖可以得出兩種計算模型。第一種是轉(zhuǎn)置形式的變形,其中非零輸入采樣值與所有32個系數(shù)的乘積在部分和寄存器中相加。32個乘積相加后并且濾波器的完全響應輸出后,乘法-累加器電路可用于計算新軌跡。在此,每隔200ns進行32次MAC運算。第二種模型是延遲相加,即FIR濾波器的直接形式。正如在濾波器軌跡中所看到的,需要八個存儲的采樣值計算一個濾波響應。通過計算五個連續(xù)濾波器響應我們可觀察到表1給出的模型。

    由同樣的八個采樣點輸入組可計算出四個連續(xù)的20MHz響應。只使用了兩組濾波器系數(shù)。濾波器系數(shù)與每個采樣數(shù)據(jù)組的第三和第四個響應( y d和y e )順序相反。這些響應方程能映射到有效的FPGA電路中嗎?當然能!關(guān)鍵就是應用分布式計算技術(shù),所有現(xiàn)行的設(shè)計工具都不具備這種算法。實現(xiàn)響應方程組以前,可先作一下簡化。

5 MHz載波

    載波調(diào)制的簡單方程為:Y(k) = yI(k)cos(wC*t) + yQ(k)sin(wC*t),其中wC為載波頻率= 2p(5 MHz), I和Q表示同相和正交的碼元分量。

    此方程每50 ns執(zhí)行一次。一個碼元周期內(nèi)(200 ns)僅有四個載波值。這些值可以方便地定義為:cos(wC*t) = 1, 0, -1, 0和sin(wC*t)= 0, 1, 0, -1 ,1。

    調(diào)制輸出既不需要任何乘法或加法,也不需要每隔50ns計算一次I、Q濾波器響應。50 ns計算一個I響應接著在下一個50 ns計算一個Q響應,然后再計算I響應、Q響應,周而復始。

分布式計算(DA)技術(shù)

    DA是專門針對乘積和方程的一種計算技術(shù),方程中的一項乘積因子是常數(shù)。DA設(shè)計可實現(xiàn)門級高效率、串行位算法及高性能位并行運算,它是經(jīng)典的串/并綜合方案。DA技術(shù)可應用于很多重要的線性、時不變數(shù)字信號處理算法,如濾波器(FIR和IIR)、變換(快速傅立葉變換[FFT])及矩陣向量乘積,如8 x 8離散余弦變換(DCT)。

    二十多年前就有了DA技術(shù),已經(jīng)證實它不適于可編程DSP的定點指令集結(jié)構(gòu)。然而,DA非常適于FPGA實現(xiàn),尤其是如Xilinx CLB的LUT邏輯模塊。用Xilinx XC3000系列的FPGA設(shè)計DA FIR濾波器早在1992年就已提出。

    DA電路中沒有獨立的乘法器。乘法是由LUT完成的。DA預存一個方程式中所有部分乘積項的和,并且根據(jù)所有輸入變量位查表(此處為DALUT)運算。串行DA電路有一個獨立的DALUT,它從最低的有效位開始查表。部分乘積的輸出和存儲在累加器中,這種方法讓我們想起了早期計算機中的移位相加子程序,連續(xù)的DALUT輸出累加到部分乘積的二進制下移累加和中。這樣可得到一個真正的雙精度結(jié)果。

濾波器的實現(xiàn)

    平方根升余弦濾波器的數(shù)據(jù)通道由已可轉(zhuǎn)換為CLB的標準功能模塊定義。每隔200ns將映射器輸出的3比特I、Q信號傳至并串轉(zhuǎn)換移位寄存器(PSR)。RAM移位寄存器(SR)鏈中存儲了七個先前的碼元。前三個濾波器響應Y b , Y c , Y d與移位寄存器中的循環(huán)數(shù)據(jù)一起運算。PSR還需要一個反饋通道,但RAM SR在只讀時循環(huán)受到模塊尋址的影響。這里的模塊有六個,前三次移位用于Y b,緊接著的三次用于Y c,最后三次則是用于Y d。在計算Y e時,數(shù)據(jù)沿SR鏈下移。這種模塊尋址模式隨著前級傳輸(寫)的數(shù)據(jù)不斷重復。所有十二次移位和相應的PSR加載、RAMSR尋址及寫控制都來源于60MHz系統(tǒng)時鐘。

    由于相同的系數(shù)組要用于兩個采樣周期,一個用于I通道數(shù)據(jù)計算,另一個用于Q通道數(shù)據(jù)計算,用一組DALUT和2/1復用器將串行數(shù)據(jù)流導向相應的地址端口。這些端口可以表示DALUT的結(jié)構(gòu)。h 3端口的邏輯高電平選擇部分乘積和包含h 3的所有內(nèi)存地址。與此類似,h 7端口的邏輯高電平選擇所有包含h 7的所有地址,h 3和h 7端口的邏輯高電平選擇所有包含h 3和h 7的地址。剩余的六個系數(shù)仍采用這種模式。事實上,八個系數(shù)將需要2 8或256個字存儲。對于12比特系數(shù)的情況,將需要 (每個CLB為256/32 字) x 12 = 96 個CLB。另一個訣竅是使用兩個DALUT,每個需要四個系數(shù)并增加它們的輸出。這樣CLB的數(shù)目則減少到(2 x 24)/32 x 12 + 13/2 (并行加法器) = 18.5 個CLB.

    同樣的簡化也可用到以h 1開始的第二套濾波器系數(shù)中。采用2/1復用器可分時共享并行加法器。該加法器擴展為13個比特后,輸入到前述執(zhí)行移位和加法運算的標量累加器。當輸入變量的符號位傳輸給DALUT時,就進行減運算。此過程可通過在DALUT輸出增加EXOR門并向累加器第一級進位的標準方法來完成。對于負響應Y d和Y e,數(shù)據(jù)采樣可不管符號位,而對所有的DALUT輸出數(shù)據(jù)取反來求補。

    對于分數(shù)二進制補碼格式的I、Q數(shù)據(jù),濾波器系數(shù)要進行調(diào)整以防在最后輸出中溢出。十個最高有效位可加載到D/A轉(zhuǎn)換驅(qū)動寄存器中。

    濾波器數(shù)據(jù)通道的CLB總數(shù)為71.5個,F(xiàn)PGA輸出端口帶有觸發(fā)器,可作為D/A轉(zhuǎn)換的驅(qū)動寄存器。算上編碼器(31個CLB)及定時和控制功能(估計要少于50個CLB)在內(nèi),總數(shù)大約為159個CLB,正好可置于Xilinx XC4000系列中較小(稍大于最小)的芯片中,即XC4005 (196個CLB)。如果采用Xilinx Virtex等更高級的FPGA器件,則可減少CLB的數(shù)量并提高性能。

    整個設(shè)計可確保60MHz系統(tǒng)時鐘條件下的性能。數(shù)據(jù)流采取統(tǒng)一形式且單向傳輸??梢圆迦牍艿兰拇嫫?不增加CLB)以縮短組合路徑。通過標量累加器的十四級的進位鏈是最長的組合路徑。然而,通過內(nèi)置預進位電路可確保足夠的速度余量。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

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

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

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

關(guān)鍵字: 騰訊 編碼器 CPU

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

關(guān)鍵字: 華為 12nm EDA 半導體

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

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

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

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

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

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

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉