一、利用计数器实现分频器
以三分频分频器为例,可以使用计数器和逻辑来实现输出时钟的频率调整,通过在计数器达到特定值时切换输出状态来实现分频。
在下面的例子中,在计数器值为0和1时,输出信号会在每个原始时钟上升沿反转,即计数器为0时,输出为1;计数器值变为1时,输出为0,其他情况下输出保持不变。
Verilog代码如下:
module f3(
input clk,
input rst_n, //异步复位,低电平有效
output reg clk_f3,
output reg [2:0] count //为了方便理解,也输出计数器结果
);
parameter N=3; //设置N值修改分频
always@(posedge clk or negedge rst_n) begin
if(!rst_n | count==N-1)
count <= 3'd0;
else
count <= count+1'b1;
end
always