国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Verilog HDL的FIR數(shù)字濾波器的優(yōu)化設(shè)計(jì)與仿真

2014-04-18 07:13李玉學(xué)白忠臣秦水介
現(xiàn)代電子技術(shù) 2014年7期

李玉學(xué)+白忠臣+秦水介

摘 要: 對(duì)FIR數(shù)字濾波器基于Verilog HDL的實(shí)現(xiàn)進(jìn)行了研究,在分布式算法的基礎(chǔ)上進(jìn)行了改進(jìn),設(shè)計(jì)了32階常系數(shù)FIR濾波器。用Verilog硬件描述語言進(jìn)行數(shù)字邏輯設(shè)計(jì),使用Synopsys VCS作為仿真工具對(duì)設(shè)計(jì)進(jìn)行仿真和驗(yàn)證,在Synopsys 公司的Design Compiler下進(jìn)行綜合。結(jié)果表明,該設(shè)計(jì)既保證了運(yùn)行速度又節(jié)省了芯片的面積,可以廣泛應(yīng)用于數(shù)字集成電路的設(shè)計(jì)中。

關(guān)鍵詞: Verilog HDL; FIR濾波器; 分布式算法; 數(shù)字集成電路

中圖分類號(hào): TN713?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)07?0154?03

Optimization design and simulation of FIR digital filter based on Verilog HDL

LI Yu?xue1,2, BAI Zhong?chen1, QIN Shui?jie1

(1. Guizhou Key Laboratory of Photoelectron Technology and Application, Guiyang 550025, China;

2. School of Electronic Information, Guizhou University, Guiyang 550025, China)

Abstract: The realization of FIR digital filter based on Verilog HDL was studied and was improved on the basis of the distributed algorithm. A 32?order constant coefficient FIR filter was designed. Verilog hardware description language was used for digital logic Design. The design was simulated and verified by taking Synopsys VCS as a simulation tool. It was synthesized with Design Compiler of Synopsys Company. The results show that the design can noy only ensure the running speed, but also save the area of the chip. It can be widely used in the design of digital integrated circuit.

Keywords: Verilog HDL; FIR filter; distributed algorithm; digital integrated circuit

0 引 言

數(shù)字濾波器廣泛應(yīng)用于數(shù)字音頻、圖像處理、數(shù)據(jù)傳輸、生物醫(yī)學(xué)等領(lǐng)域,是現(xiàn)代信號(hào)處理的重要內(nèi)容。有限沖擊響應(yīng)(FIR)濾波器有著保證線性相位和系統(tǒng)絕對(duì)穩(wěn)定的優(yōu)勢(shì),因此在現(xiàn)代信號(hào)處理中得到廣泛的應(yīng)用。 隨著電子計(jì)算機(jī)技術(shù)和大規(guī)模集成電路的發(fā)展,數(shù)字濾波器已可用計(jì)算機(jī)軟件實(shí)現(xiàn),也可用大規(guī)模集成數(shù)字硬件實(shí)時(shí)實(shí)現(xiàn)。在工程實(shí)踐中,對(duì)信號(hào)的靈活和實(shí)時(shí)性要求很高,而現(xiàn)有的一些軟件和硬件設(shè)計(jì)方式很難同時(shí)達(dá)到這兩方面的要求[1?2]。本文優(yōu)化設(shè)計(jì)了一種基于Verilog HDL的FIR數(shù)字濾波器,該濾波器處理速度較快,滿足信號(hào)實(shí)時(shí)處理的需求,且有效地減少了芯片的面積。

1 FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)

1.1 FIR濾波器的設(shè)計(jì)原理

FIR濾波器的實(shí)現(xiàn)方法主要是基于乘加結(jié)構(gòu)(MAC結(jié)構(gòu))和分布式算法(DA)結(jié)構(gòu)。乘累加結(jié)構(gòu)在很大程度上能夠節(jié)省硬件資源,但造成濾波器要在多時(shí)鐘周期后才有輸出,處理速度很慢,不能滿足對(duì)高速系統(tǒng)的要求。并行乘法器結(jié)構(gòu)盡管處理速度提高了,但是大量的耗費(fèi)硬件資源,造成設(shè)計(jì)成本高。DA算法是將所有可能的乘積和預(yù)先計(jì)算出并保存在查找表中,能高效地實(shí)現(xiàn)多個(gè)乘法運(yùn)算操作,在速度上和資源占用上比利用乘法器結(jié)構(gòu)設(shè)計(jì)FIR濾波器有不可比擬的優(yōu)勢(shì)[3]。DA算法的原理簡(jiǎn)介如下。

