分布式FIR滤波器代码的一部分
//-----------------------
// module description
//-----------------------
module fir_da(
//input
din,
clock,
reset,
//
dout
);
//-----------------------
// port declaration
//-----------------------
input [7:0] din;
input clock;
input reset;
output [7:0] dout;
//-----------------------------------------------------
// signal declaration
//-----------------------------------------------------
reg [7:0] din_reg_00_8b; //移位寄存器
reg [7:0] din_reg_01_8b;
reg [7:0] din_reg_02_8b;
reg [7:0] din_reg_03_8b;
reg [7:0] din_reg_04_8b;
reg [7:0] din_reg_05_8b;
reg [7:0] din_reg_06_8b;
function[7:0] lookup_0;
input [3:0] din;
begin
case(din)
4'b0000: lookup_0=16'h0;
4'b0001: lookup_0=16'h0;
4'b0010: lookup_0=16'h1;
4'b0011: lookup_0=16'h1;
4'b0100: lookup_0=16'h3;
4'b0101: lookup_0=16'h3;
4'b0110: lookup_0=16'h4;
4'b0111: lookup_0=16'h4;
4'b1000: lookup_0=16'h4;
4'b1001: lookup_0=16'h4;
4'b1010: lookup_0=16'h5;
4'b1011: lookup_0=16'h5;
4'b1100: lookup_0=16'h7;
4'b1101: lookup_0=16'h7;
4'b1110: lookup_0=16'h8;
4'b1111: lookup_0=16'h8;
endcase
end
endfunction
function[7:0] lookup_1;
input [3:0] din;
begin
case(din)
4'b0000: lookup_1=16'h0;
4'b0001: lookup_1=16'h0;
4'b0010: lookup_1=16'h1;
4'b0011: lookup_1=16'h1;
4'b0100: lookup_1=16'h3;
4'b0101: lookup_1=16'h3;
4'b0110: lookup_1=16'h4;
4'b0111: lookup_1=16'h4;
4'b1000: lookup_1=16'h4;
4'b1001: lookup_1=16'h4;
4'b1010: lookup_1=16'h5;
4'b1011: lookup_1=16'h5;
4'b1100: lookup_1=16'h7;
4'b1101: lookup_1=16'h7;
4'b1110: lookup_1=16'h8;
4'b1111: lookup_1=16'h8;
endcase
end
endfunction
2019-12-21 19:40:35
2.14MB
分布式
1