流水线 FIR 滤波器的verilog实现

本文介绍了如何使用Verilog实现一个流水线FIR滤波器,并在Modelsim中进行仿真。通过在testbench中使用随机数输入,仿真滤波器的输入和输出并保存数据到文件。然后在MATLAB中处理这些数据,与仿真结果对比,验证了Verilog实现的滤波器正确性。尽管存在浮点与定点运算的细微差异,但最大误差仅为1。
摘要由CSDN通过智能技术生成

滤波器信号处理中比较常用的滤波器,这是一个基于流水线的FIR滤波器

//fir filter
//data witdh: 16
//filter coeff :-0.0003706  -0.0011344  -0.0018156  -0.0020642  -0.0012814   0.0010011   0.0045544   0.0080695   0.0093324   0.0061059  -0.0025289   -0.014965   -0.026692   -0.031215   -0.022162   0.0040632    0.046173    0.097395     0.14687     0.18274     0.19584     0.18274     0.14687    0.097395    0.046173   0.0040632   -0.022162   -0.031215   -0.026692   -0.014965  -0.0025289   0.0061059   0.0093324   0.0080695   0.0045544   0.0010011  -0.0012814  -0.0020642  -0.0018156  -0.0011344  -0.0003706
//model by crazyalpha (@github)
//email: yunweidz@126.com

module fir_filter(clk, data_in, fil_out);

  parameter dat_width = 16;
  parameter fil_len = 40;

  input clk;
  input [dat_width-1 : 0] data_in;
  output [dat_width-1 : 0] fil_out;

  wire [dat_width-1 :0] coef[(fil_len+1)>>1 :0];

  //filter coefficient
  assign coef[0] = -12;
  assign 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值