您的当前位置:首页正文

D触发器实现的2分频与2倍频

2020-07-30 来源:客趣旅游网


D触发器实现二分频与二倍频

先来二分频的

其基本思想是将D触发器改成T触发器,每隔一个时钟周期,输出时钟反向一次.这样就达到了二分频的目的。

下面列出Verilog代码:

module div2(clk,rst_n,clk_out);

input clk,rst_n;

output clk_out;

wire clk_temp;

always @(posedge clk)

begin

if(~rst_n)

begin

clk_out<=0;

end

else

clk_out<=clk_temp;

end

assign clk_temp=~clk_out;

endmodule

仿真图如下:

下面是二倍频的

基本思想:通过逻辑延时,使同频时钟相位改变,而后将两个时钟相或即可得到二倍频电路,不过占空比不可调,由两个时钟相位差决定。

Verilog代码如下:

module twice (clk,

clk_out

);

input clk;

output clk_out;

wire clk_temp;

wire d_outn;

reg d_out=0;

assign clk_temp = clk ^ d_out assign clk_out = clk_temp ;

assign d_outn = ~d_out ;

always@(posedge clk_temp)

begin

d_out 〈= d_outn ;

end

endmodule

由于它是靠延时产生的时钟,所以只能进行时序仿真才能看到波形,仿真波形如下:

大家可以自己在quartus下仿真

因篇幅问题不能全部显示,请点此查看更多更全内容