偶数分频器
1.1 概念
偶数分频,指的是分频后的频率和分频前的的频率比例是偶数,比如100Mhz时钟,进行二分频后就是50Mhz。
1.2 方法
方法一:直接使用PLL进行分频
方法二:直接使用逻辑实现,即使用代码实现分频设计。(假设为N分频,只需计数到 N/2 - 1 ,然后时钟翻转、计数器清零即可)
1.3 四分频电路设计
下面展示 功能代码
。
`timescale 1ns / 1ps
///
// Verilog 功能代码如下:
module divide_4(
input sys_clk ,
input sys_rst_n,
output out_clk_4
);
parameter N = 4 ;
reg [5:0] did_cnt ;
reg clk_4 ;
always @ (posedge sys_clk or negedge sys_rst_n)
if(!sys_rst_n)
did_cnt <= 6'b0 ;
else if (did_cnt == 1'b1)
did_cnt <= 6'b0 ;
else
did_cnt <= did_cnt + 1'b1 ;
always @ (posedge sys_clk or negedge sys_rst_n)
if(!sys_rst_n)
clk_4 <= 1'b0 ;
else if(did_cnt == 1'b1)
clk_4 <= ~clk_4 ;
assign out_clk_4 = clk_4 ;
endmodule
仿真代码如下:
odule tb_divide_4(
);
reg clk ;
reg rst ;
wire out ;
initial begin
clk = 1'b0 ;
rst = 1'b0 ;
#200
rst = 1'b1 ;
end
always #5 clk = ~clk ;
divide_4 divide_4_inst(
.sys_clk (clk),
.sys_rst_n(rst),
.out_clk_4(out)
);
endmodule