當(dāng)前位置:首頁 > EDA > 電子設(shè)計自動化
[導(dǎo)讀]介紹XC2V1000型現(xiàn)場可編程門陣列(FPGA)的主要特性和FIR抽取濾波器的工作原理,重點闡述用XC2V1000實現(xiàn)FIR抽取濾波器的方法,并給出仿真波形和設(shè)計特點。

摘要:介紹XC2V1000型現(xiàn)場可編程門陣列(FPGA)的主要特性和FIR抽取濾波器的工作原理,重點闡述用XC2V1000實現(xiàn)FIR抽取濾波器的方法,并給出仿真波形和設(shè)計特點。
關(guān)鍵詞:FIR抽取濾波器;流水線操作;XC2V1000;現(xiàn)場可編程門陣列

1 引言
   
抽取濾波器廣泛應(yīng)用在數(shù)字接收領(lǐng)域,是數(shù)字下變頻器的核心部分。目前,抽取濾波器的實現(xiàn)方法有3種:單片通用數(shù)字濾波器集成電路、DSP和可編程邏輯器件。使用單片通用數(shù)字濾波器很方便,但字長和階數(shù)的規(guī)格較少,不能完全滿足實際需要。使用DSP雖然簡單,但程序要順序執(zhí)行,執(zhí)行速度必然慢。現(xiàn)場可編程門陣列(FPGA)有著規(guī)整的內(nèi)部邏輯陣列和豐富的連線資源,特別適用于數(shù)字信號處理,但長期以來,用FPGA實現(xiàn)抽取濾波器比較復(fù)雜,其原因主要是FPGA中缺乏實現(xiàn)乘法運算的有效結(jié)構(gòu)?,F(xiàn)在,F(xiàn)PGA集成了乘法器,使FPGA在數(shù)字信號處理方面有了長足的進步。本文介紹用Xilinx公司的XC2V1000型FPGA實現(xiàn)FIR抽取濾波器的設(shè)計方法。

2 XC2V1000簡介
    Virtex-Ⅱ系列是Xilinx公司近幾年研發(fā)的具有高性能、高速度和低功耗特點的新一代FPGA,一經(jīng)問世就備受界內(nèi)人士的青睞。該系列FPGA基于IP核和專用模塊設(shè)計,能夠為電信、無線電、網(wǎng)絡(luò)、視頻和數(shù)字信號處理領(lǐng)域的應(yīng)用提供完整的解決方案。XC2V1000是Virtex-Ⅱ家族的一員,具有如下主要特點:
    ●100萬個系統(tǒng)門;
    ●40×32個可配置邏輯單元(5120個slice);
    ●40個18×18 bits乘法器,1個工作時鐘內(nèi)即可完成乘法運算;
    ●720Kbits RAM,可靈活配置(單口、雙口、有使能或無使能等);
    ●8個DCM(Digital Clock Manager)模塊;
    ●328個用戶I/O。

    此外,Xilinx公司還提供了功能強大的開發(fā)平臺(ISE),開發(fā)者可通過該平臺完成全部設(shè)計。

3 抽取濾波器的工作原理
   
抽取濾波器的工作原理是在濾波過程中實現(xiàn)抽取。對于抽取率為N的抽取濾波器而言,不是每進入1個新數(shù)據(jù)就完成1次濾波運算,然后再抽取,而是當(dāng)進來N個數(shù)據(jù)時濾波器才完成1次濾波運算,輸出1次濾波結(jié)果。抽取濾波器的結(jié)果和先濾波后抽取的結(jié)果是一致的,只是對于同樣的數(shù)據(jù),進行濾波運算的次數(shù)大大減少。在數(shù)字系統(tǒng)中采用抽取濾波器的最大優(yōu)點是增加了每次濾波的可處理時間,從而達到實現(xiàn)高速輸入數(shù)據(jù)的目的。下面以抽取率為2的具有線性相位的3階FIR抽取濾波器為例介紹抽取濾波器的實現(xiàn)過程。


    線性相位的FIR濾波器的系數(shù)具有某種對稱的性質(zhì)[1],3階Ⅱ類FIR線性相位濾波器在數(shù)學(xué)上可以表示為

   

    其中,h(0)=h(3),h(1)=h(2)。其結(jié)構(gòu)如圖1所示。由圖1可見,具有4個系數(shù)的3階Ⅱ類FIR線性相位濾波器只需2次加法、2次乘法和2次累加就可以完成1次濾波運算。如果IPGA工作時鐘為80MHz,輸入x(n)的數(shù)據(jù)率也為80MHz,那么經(jīng)2倍抽取后輸出y(n)為40MHz。也就是說,抽取濾波器每完成1次濾波運算,需要2個工作時鐘。如果加法器、乘法器和累加器在單個時鐘內(nèi)就能完成1次功能運算,那么只需1個加法器、1個乘法器和1個累加器采用流水線操作在2個工作時鐘內(nèi)就可以完成2次加法、2次乘法和2次累加運算,就可以完成一次抽取濾波。

