hf_division10.v

来自「插值滤波器,用于音频解码调制解调,滤波器系数用移位相加实现」· Verilog 代码 · 共 34 行

V
34
字号
`timescale 1ns/10ps
module hf_division10(data_in,clock,reset,data_out);

input [19:1] data_in;
input clock,reset;
output [18:1] data_out;

reg [18:1] data_out;
reg [38:1] temp_data;

always@(posedge clock or negedge reset)
   begin
     if(!reset)
        begin
          data_out=0;
          temp_data=0;
        end  
     else
        begin
          temp_data={data_in,19'b0000000000000000000};
          temp_data=(temp_data>>4)+(temp_data>>9)+(temp_data>>10)+(temp_data>>12)+(temp_data>>14)+(temp_data>>18)+{~(temp_data>>7)+1};
          if(temp_data[19]==1)
             data_out=temp_data[37:20]+1;
          else
             data_out=temp_data[37:20];   
         end    
   end 
endmodule           
         


//h18=0.057926639368285=0000,1110,1101,0100,01 change to csd 0001,00-10,1101,0100,01  4+9+10+12+14+18-7

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?