一個(gè)[K]階的FIR濾波器的表達(dá)式如下:

[y=k=0K-1hkxk] (1)

式中:[hk]是第[k]個(gè)抽頭上的濾波器系數(shù);[xk]是對(duì)應(yīng)第[k]個(gè)抽頭上的輸入數(shù)據(jù)。對(duì)于位寬為[n]比特的有符號(hào)[xk]數(shù)用二進(jìn)制補(bǔ)碼表示為[(b0b1…bn-2bn-1)2,][b0]是符號(hào)位,[bn-1]是最低位,則:

[xk=-bk0+i=1n-1bki2-i] (2)

將式(2)代入式(1),則有:

[y=k=0K-1hk-bk0+i=1n-1bki2-i] (3)

將式(3)展開,得到:

[y=-k=0K-1hkbk0+i=1n-1k=0K-1hkbki2-i] (4)

由式(4)可以看出,濾波器的輸出[y]由兩部分組成,式中[k=0K-1hkbki]表示[K]個(gè)固定系數(shù)與其對(duì)應(yīng)的[K]個(gè)二進(jìn)制補(bǔ)碼輸入的第[i]位的乘積和,它的結(jié)果共有[2k]種可能,將這[2k]種可能值計(jì)算出來放在查找表里,將乘累加轉(zhuǎn)換成查表的過程。采用DA算法的FIR濾波器,其處理速度僅與輸入的數(shù)據(jù)寬度有關(guān),而與濾波器的階數(shù)無關(guān)。

由以上推導(dǎo)得出,當(dāng)濾波器的階數(shù)變大時(shí),查找表的規(guī)模按指數(shù)增長(zhǎng)。對(duì)于高階濾波器的實(shí)現(xiàn),必須采用將高階濾波器拆分成多個(gè)低階濾波器的方式。例如實(shí)現(xiàn)一個(gè)32階的FIR濾波器,可以由8個(gè)4階的FIR濾波器的輸出結(jié)果相加來完成,但是它們有各自不同的查找表[4]。

DA算法有位串分布式(SDA)算法,并行分布式(PDA)算法和串并結(jié)合的分布式算法,實(shí)現(xiàn)一個(gè)4階的FIR濾波器,對(duì)于SDA算法,需要一個(gè)查找表,如果輸入數(shù)據(jù)位寬為[N]位時(shí),至少要在[N]個(gè)時(shí)鐘周期后才有結(jié)果輸出,對(duì)于PDA算法,將每個(gè)輸入數(shù)據(jù)的相同位傳遞給查找表,不同的位有不同的查找表,實(shí)現(xiàn)很高的速度,常用在對(duì)濾波器速度要求相當(dāng)高的場(chǎng)合,不利的地方是使用多個(gè)數(shù)據(jù)相同的查找表內(nèi),加大了資源的占用,目前還沒有一個(gè)有效的方法既能有效減少查找表的數(shù)量,又能不降低系統(tǒng)運(yùn)算速度[5]。串并結(jié)合的分布式算法,例如,輸入的16 b數(shù)據(jù),從低到高分為4個(gè)4 b數(shù)據(jù):[0:3]、[4:7]、[8:11]、[12:15],每個(gè)4 b數(shù)據(jù)使用一個(gè)查找表,共4個(gè)查找表,由于既有并行結(jié)構(gòu)又有串行結(jié)構(gòu),往往有一些控制電路和多個(gè)時(shí)鐘[6]。

1.2 FIR濾波器的Verilog HDL設(shè)計(jì)實(shí)例

1.2.1 設(shè)計(jì)結(jié)構(gòu)