4 具體實現(xiàn)
4.1 結(jié)構(gòu)設(shè)計
   
基于上述抽取濾波器的工作原理,筆者用XC2V1000實現(xiàn)了這個抽取率為2、具有線性相位的3階FIR抽取濾波器,利用原理圖和VHDL硬件描述語言共同完成源文件設(shè)計。圖2是抽取濾波器的頂層原理圖。其中,clock是工作時鐘,reset是復(fù)位信號,enable是輸入數(shù)據(jù)有效信號,data_in(17:0)是輸入數(shù)據(jù),data_out(17:0)是輸出數(shù)據(jù),valid是輸出數(shù)據(jù)有效信號。addei18是加法器模塊,mult18是乘法器模塊,acc36是累加器模塊,signal_36-18是數(shù)據(jù)截位器模塊,fir_controller是控制器模塊??刂破鞫〞r向加法器、乘法器和累加器發(fā)送數(shù)據(jù)或控制信號,實現(xiàn)流水線操作。

4.1.1控制器(fir_controller)
    控制器是抽取濾波器的核心模塊,有2種功能:接收輸入數(shù)據(jù),向其他模塊發(fā)送數(shù)據(jù)和控制信號。它根據(jù)加法器、乘法器和累加器的時序特性,規(guī)律地向加法器發(fā)送抽頭數(shù)據(jù),向乘法器發(fā)送系數(shù),向累加器發(fā)送控制信號,讓加法器、乘法器和累加器每個時鐘都完成指定的任務(wù),從而實現(xiàn)流水線操作??刂破饔肶HDL語言描述,用寄存器存放抽頭和系數(shù)。

4.1.2加法器(adder18)
    加法器的輸入和輸出都是18bits,用VHDL語言描述實現(xiàn)。它有2個工作時鐘的延遲,在輸入數(shù)據(jù)準備好的情況下,第一個時鐘得出相加結(jié)果,第二個時鐘把相加結(jié)果鎖存輸出。

4.1.3乘法器(multl8)
    乘法器是18bits輸入和36bits輸出,用庫元件MULT18X18S和36bits鎖存器實現(xiàn)。MULT18Xl8S是XC2V1000自帶的18×18bits乘法器,單個時鐘就可完成乘法運算;36bits鎖存器工作于時鐘的上升沿,用VHDL語言描述。乘法器(mult18)也有2個工作時鐘的延時,在輸入數(shù)據(jù)準備好的情況下,第一個時鐘得出相乘結(jié)果,第二個時鐘把相乘結(jié)果鎖存輸出。加法器和乘法器采用鎖存輸出的結(jié)構(gòu),雖然增加了1個工作時鐘的延遲,但有利于抽取濾波器穩(wěn)定的工作,提高可靠性。

4.1.4累加器(acc36)
   
36bits累加器用于累加乘法器的輸出,得出濾波結(jié)果。它有1個控制端口clr,當(dāng)clr為高電平時,輸出前一輪累加結(jié)果,并初始化開始新一輪累加;當(dāng)clr為低電平時.進行累加運算。累加器用VHDL語言描述。

4.1.5數(shù)據(jù)截位器(signal_36-18)
    數(shù)據(jù)截位器用VHDL語言描述,用于把累加器的36位輸出進行取舍處理,一般截掉數(shù)據(jù)低位部分,保留數(shù)據(jù)高位。為了對抽取濾波器進行功能仿真,這里截掉數(shù)據(jù)高18位,保留數(shù)據(jù)低18位。

4.2 工作過程及功能仿真
   
