参考自《硬件架构的艺术》。
思路:产生具有50%占空比的奇数分频时钟,最简单的方式是以期望输出频率的一半(即输出周期的两倍)生成两个正交相位时钟,这两个正交时钟之间有90°的相位差(即相差四分之一个周期),然后将这两个时钟异或,就得到了奇数的50%占空比时钟。
本次内容针对的是3分频。具体的思路按照第一行写的书籍内容P84~85,以下是我自己写的代码及产生的波形。
[code] 1 module clk_div_3 ( 2 input clk , 3 input rstn , 4 5 output clkout 6 ); 7 8 parameter N = 'd3 ; 9 10 reg [1:0] cnt;11 always @(posedge clk or negedge rstn) begin12 if(!rstn || (cnt == (N-'d1)))13 cnt |