📄 gen_clk_2.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 + -