module clk_div
(
clk, //时钟输入,48M
reset, //异步复位输入,高电平复位
clk_out //分频时钟输出
);
parameter cnt_top=26'd48000000; //分频系数
input clk; //端口定义
input reset;
output clk_out;
reg clk_out; //寄存器定义
reg [25:0] clk_cnt;
always @(posedge clk or negedge reset)
begin
if(!reset) //复位
begin
clk_out <= 1'b0;
clk_cnt <= 0;
end
else
begin
if(clk_cnt==cnt_top-1)
begin
clk_out <= ~clk_out; //分频输出
clk_cnt <= 0;
end
else
clk_cnt <= clk_cnt+1'b1; //计数器加1
end
end
endmodule
阅读(965) | 评论(0) | 转发(0) |