![b30b0e36e4e76a31ad8c67a9a5edef20.png](https://img-blog.csdnimg.cn/img_convert/b30b0e36e4e76a31ad8c67a9a5edef20.png)
在这里讲的是利用计数器进行对clk分频,在rtl code 设计中,由于各个ip的时钟频率不同,所以我们经常要对系统clk进行分频,下面是它的代码以及要实现的功能。
//功能:对输入时钟clock进行F_DIV倍分频后输出clk_out。
//其中F_DIV为分频系数,分频系数范围为1~2^n (n=F_DIV_WIDTH)
//若要改变分频系数,改变参数F_DIV或F_DIV_WIDTH到相应范围即可。
//若分频系数为偶数,则输出时钟占空比为50%;
//若分频系数为奇数,则输出时钟占空比取决于输入时钟占空比和分
module int_div(clock,clk_out);
input clock;
output clk_out;
reg clk_p_r;
reg clk_n_r;
reg[F_DIV_WIDTH - 1:0] count_p;
reg[F_DIV_WIDTH - 1:0] count_n;
parameter F_DIV = 48000000;
parameter F_DIV_WIDTH = 32;
wire full_div_p;
wire half_div_p;
wire full_div_n;
wire half_div_n;
as