本例主要設(shè)計(jì)一個(gè)32階的FIR濾波器,由8個(gè)結(jié)構(gòu)完全相同的4階的FIR濾波器連接構(gòu)成,32階FIR濾波器的輸出為每個(gè)4階FIR濾波器的輸出結(jié)果相加,如圖1所示。

基于PDA算法的4階FIR濾波器的結(jié)構(gòu)如圖2所示。輸入的4個(gè)數(shù)據(jù)的相同位構(gòu)成一個(gè)4位的查找表地址,查找從最低位開始,通過移位實(shí)現(xiàn)乘2運(yùn)算后累加,得到濾波器的輸出。

圖1 32階FIR濾波器結(jié)構(gòu)

圖2 基于PDA算法的4階FIR數(shù)字濾波器結(jié)構(gòu)

對(duì)基于PDA算法的4階FIR數(shù)字濾波器進(jìn)行優(yōu)化設(shè)計(jì)后的濾波器結(jié)構(gòu)圖,如圖3所示。用數(shù)據(jù)選擇器代替查找表,數(shù)據(jù)選擇器中選擇的數(shù)據(jù)和查找表的數(shù)據(jù)相同,數(shù)據(jù)選擇器的個(gè)數(shù)和查找表的個(gè)數(shù)相等。

圖3 4階FIR數(shù)字濾波器結(jié)構(gòu)

1.2.2 Verilog HDL代碼編寫

采用寄存器傳輸級(jí)描述(RTL)的方法和自頂向下的方式進(jìn)行代碼的編寫,同時(shí)應(yīng)該具有很好的易讀性和可重復(fù)性[7]。其中每個(gè)數(shù)據(jù)選擇器模塊和4階FIR濾波器模塊完全相同,可重復(fù)使用。32階FIR濾波器的端口列表見表1。

表1 32階FIR濾波器的端口列表

[端口名\&類型\&說明\&data_in[15..0]\&輸入\&輸入為16位帶符號(hào)整數(shù)\&rst_n\&輸入\&時(shí)鐘復(fù)位信號(hào)\&clk\&輸入\&時(shí)鐘\&data_out[15..0]\&輸出\&FIR濾波器的輸出為16位帶符號(hào)整數(shù)\&]

1.2.3 驗(yàn)證仿真

使用Synopsys VCS作為仿真工具,通過編譯仿真得到波形文件,使用DVE打開波形文件,能夠看到各信號(hào)的傳輸情況,圖4為32階FIR濾波器的仿真波形圖。本文設(shè)計(jì)的濾波器為常系數(shù)FIR濾波器,由輸入數(shù)據(jù)和濾波器的系數(shù)可以利用Matlab計(jì)算出標(biāo)準(zhǔn)的濾波器輸出數(shù)據(jù)[8?9]。把通過Verilog HDL實(shí)現(xiàn)濾波后得到的輸出數(shù)據(jù)和Matlab計(jì)算得到的數(shù)據(jù)進(jìn)行對(duì)比,發(fā)現(xiàn)兩種方式得到的數(shù)據(jù)相同,驗(yàn)證了設(shè)計(jì)的濾波器的輸出結(jié)果的正確性。由查找表實(shí)現(xiàn)的FIR濾波器會(huì)因?yàn)椴檎冶碚加么罅康拇鎯?chǔ)單元,而本文設(shè)計(jì)的FIR濾波器用數(shù)據(jù)選擇器代替了查找表結(jié)構(gòu),實(shí)現(xiàn)相同的功能和高速的處理速度,而且減少了資源的占用,這和綜合后的得到的結(jié)果相符合,有效地節(jié)約了芯片的面積。

圖4 32階FIR濾波器仿真波形

2 結(jié) 論

利用Verilog HDL 設(shè)計(jì)的FIR濾波器在設(shè)計(jì)上比較靈活,代碼容易修改,編譯和仿真效率較高[10]。本文設(shè)計(jì)的濾波器有效地節(jié)約了芯片的面積,降低設(shè)計(jì)的成本,可以廣泛應(yīng)用于數(shù)字集成電路中。

參考文獻(xiàn)

[1] 王春興,張彬.基于Matlab的FIR濾波器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(18):83?85.

