EDA实验七报告(最新整理版).docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE

PAGE2

实验七FIR滤波器

已知4阶直接型FIR滤波器的表述如下,试实现该逻辑:

y(n)=x(n)h(0)+x(n-1)h(1)+x(n-2)h(2)+x(n-3)h(3)

其中x(n)与x(n-m),m=0,1,2,3是延迟关系,m表示延迟的clk数。x(n-m)与h(m)的位宽均为8位,y(n)为10位,其中h(m)在模块例化后为常数。该模块的输入为x(n)、clk,输出为y(n)。

程序设计:

moduleFIR1(x,clk,RST,y);

input[7:0]x;

inputclk;

inputRST;

output[9:0]y;

reg[7:0]x0,x1,x2,x3;

parameterh0=1,h1=1,h2=1,h3=1;

always@(posedgeclkornegedgeRST)begin

if(!RST)begin

x3=0;x2=0;x1=0;x0=0;end

elsebegin

x0=x;

x1=x0;

x2=x1;

x3=x2;end

end

assigny=x0*h0+x1*h1+x2*h2+x3*h3;

endmodule

图7-14阶直接性FIR滤波器的仿真波形图

图7-24阶直接型FIR滤波器的RTL图

实验分析:

该程序主要由一个过程语句组成,敏感信号为时钟信号的上升沿和复位端的下降沿,实现同步时钟异步清零功能:若RST=0,四个寄存器都清零;RST≠0,移位寄存。最后使用阻塞式赋值语句输出y的值。仿真波形图如图7-1所示,x=02H时,y=02H*1+01H*1+12H*1+11H*1=026H;x=12H时,y=12H*1+11H*1=23H;x=10H时,y=10H*1+05H*1+04H*1+02H*1=01BH;RST=0时,y=0,经过验证波形符合实验要求,证明程序正确。该程序的RTL图如图7-2所示。

2、对上述FIR滤波器在速度上进行优化(在h(m)固定的情况下),试采用流水线技术。

程序设计:

(1)10位加法器的流水线设计

moduleadd10a

input[9:0]a,b;

inputclk,cin;

outputcout;

output[9:0]sum;

regtc,cout;reg[4:0]ts,ta,tb;reg[9:0]sum;

always@(posedgeclk)begin

{tc,ts}=a[4:0]+b[4:0]+cin;

sum[4:0]=ts;

end

always@(posedgeclk)begin

ta=a[9:5];

tb=b[9:5];

{cout,sum[9:5]}=ta+tb+tc;end

endmodule

(2)FIR滤波器设计

moduleFIR_line(clk,x,y);

inputclk;

input[7:0]x;

output[9:0]y;

wire[9:0]y;

reg[7:0]x0,x1,x2,x3;

reg[9:0]t0,t1,t2,t3;

wire[9:0]out0,out1;

parameterh0=1,h1=2,h2=3,h3=4;

always@(posedgeclk)begin

x0=x;

x1=x0;

x2=x1;

x3=x2;end

assigny=x0*h0+x1*h1+x2*h2+x3*h3;

add10au1(clk,t0,t1,out1);

add10au2(clk,t2,t3,out2);

add10au3(clk,out0,out1,y);

endmodule

图7-310位加法器的仿真波形图

图7-4FIR_line的仿真波形图

图7-5FIR_line的RTL图

实验分析:

该滤波器的实现主要运用流水线10位加法器例化程序。在程序(1)中,将10位加法分为两个5位加法操作,其中用锁存器隔离,当第一个clk上升沿到来时完成低5位的加法计算,并将结果锁存到sum锁存器的低5位,同时将a和b的高5位锁存到中间锁存器ta和tb;当第二个clk的上升沿到来时,进行第2组a和b的低5位的操作的同时进行第1组高5位的加法计算和低5位的进位加法计算,此时不仅得到第1组的完整sum输出,同时也得到第2组的低5位输出锁存。该程序的仿真波形图如图7-3所示,例如001H+002H

文档评论(0)

132****2812 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档