D触发器实现二分频与二倍频先来二分频的其基本思想是将D触发器改成T触发器,每隔一个时钟周期,输出时钟反向一次。这样就达到了二分频的目的。下面列出Verilog代码:modulediv2(clk,rst_n,clk_out);inputclk,rst_n;outputclk_out;wireclk_temp;always@(posedgeclk)beginif(~rst_n)beginclk_out=0;endelseclk_out=clk_temp;endassignclk_temp=~clk_out;endmodule仿真图如下:下面是二倍频的基本思想:通过逻辑延时,使同频时钟相位改变,而后将两个时钟相或即可得到二倍频电路,不过占空比不可调,由两个时钟相位差决定。Verilog代码如下:moduletwice(clk,clk_out);inputclk;outputclk_out;wireclk_temp;wired_outn;regd_out=0;assignclk_temp=clk^d_out;assignclk_out=clk_temp;assignd_outn=~d_out;always@(posedgeclk_temp)begind_out=d_outn;endendmodule由于它是靠延时产生的时钟,所以只能进行时序仿真才能看到波形,仿真波形如下:大家可以自己在quartus下仿真