关键就是要用时钟的上下边沿同时触发,只用一种只能做出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