[2] 林志典,張方佩,袁國順.基于FPGA的高速FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué),2013,43(4):537?540.

[3] 曲仕如,彭紀(jì)昌.一種在FPGA上實(shí)現(xiàn)的FIR數(shù)字濾波器的資源優(yōu)化算法[J].電子設(shè)計(jì)工程,2013,21(14):147?149.

[4] 陳亦歐.采用分布式算法的高速FIR濾波器ASIC設(shè)計(jì)[J].微電子學(xué),2007,37(1):144?146.

[5] 趙金現(xiàn),吳三,王乃飛.基于FPGA并行分布式算法的FIR濾波器的實(shí)現(xiàn)[J].黑龍江科技學(xué)院學(xué)報(bào),2006,16(4):248?250.

[6] 凌春麗.基于分布式算法的FIR濾波器的實(shí)現(xiàn)與應(yīng)用[D].南京:南京林業(yè)大學(xué),2012.

[7] 夏雨聞.Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2003.

[8] 尹玉興,劉振堅(jiān),項(xiàng)止武.基于Matlab的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].工礦自動(dòng)化,2011(12):60?63.

[9] 黃宗衛(wèi).基于Matlab的數(shù)字濾波器的設(shè)計(jì)[J].船舶電子對(duì)抗,2011,32(1):116?120.

[10] 江健康.基于Verilog HDL的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].微計(jì)算機(jī)信息,2007,23(3):206?207.

DA算法有位串分布式(SDA)算法,并行分布式(PDA)算法和串并結(jié)合的分布式算法,實(shí)現(xiàn)一個(gè)4階的FIR濾波器,對(duì)于SDA算法,需要一個(gè)查找表,如果輸入數(shù)據(jù)位寬為[N]位時(shí),至少要在[N]個(gè)時(shí)鐘周期后才有結(jié)果輸出,對(duì)于PDA算法,將每個(gè)輸入數(shù)據(jù)的相同位傳遞給查找表,不同的位有不同的查找表,實(shí)現(xiàn)很高的速度,常用在對(duì)濾波器速度要求相當(dāng)高的場(chǎng)合,不利的地方是使用多個(gè)數(shù)據(jù)相同的查找表內(nèi),加大了資源的占用,目前還沒有一個(gè)有效的方法既能有效減少查找表的數(shù)量,又能不降低系統(tǒng)運(yùn)算速度[5]。串并結(jié)合的分布式算法,例如,輸入的16 b數(shù)據(jù),從低到高分為4個(gè)4 b數(shù)據(jù):[0:3]、[4:7]、[8:11]、[12:15],每個(gè)4 b數(shù)據(jù)使用一個(gè)查找表,共4個(gè)查找表,由于既有并行結(jié)構(gòu)又有串行結(jié)構(gòu),往往有一些控制電路和多個(gè)時(shí)鐘[6]。

1.2 FIR濾波器的Verilog HDL設(shè)計(jì)實(shí)例

1.2.1 設(shè)計(jì)結(jié)構(gòu)

本例主要設(shè)計(jì)一個(gè)32階的FIR濾波器,由8個(gè)結(jié)構(gòu)完全相同的4階的FIR濾波器連接構(gòu)成,32階FIR濾波器的輸出為每個(gè)4階FIR濾波器的輸出結(jié)果相加,如圖1所示。

基于PDA算法的4階FIR濾波器的結(jié)構(gòu)如圖2所示。輸入的4個(gè)數(shù)據(jù)的相同位構(gòu)成一個(gè)4位的查找表地址,查找從最低位開始,通過移位實(shí)現(xiàn)乘2運(yùn)算后累加,得到濾波器的輸出。

圖1 32階FIR濾波器結(jié)構(gòu)

圖2 基于PDA算法的4階FIR數(shù)字濾波器結(jié)構(gòu)

對(duì)基于PDA算法的4階FIR數(shù)字濾波器進(jìn)行優(yōu)化設(shè)計(jì)后的濾波器結(jié)構(gòu)圖,如圖3所示。用數(shù)據(jù)選擇器代替查找表,數(shù)據(jù)選擇器中選擇的數(shù)據(jù)和查找表的數(shù)據(jù)相同,數(shù)據(jù)選擇器的個(gè)數(shù)和查找表的個(gè)數(shù)相等。

