input clk;
input reset;
output clk_div3;
reg clk1;
reg[1:0] state;
always@(posedge clk or negedge reset)
begin
if(!reset)
state<= 2’b00;
else
begin
case(state)
2’b00: state<= 2’b01;
2’b01: state<= 2’b11;
2’b10: state<= 2’b00;
2’b11: state<= 2’b00;
endcase
end
end
always@(negedge clk or negedge reset)
begin
if(!reset)
clk1<= 0;
else
clk1<= state[0];
end
assign clk_div3 = clk1 & state[0];
endmodule
input clk;
input reset;
output clk_div3;
reg clk1;
reg[1:0] state;
wire clk1;
assign clk1=~clk;
always@(posedge clk or negedge reset)
begin
if(!reset)
state<= 2’b00;
else
begin
case(state)
2’b00: state<= 2’b01;
2’b01: state<= 2’b11;
2’b10: state<= 2’b00;
2’b11: state<= 2’b00;
endcase
end
end
always@(posedge clk1 or negedge reset)
begin
if(!reset)
clk1<= 0;
else
clk1<= state[0];
end
assign clk_div3 = clk1 & state[0];
endmodule
欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/) | Powered by Discuz! X3.5 |