⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clkpro.v

📁 采用Verilog HDL设计
💻 V
字号:
/* 时钟分频子模块,用于将20MHz时钟分频为6MHz和4Hz。 */
module  clkpro(clk,clk_6M,clk_4);
  input clk; 							//系统时钟,f= 20MHz
  output clk_6M,clk_4;					//输出时钟
  parameter
	clk6M_cnt_M=2,
	clk4_cnt_M=5000000-1 				//分频系数=20M/4=5000000
    ;

  reg clk_6M,clk_4;
  reg [2:0] clk6M_cnt;					//0-12,counter for fas_set
  reg [22:0] clk4_cnt;					//2^23=8388608,故计数器位数为23。0-49,cnt for hlf_sec
  
	//(1)对20MHz的时钟clk 3分频,得到clk_6M的f = 6.67MHz,即T=1/6.67MHz = 151ns
  always@(posedge clk )
    if(clk6M_cnt>=clk6M_cnt_M)
	  begin
		clk6M_cnt<=0;
		clk_6M<=1;      				// 在分频计数器计到最大值时输出时钟为“1”,产生一时钟个脉冲
	  end
	else
	  begin
		clk6M_cnt<=clk6M_cnt+1;
		clk_6M<=0;
	  end
   
 //(2)将20MHz的时钟clk 分频为4Hz的输出时钟clk_4
  always@(posedge clk )
    if(clk4_cnt>=clk4_cnt_M)
	  begin
		clk4_cnt<=0;
		clk_4<=1;
	  end
	else
	  begin
		clk4_cnt<=clk4_cnt+1;
		clk_4<=0;
	  end

endmodule
  

⌨️ 快捷键说明

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