FPGA的CIC滤波器的设计(4)

2020-06-10 09:46

在终端上显示仿真的值,或者存成文件 激励 (stimlus) 实例化DUT(Design Under Test) 使用波形工具比较仿真波形 自动比较测试结果的正确性 图12. 基于Testbench的仿真流程 Fig.12 The simulation flow chart of Testbench

从图中可以清晰地看出Testbench的主要功能:

(1) 为DUT(Design Under Test,待测设计)提供激励信号; (2) 正确实例化DUT;

(3) 将仿真数据显示在终端或者存为文件,也可以显示在波形窗口中以供分析检查;

一个Testbench设计好以后,可以为芯片设计的各个阶段服务,比如在对RTL代码,综合网表和布线之后的网表进行仿真的时候,都可以采用同一个Testbench[11]。

将实现CIC滤波器功能的设计呈现在Modelsim环境下进行波形仿真,经过多次 的调试和程序修改后,运行的仿真波形图可将CIC滤波器的功能表示出来。图13为CIC滤波器在Modelsim环境下进行波形仿真:

图13. Modelsim波形仿真 Fig.13 The wave Simulation of Modelsim

线网型(net)的变量可以理解为实际电路中的导线,通常用于表示结构体之间的物

15

理连接,就不可以存储任何值,并且一定要受到驱动器额驱动才有效。一个线网型变量可能同时受到几个驱动源的驱动,此时该线网型变量的取值由逻辑强度较高的驱动源决定;如果多个驱动源的逻辑强度相同,则取值为不定态,这和实际电路模型的情况是完全相符的。本设计中y_out被申明为wire型,因此在刚开始仿真的一段时间里y_out的输出值为不定态x。为了便于观察将波形进行缩小,并且将时间轴右移一些得到图14所示的波形图:

图14. Modelsim波形仿真 Fig.14 The wave Simulation of Modelsim

通过观察波形可以知道,每16个时钟周期,y_out输出一个数值,实现了抽取率为16的功能,基本实现了CIC抽取滤波器的功能。

在利用Modelsim进行仿真的过程中,首先利用MATLAB产生一个周期为16的正弦波,并从中采样了4096个点存储在sin.txt中,然后将这些数据导入测试程序中,因此为了能够更加直观的观察滤波器的功能,将输入和输出的数据模拟表示为图15。

从图15中可以看出:输出的波形较输入波形有一段时间的延时,波形前面一段输出的是直线,是由于积分器和梳状器的延时所导致的输出的不定态X,但输出波形整体上也是一个正弦波,和输入波形保持一致,并且是呈阶梯状的,其中每一个阶梯就是一个抽取因子。Testbench测试文件见附录3,正弦波数据产生程序见附录4。

16

图15. Modelsim波形仿真 Fig.15 The wave Simulation of Modelsim

6. 结束语:

CIC滤波器结构简单,仅有两个功能模块,能够节省资源,并且在工程上易于实现,是一种经济型滤波器。滤波是只做加法运算,无需一般的FIR滤波器所需的乘法运算,大大简化了计算量,从而降低了后续电路的处理速度。文中叙述了CIC滤波器的基本原理及其多级CIC滤波器的具体设计,仿真结果证明了设计方案的正确性和可行性。CIC滤波器是多速率信号处理中的一种重要的部件,在软件无线电中起到了重要的作用,研究它具有重要意义。(Hogenauer还引入了“剪除”理论对每一级的位宽进行裁剪,在实际的应用中,考虑到资源和速度的问题,CIC滤波器应采用剪除理论来实现,文中未做介绍。)

参考文献:

[1]. ZHANG JIAN.CHEN Yan.WANG Hua. Performance Analysis of Cascaded Integrator-Comb Filter in Modulator [J].Transaction of Beijing Institute of Technology.2006.26(04).345-348

[2]. 刘福奇.刘 波.Verilog HDL应用程序设计实例精讲[M].北京:电子工业出版社.2009.11.189-205 [3]. QainLinjun.Design of CIC Filter Baced on ∑-△ADC [J].Electronic Component &. Device

Applications.2009.11(01).44-46

[4]. 高明伦. Verilog与PC机接口电路设计[M].合肥:安徽科学技术出版社.2002.62-63 [5]. 朱明程.现场可编程门阵列器件[M].北京:电子工业出版社.1994.12-32

[6]. 叶淦华.FPGA嵌入式应用系统开发典型实例[M].北京:中国电力出版社.2005.40-41 [7]. 刘 凌.胡永生译.数字信号处理的FPGA实现[M].北京:清华大学出版社.2002.134-139

[8]. ZhuGuojun.ZhangHao.ZhangZhijun.Implementation of CIC Filter Based on FPGA [J].Electronic

Science and Technology.2006(11).19-22

17

[9]. 王 冠.黄 熙.王 鹰. Verilog HDL与数字电路设计[M].北京:机械工业出版社.2005.30-32 [10]. 程佩青.数字信号处理教程[M].北京:清华大学出版社.2000.122-128

[11]. 吴继华,王 城.设计与验证-Verilog HDL[M].北京:人民邮电出版社.2006.159-161

18

附录1:

%单级CIC滤波器参数

m1=2; %延迟因子 n1=1; %滤波器阶数 r1=32; %抽取因子 %三级CIC滤波器的参数 m2 = 2; n2= 3; r2= 32; dw=0.01;

w=0:dw:1*pi;

%计算滤波器的频率响应

h1= exp(i*n1*w/2*(1-r1*m1)).*(sin(r1*m1*w/2)./sin(w/2)).^n1; %计算滤波器的频率响应

h2=exp(i*n2*w/2*(1-r2*m2)).*(sin(r2*m2*w/2)./sin(w/2)).^n2;

plot(w/pi,20*log10(abs(h1)),'m'); %绘制单级CIC滤波器的幅频特性 hold on;

plot(w/pi,20*log10(abs(h2)),'b:'); %绘制3级CIC滤波器的幅频特性 grid on;

legend('single stage','three-stage',2)

xlabel('Normalized Frequency Relative to the High Sampling Rate(\\times\\pirad/sample)'); ylabel('Magnitude (dB)');

title('Frequency Response');

19


FPGA的CIC滤波器的设计(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年广州市“二测”评分细则(语文定稿) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: