利用累加器分频法完成9.84分频:
原理:假设累加器位数为8,则累加器的模值N为2的8次方为256。则步长STEP为256/9.84 = 27。类似的,通过改变模值N和步长STEP就可以以任意精度逼近某个预订的分频比。
源代码:
module clk_div_9_84(
clk_in,
rst_n,
clk_out
);
input clk_in;
input rst_n;
output clk_out;
reg [7:0] cnt;
always @(posedge clk_in) begin
if (!rst_n) begin
//clk_out <= 0;
cnt <= 0;
end
else begin
cnt <= cnt + 27;
end
end
assign clk_out = cnt[7];
endmodule