分频器是FPGA设计中使用频率非常高的基本单元之一。尽管目前在大部分设计中还广泛使用集成锁相环(如Xilinx的DLL)来进行时钟的分频、倍频以及相移设计,但是,对于时钟要求不太严格的设计,通过自主设计进行时钟分频的实现方法仍然非常流行。首先这种方法可以节省锁相环资源,再者,这种方式只消耗不多的逻辑单元就可以达到对时钟操作的目的。
1 整数分频器的设计
1.1 偶数倍分频
偶数分频器的实现非常简单,通过计数器计数就完全可以实现。如进行N倍偶数分频,就可以通过由待分频的时钟触发计数器计数,当计数器从0计数到N/2-1时,输出时钟进行翻转,并给计数器一个复位信号,以使下一个时钟从零开始计数。以此循环,就可以实现任意的偶数分频。图1所示是占空比为1:1的36分频的仿真波形图。
图1所示是占空比为1:1的36分频的仿真波形图 |