圖3 4階FIR數(shù)字濾波器結(jié)構(gòu)

1.2.2 Verilog HDL代碼編寫

采用寄存器傳輸級(jí)描述(RTL)的方法和自頂向下的方式進(jìn)行代碼的編寫,同時(shí)應(yīng)該具有很好的易讀性和可重復(fù)性[7]。其中每個(gè)數(shù)據(jù)選擇器模塊和4階FIR濾波器模塊完全相同,可重復(fù)使用。32階FIR濾波器的端口列表見表1。

表1 32階FIR濾波器的端口列表

[端口名\&類型\&說明\&data_in[15..0]\&輸入\&輸入為16位帶符號(hào)整數(shù)\&rst_n\&輸入\&時(shí)鐘復(fù)位信號(hào)\&clk\&輸入\&時(shí)鐘\&data_out[15..0]\&輸出\&FIR濾波器的輸出為16位帶符號(hào)整數(shù)\&]

1.2.3 驗(yàn)證仿真

使用Synopsys VCS作為仿真工具,通過編譯仿真得到波形文件,使用DVE打開波形文件,能夠看到各信號(hào)的傳輸情況,圖4為32階FIR濾波器的仿真波形圖。本文設(shè)計(jì)的濾波器為常系數(shù)FIR濾波器,由輸入數(shù)據(jù)和濾波器的系數(shù)可以利用Matlab計(jì)算出標(biāo)準(zhǔn)的濾波器輸出數(shù)據(jù)[8?9]。把通過Verilog HDL實(shí)現(xiàn)濾波后得到的輸出數(shù)據(jù)和Matlab計(jì)算得到的數(shù)據(jù)進(jìn)行對(duì)比,發(fā)現(xiàn)兩種方式得到的數(shù)據(jù)相同,驗(yàn)證了設(shè)計(jì)的濾波器的輸出結(jié)果的正確性。由查找表實(shí)現(xiàn)的FIR濾波器會(huì)因?yàn)椴檎冶碚加么罅康拇鎯?chǔ)單元,而本文設(shè)計(jì)的FIR濾波器用數(shù)據(jù)選擇器代替了查找表結(jié)構(gòu),實(shí)現(xiàn)相同的功能和高速的處理速度,而且減少了資源的占用,這和綜合后的得到的結(jié)果相符合,有效地節(jié)約了芯片的面積。

圖4 32階FIR濾波器仿真波形

2 結(jié) 論

利用Verilog HDL 設(shè)計(jì)的FIR濾波器在設(shè)計(jì)上比較靈活,代碼容易修改,編譯和仿真效率較高[10]。本文設(shè)計(jì)的濾波器有效地節(jié)約了芯片的面積,降低設(shè)計(jì)的成本,可以廣泛應(yīng)用于數(shù)字集成電路中。

參考文獻(xiàn)

[1] 王春興,張彬.基于Matlab的FIR濾波器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(18):83?85.

[2] 林志典,張方佩,袁國順.基于FPGA的高速FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué),2013,43(4):537?540.

[3] 曲仕如,彭紀(jì)昌.一種在FPGA上實(shí)現(xiàn)的FIR數(shù)字濾波器的資源優(yōu)化算法[J].電子設(shè)計(jì)工程,2013,21(14):147?149.

[4] 陳亦歐.采用分布式算法的高速FIR濾波器ASIC設(shè)計(jì)[J].微電子學(xué),2007,37(1):144?146.

[5] 趙金現(xiàn),吳三,王乃飛.基于FPGA并行分布式算法的FIR濾波器的實(shí)現(xiàn)[J].黑龍江科技學(xué)院學(xué)報(bào),2006,16(4):248?250.

[6] 凌春麗.基于分布式算法的FIR濾波器的實(shí)現(xiàn)與應(yīng)用[D].南京:南京林業(yè)大學(xué),2012.

[7] 夏雨聞.Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2003.

[8] 尹玉興,劉振堅(jiān),項(xiàng)止武.基于Matlab的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].工礦自動(dòng)化,2011(12):60?63.

[9] 黃宗衛(wèi).基于Matlab的數(shù)字濾波器的設(shè)計(jì)[J].船舶電子對(duì)抗,2011,32(1):116?120.

[10] 江健康.基于Verilog HDL的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].微計(jì)算機(jī)信息,2007,23(3):206?207.

DA算法有位串分布式(SDA)算法,并行分布式(PDA)算法和串并結(jié)合的分布式算法,實(shí)現(xiàn)一個(gè)4階的FIR濾波器,對(duì)于SDA算法,需要一個(gè)查找表,如果輸入數(shù)據(jù)位寬為[N]位時(shí),至少要在[N]個(gè)時(shí)鐘周期后才有結(jié)果輸出,對(duì)于PDA算法,將每個(gè)輸入數(shù)據(jù)的相同位傳遞給查找表,不同的位有不同的查找表,實(shí)現(xiàn)很高的速度,常用在對(duì)濾波器速度要求相當(dāng)高的場(chǎng)合,不利的地方是使用多個(gè)數(shù)據(jù)相同的查找表內(nèi),加大了資源的占用,目前還沒有一個(gè)有效的方法既能有效減少查找表的數(shù)量,又能不降低系統(tǒng)運(yùn)算速度[5]。串并結(jié)合的分布式算法,例如,輸入的16 b數(shù)據(jù),從低到高分為4個(gè)4 b數(shù)據(jù):[0:3]、[4:7]、[8:11]、[12:15],每個(gè)4 b數(shù)據(jù)使用一個(gè)查找表,共4個(gè)查找表,由于既有并行結(jié)構(gòu)又有串行結(jié)構(gòu),往往有一些控制電路和多個(gè)時(shí)鐘[6]。

1.2 FIR濾波器的Verilog HDL設(shè)計(jì)實(shí)例

1.2.1 設(shè)計(jì)結(jié)構(gòu)

本例主要設(shè)計(jì)一個(gè)32階的FIR濾波器,由8個(gè)結(jié)構(gòu)完全相同的4階的FIR濾波器連接構(gòu)成,32階FIR濾波器的輸出為每個(gè)4階FIR濾波器的輸出結(jié)果相加,如圖1所示。

基于PDA算法的4階FIR濾波器的結(jié)構(gòu)如圖2所示。輸入的4個(gè)數(shù)據(jù)的相同位構(gòu)成一個(gè)4位的查找表地址,查找從最低位開始,通過移位實(shí)現(xiàn)乘2運(yùn)算后累加,得到濾波器的輸出。

圖1 32階FIR濾波器結(jié)構(gòu)

圖2 基于PDA算法的4階FIR數(shù)字濾波器結(jié)構(gòu)

對(duì)基于PDA算法的4階FIR數(shù)字濾波器進(jìn)行優(yōu)化設(shè)計(jì)后的濾波器結(jié)構(gòu)圖,如圖3所示。用數(shù)據(jù)選擇器代替查找表,數(shù)據(jù)選擇器中選擇的數(shù)據(jù)和查找表的數(shù)據(jù)相同,數(shù)據(jù)選擇器的個(gè)數(shù)和查找表的個(gè)數(shù)相等。

圖3 4階FIR數(shù)字濾波器結(jié)構(gòu)

1.2.2 Verilog HDL代碼編寫

采用寄存器傳輸級(jí)描述(RTL)的方法和自頂向下的方式進(jìn)行代碼的編寫,同時(shí)應(yīng)該具有很好的易讀性和可重復(fù)性[7]。其中每個(gè)數(shù)據(jù)選擇器模塊和4階FIR濾波器模塊完全相同,可重復(fù)使用。32階FIR濾波器的端口列表見表1。

表1 32階FIR濾波器的端口列表

[端口名\&類型\&說明\&data_in[15..0]\&輸入\&輸入為16位帶符號(hào)整數(shù)\&rst_n\&輸入\&時(shí)鐘復(fù)位信號(hào)\&clk\&輸入\&時(shí)鐘\&data_out[15..0]\&輸出\&FIR濾波器的輸出為16位帶符號(hào)整數(shù)\&]

