用verilog HDL设计一个三分频器,输入时钟占空比为1: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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询