clk_divide.v

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

V
42
字号
`timescale 1ns/10ps
module clk_divide(clock_in,reset,clock_hf_1,clock_hf_2,clock_lp,clock_sh);

input clock_in,reset;
output clock_hf_1,clock_hf_2,clock_lp,clock_sh;

reg clock_hf_1,clock_hf_2,clock_lp;
reg [3:0] cnt_hf;
reg [1:0] cnt_lp;

assign clock_sh=~(~clock_in); 

always@(posedge clock_in or negedge reset)
  if(!reset)
     begin
     clock_hf_1<=0;
     clock_hf_2<=0;
     clock_lp<=1;
     cnt_hf<=0;
     cnt_lp<=0;
     end
   else
     begin
     if(cnt_lp==3)
       begin
         clock_lp<=~clock_lp;
         cnt_lp<=0;
       end  
     else
       cnt_lp<=cnt_lp+1;  
     if(cnt_hf==15)
       begin
         clock_hf_1<=~clock_hf_1;
         clock_hf_2<=~clock_hf_2;
         cnt_hf<=0;
       end
     else    
       cnt_hf<=cnt_hf+1;   
     end         
endmodule       
       

⌨️ 快捷键说明

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