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

📄 gen_clk_2.v

📁 基于Verilog-HDL的硬件电路的实现 9.3 脉冲计数与显示   9.3.1 脉冲计数器的工作原理   9.3.2 计数模块的设计与实现   9.3.3 parameter的使用
💻 V
字号:

/** 产生规定数目的时钟脉冲 **/
/** 产生占空比不同的时钟脉冲,高电平占2个时钟,低电平占1个时钟 **/

					
module GEN_CLK (CLK_IN, CLR, CLK_OUT);		
    input   CLK_IN, CLR;
    output  CLK_OUT;  
    reg     [5:0] Q;
    reg     [2:0] R;
    wire    CLK;
    reg     Q_OR;
    parameter NUM=12;             // 产生12个时钟脉冲

    assign   CLK=CLK_IN & Q_OR;

   always @ (posedge CLK or negedge CLR)
     begin
       if (!CLR)
         begin
           Q=NUM*3;
           Q_OR=1;
         end
       else if (Q==0)
         begin
           Q=0;
         end
       else
         begin
           Q=Q-1;
           Q_OR=Q[5]|Q[4]|Q[3]|Q[2]|Q[1]|Q[0];
         end
     end	
    
   always @ (posedge CLK or negedge CLR)
     begin
       if (!CLR)
         begin
           R=0;
         end
       else if (R==0)
         begin
           R=4;
         end
       else if (R==5)
         begin
           R=0;
         end
       else 
         begin
           R=R+1;
         end        
     end

   assign  CLK_OUT=R[2];
endmodule


⌨️ 快捷键说明

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