加法器、乘法器和累加器在控制器的作用下每個時鐘都要完成指定的任務(wù),從而形成流水線操作,實現(xiàn)抽取濾波。

    下面以抽取濾波器完成1次抽取濾波的全過程為例,說明抽取濾波器的工作過程。假設(shè)時鐘1、時鐘2、時鐘3和時鐘4控制器已接收了數(shù)據(jù)x(n-3)、x(n-2)、x(n-1)和x(n),那么,

    時鐘5:控制器向加法器發(fā)送數(shù)據(jù)x(n)和x(n-3);
    時鐘6:加法器進行。x(n)+x(n-3)運算;控制器向加法器發(fā)送數(shù)據(jù)x(n-1)和x(n-2);
    時鐘7:加法器進行x(n-1)+x(n-2)運算,輸出x (n)+x(n-3)運算結(jié)果??刂破飨虺朔ㄆ靼l(fā)送系數(shù)h(0);
    時鐘8:加法器輸出x(n-1)+x(n-2)運算結(jié)果,乘法器進行h(0)[x(n)+x(n-3)]運算,控制器向乘法器發(fā)送系數(shù)h(1) ;
    時鐘9:乘法器進行h(1)[x(n-1)+x(n-2)]運算,輸出h(0)[x(n)+x(n-3)1運算結(jié)果。控制器向累加器發(fā)送控制信號(clr為高電平);
    時鐘10:乘法器輸出h(1)[x(n-1)+x(n-2)]運算結(jié)果。累加器初始化開始累加操作??刂破飨蚶奂悠靼l(fā)送控制信號(clr為低電平);
    時鐘11:累加器進行累加運算h(0)[x(n)+x(n-3)]+h(1)[x(n-1)+x(n-2)]??刂破飨蚶奂悠靼l(fā)送控制信號(clr為高電平),控制器輸出濾波數(shù)據(jù)有效信號(valid為高電平);
    時鐘12:累加器輸出h(0)[x(n)+x(n-3)]+h(1)[x(n-1)+x(n-2)]累加結(jié)果,并初始化開始新一輪累加操作??刂破鬏敵鰹V波數(shù)據(jù)無效信號(valid為低電平);

    以上就是抽取濾波器完成1次抽取濾波的全過程??梢姡瑥臄?shù)據(jù)x(n)輸入到濾波結(jié)果y(n)輸出需要8個工作時鐘。如果控制器不停地向加法器、乘法器和加法器發(fā)送抽頭、系數(shù)和控制信號,就會形成流水線操作,那么每2個時鐘,抽取濾波器就會輸出1個濾波結(jié)果。圖3是抽取濾波器的仿真波形圖,其中在控制器中設(shè)置系數(shù)h(0)=1和h(1)=2。

4.3注意事項
    2個n位二進制數(shù)相加,其和至少需要n+l位二進制數(shù)才能正確表示。本設(shè)計中的加法器輸入輸出都是18位,為了防止加法器溢出,應(yīng)確保18位輸入數(shù)據(jù)x(n)的最高2位相同(都是符號位)。

    為了實現(xiàn)抽取濾波器的多級串聯(lián)結(jié)構(gòu),應(yīng)統(tǒng)一輸入數(shù)據(jù)有效信號enable和輸出數(shù)據(jù)有效信號valid的時序要求。本設(shè)計規(guī)定控制器在累加器輸出濾波結(jié)果數(shù)后下1個時鐘送出濾波結(jié)果有效信號,時寬為1個工作時鐘周期。

5 設(shè)計特點
   
采用此設(shè)計結(jié)構(gòu)實現(xiàn)抽取濾波器具有以下3個特點:

    (1)節(jié)省片內(nèi)資源和提高資源使用效率    
     Xilinx公司為了方便用戶設(shè)計濾波器,在IP核中集成了通用數(shù)字濾波器的設(shè)計,但利用IP核生成的數(shù)字濾波器往往不能針對實際情況合理地利用片內(nèi)資源,造成資源浪費。本設(shè)計中采用了流水線結(jié)構(gòu),所有功能模塊都滿負荷工作,沒有空閑等待時鐘,從而節(jié)省了片內(nèi)資源,提高了資源使用率。

    (2)可以實現(xiàn)抽取濾波器多級結(jié)構(gòu)
    針對抽取濾波器的輸出特性,可以采取相同的設(shè)計方法再設(shè)計一級抽取濾波器,對前一級輸出的數(shù)據(jù)再次抽取濾波,從而實現(xiàn)多級抽取濾波器結(jié)構(gòu)。

    (3)設(shè)計靈活且擴展性強
    用寄存器存放抽頭和系數(shù)適用于濾波器階數(shù)較少的情況,如果需要用上百階的抽取濾波,最好用片內(nèi):RAM存放抽頭和系數(shù),這時只要稍加改動控制器的邏輯設(shè)計既可實現(xiàn)。在此基礎(chǔ)上,還可實現(xiàn)可編程抽取濾波器。

6 結(jié)束語
   
本文以實現(xiàn)抽取率為2的具有線性相位的3階FIR抽取濾波器為例,介紹了一種用XC2V1000FPGA實現(xiàn)FIR抽取濾波器的設(shè)計方法。用該方法設(shè)計出的抽取濾波器靈活性強、資源利用率高,能廣泛應(yīng)用于數(shù)字接收領(lǐng)域。

本站聲明: 本文章由作者或相關(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è)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(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 半導(dǎo)體

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(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)閉