这里对之前写的时钟分频模块做了整合,整合为完整的时钟分频模块,可以进行偶分频、奇分频和半分频。
接口如下:
clk:输入时钟
rst:复位信号
adv_select:分频类型选择,0->偶分频,1->奇分频,2->半分频
M:分频系数,在半分频情况下为向下取整(4.5分频->M=4)
clk_out:输出时钟
rst:复位信号
adv_select:分频类型选择,0->偶分频,1->奇分频,2->半分频
M:分频系数,在半分频情况下为向下取整(4.5分频->M=4)
clk_out:输出时钟
通过testbench进行了仿真,分别仿了4分频、9分频和5.5分频
initial begin adv_select = 2'b00; M = 4; #1086 adv_select = 2'b01; M = 9; #1086 adv_select = 2'b10; M = 5; end
代码如下: