思路:
第一步:将原始时钟6分频。
第二步:将6分频后的时钟相移1/4周期
第三步:6分频时钟与相移后时钟异或得到3分频时钟。
module dive_3;
reg clkin;
wire clkout;
reg clk_6;
wire clk_6_delay;
reg [3:0] count;
initial
begin
clkin = 1;
clk_6 = 1;
count = 0;
end
always #4 clkin = ~clkin;
always @(posedge clkin)
begin
count = count +1;
if(count ==3)
begin
clk_6 = ~clk_6;
count = 0;
end
end
assign #12 clk_6_delay = clk_6;
assign clkout = clk_6_delay^clk_6;
endmodule
总结下:关键是将6分频时钟倍频。
倍频将原时钟相移1/4周期,新时钟信号与原时钟信号异或后得到倍频时钟。
文章评论(0条评论)
登录后参与讨论