分频在 fpga 设计中一直都担任着很重要的角色,实现偶数分频可通过一个简单计数器实现,而如果需要三分频,五分频,七分频等等奇数类分频,一个计数器是不够的,下面我会介绍可以实现偶数分频和任意奇数分频的方法,偶数分频和奇数分频都是利用计数器来计算,但是奇数分频跟偶数分频不一样的地方是奇数分频利用了两个计数器来实现。
1.偶分频
偶分频比较简单,假设为N(偶数)分频,只需计数到N/2-1,然后时钟翻转、计数清零,如此循环就可以得到N(偶)分频,可以通过改变参量N的值和计数变量cnt的位宽实现任意偶分频。代码如下:
always @ (posedge clk or negedge rst_n)
begin
if(!rst_n)
begin
cnt <= 0;
out_clk <= 0;
end
else begin
if(cnt==N/2-1)