1.2.3 驗(yàn)證仿真

使用Synopsys VCS作為仿真工具,通過編譯仿真得到波形文件,使用DVE打開波形文件,能夠看到各信號(hào)的傳輸情況,圖4為32階FIR濾波器的仿真波形圖。本文設(shè)計(jì)的濾波器為常系數(shù)FIR濾波器,由輸入數(shù)據(jù)和濾波器的系數(shù)可以利用Matlab計(jì)算出標(biāo)準(zhǔn)的濾波器輸出數(shù)據(jù)[8?9]。把通過Verilog HDL實(shí)現(xiàn)濾波后得到的輸出數(shù)據(jù)和Matlab計(jì)算得到的數(shù)據(jù)進(jìn)行對(duì)比,發(fā)現(xiàn)兩種方式得到的數(shù)據(jù)相同,驗(yàn)證了設(shè)計(jì)的濾波器的輸出結(jié)果的正確性。由查找表實(shí)現(xiàn)的FIR濾波器會(huì)因?yàn)椴檎冶碚加么罅康拇鎯?chǔ)單元,而本文設(shè)計(jì)的FIR濾波器用數(shù)據(jù)選擇器代替了查找表結(jié)構(gòu),實(shí)現(xiàn)相同的功能和高速的處理速度,而且減少了資源的占用,這和綜合后的得到的結(jié)果相符合,有效地節(jié)約了芯片的面積。

圖4 32階FIR濾波器仿真波形

2 結(jié) 論

利用Verilog HDL 設(shè)計(jì)的FIR濾波器在設(shè)計(jì)上比較靈活,代碼容易修改,編譯和仿真效率較高[10]。本文設(shè)計(jì)的濾波器有效地節(jié)約了芯片的面積,降低設(shè)計(jì)的成本,可以廣泛應(yīng)用于數(shù)字集成電路中。

參考文獻(xiàn)

[1] 王春興,張彬.基于Matlab的FIR濾波器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(18):83?85.

[2] 林志典,張方佩,袁國順.基于FPGA的高速FIR濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué),2013,43(4):537?540.

[3] 曲仕如,彭紀(jì)昌.一種在FPGA上實(shí)現(xiàn)的FIR數(shù)字濾波器的資源優(yōu)化算法[J].電子設(shè)計(jì)工程,2013,21(14):147?149.

[4] 陳亦歐.采用分布式算法的高速FIR濾波器ASIC設(shè)計(jì)[J].微電子學(xué),2007,37(1):144?146.

[5] 趙金現(xiàn),吳三,王乃飛.基于FPGA并行分布式算法的FIR濾波器的實(shí)現(xiàn)[J].黑龍江科技學(xué)院學(xué)報(bào),2006,16(4):248?250.

[6] 凌春麗.基于分布式算法的FIR濾波器的實(shí)現(xiàn)與應(yīng)用[D].南京:南京林業(yè)大學(xué),2012.

[7] 夏雨聞.Verilog HDL數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2003.

[8] 尹玉興,劉振堅(jiān),項(xiàng)止武.基于Matlab的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].工礦自動(dòng)化,2011(12):60?63.

[9] 黃宗衛(wèi).基于Matlab的數(shù)字濾波器的設(shè)計(jì)[J].船舶電子對(duì)抗,2011,32(1):116?120.

[10] 江健康.基于Verilog HDL的FIR數(shù)字濾波器設(shè)計(jì)與仿真[J].微計(jì)算機(jī)信息,2007,23(3):206?207.

安福县| 闻喜县| 恩施市| 微山县| 宜兴市| 塔城市| 安岳县| 平定县| 威信县| 山西省| 溆浦县| 威宁| 西青区| 锡林浩特市| 巴青县| 保亭| 金山区| 盐山县| 东光县| 安平县| 营口市| 交城县| 隆化县| 宜宾市| 仁布县| 扶绥县| 十堰市| 牡丹江市| 巍山| 凤凰县| 陈巴尔虎旗| 同心县| 登封市| 鹤庆县| 卓资县| 泸溪县| 威宁| 逊克县| 壶关县| 霸州市| 沿河|