时钟分频电路设计,可以分为偶数分频和奇数分频;
偶数分频实例:
二分频:
// 二分频电路
module clk_div2(clk_out, reset, clk_in);
input reset;
input clk_in;
output clk_out;
reg clk_out;
always @(posedge clk_in) begin
if(!reset)
clk_out <= 0;
else
clk_out <= ~clk_out;
end
endmodule
四分频:
module clk_div4(clk_out, reset, clk_in);
input clk_in;
input reset;
output clk_out;
reg clk_out;
reg [3:0] cnt;
always @(posedge clk_in) begin
if(!reset) begin
cnt <= 0;
clk_out <= 0;
end
/* if(cnt == 1) begin */
else if(cnt == 1) begin
clk_out <= ~clk_out;
cnt <= 0;
end
else
cnt <= cnt + 1;
$strobe("cnt = %d", cnt);
end
endmodule

本文介绍了FPGA中的时钟分频设计,包括偶数分频和奇数分频。对于偶数分频,如二分频,当计数达到N/2-1时,计数清零,时钟电平反转。而奇数分频如三分频,通过在不同计数阶段翻转时钟实现50%占空比。文中提供了具体的上升沿触发和下降沿触发的计数策略。
最低0.47元/天 解锁文章
1755

被折叠的 条评论
为什么被折叠?



