上一篇文章讲解了如何进行任意的奇分频和任意的偶分频,这篇文章主要讲解占空比为50%的任意整数分频(奇分频和偶分频),下面首先以6分频和5分频来回顾一下奇偶分频。
偶分频
偶分频时最简单的,通过下图就可以很好的理解,其中只需要两个always块,其中一个用来计数,计数器每次计数到5,然后清零重新计数,第二个always块用来产生分频时钟,假设初始状态为高电平,当计数到2时,将信号拉低,当计数到5时,将信号拉高。
那么对于任意的偶分频,如何确定cnt
的最大值,如何确定div_clk
信号什么时候拉低,什么时候拉高呢,通过6分频的分析,我们看到,当cnt
计数到6-1
时,给cnt
信号清零,并且当cnt=6-1
时将div_clk
拉高,当计数到(6-1)/2
时,将div_clk
拉低。因此,假设现在要进行n分频,n为偶数,则cnt
的最大值为n-1
,当cnt
计数到n-1
时,将div_clk
拉高,当cnt
计数到(n-1)/2
时,将div_clk
拉低。
代码如下:
// -----------------------------------------------------------------------------
// Copyright (c) 2014-2021 All rights reserved
// -----------------------------------------------------------------------------
// Author : dongtaolv
// Email : tdlv@stu.xidian.edu.cn
// File : even_divider.v
// Create : 2021-04-26 19:59:35
// Revise : 2021-04-26 19:59:35
// Editor : sublime text3, tab size (4)
// --------