`timescale 1ns/1ns
module huawei7(
input wire clk ,
input wire rst ,
output reg clk_out
);
parameter s0='b0001,s1='b0010,s2='b0100,s3=1000;
reg [3:0] state,next_state;
//*************code***********//
always@(posedge clk or negedge rst) begin
if(!rst) begin
state <= s0;
end
else begin
state <= next_state;
end
end
always@(*) begin
case(state)
s0:next_state = s1;
s1:next_state = s2;
s2:next_state = s3;
s3:next_state = s0;
default:next_state = s0;
endcase
end
always@(posedge clk or negedge rst) begin
if(!rst) begin
clk_out <= 'b0;
end
else if(state == s0) begin
clk_out <= 'b1;
end
else begin
clk_out <= 'b0;
end
end
//*************code***********//
endmodule