用verilog HDL设计一个三分频器,输入时钟占空比为1:1

2024-11-05 01:29:50
推荐回答(1个)
回答1:

关键就是要用时钟的上下边沿同时触发,只用一种只能做出2、4、6等偶数倍分频

module clk_div3 (input clk , input rst_n , output reg clk_div);
reg [1:0]cnt;

always @ ( clk or negedge rst_n) begin
if (~rst_n) cnt <= 2'b0;
else cnt <= cnt + 1'b1;

end
always @ ( clk or negedge rst_n) begin
if (~rst_n) clk_div <= 1'b0;
else if (cnt == 2'b10) clk_div <= ~clk_div;
else clk_div <= clk_div;
end
endmodule