如何50MHZ时钟转换出一个250KHZ的时钟出来?
假如系统时钟是50MHZ,然后想得到250KHZ的新时钟,那么50MHZ / 250KHZ = 200倍,然后令k=200,程序如下:
parameter DIV_FREQ = 200;
reg[7:0] cnt;
if( cnt == DIV_FREQ/2-1'b1) begin
div_clk = ~div_clk;
end
else begin
cnt <= cnt + 1'b1;
end
通过代码可以看到,cnt数到99时,就会进入if。也就是说,一个高电平持续100个系统时钟,1个低电平也会持续100个时钟,所以新时钟的一个周期刚好持续200个系统时钟,
所以新时钟的时钟周期是系统时钟的200倍,频率就是它的200分之1,即250KHZ。