偶数分频,重点是写一个计数器和一个分频器,分频器要注意翻转的时间,在N/2-1和N-1的时候翻转
//写一个八分频代码
module divider8(
input clk,
input rst_n,
output dividerclk
);
reg [2:0] count_n;
parameter N = 8;
//写一个计数器
always@(posedge clk or negedge rst_n)begin
if(!rst_n)
count_n <= 1'b0;
else if(count_n == N-1)
count_n <= 1'b0;
else
count_n <= count_n + 1'b1;
end
//写一个分频器
always@(posedge clk or negedge rst_n)begin
if(!rst_n)begin
dividerclk <= 1'b1;
end
else if(count_n == N/2-1) | (count_n == N-1)begin
dividerclk <= ~dividerclk;
end
end
endmodule