分频器是数字系统中最常见的基本电路之一。分频就是将输入信号的频率变成成倍地低于输入频率的输出信号。如输入信号频率为50MHZ,10分频后输出信号频率为5MHZ。这里10是分频系数,分频系数为偶数则为偶分频,分频系数为奇数则为奇分频。
分频有两种方式:一是通过HDL语言建模产生所需要的时钟信号,二是利用开发工具的PLL进行分频。前者分频灵活,需编写代码实现;后者使用场景受限,因为有的低端FPGA没有PLL,但PLL的分频效果更好,而且在进行小数分频时也比较容易实现。
1、偶分频
以6分频为例,有两种方法:分频法和降频法。

①分频法
分频系数为N(N为偶数),就是N分频,分频器实现方法和计数器原理一致,当计数值到(N/2)-1时,输出信号电平翻转,此输出信号即为N分频的信号。

module divider_six
(
input wire sys_clk,
input wire sys_rst_n,
output reg clk_out
);
reg [1:0] cnt;
always@(posedge sys_clk or negedge sys_rst_n)
begin
if(sys_rst_n == 1'b0)
cnt <= 2'b0;
else if(cnt == 2'd2)
cnt <= 2'b0;
else
cnt &

本文详细介绍了数字系统中分频器的工作原理,特别是偶分频和奇分频的两种方法——通过HDL编程和利用PLL,以及针对高速系统推荐的降频法。实例代码展示了6分频和5分频的实现,强调了连接全局时钟网络的重要性。
最低0.47元/天 解锁文章
7837





