`timescale 1ns/1ns module huawei5( input wire clk , input wire rst , input wire [3:0]d , output wire valid_in , output wire dout ); //*************code***********// reg [1:0] cnt; reg [3:0] data; reg valid_r; reg dout_r; always @( posedge clk or negedge rst) begin if(!rst) begin cnt <= 'b0; valid_r <= 'b0; data <= 'd0; end else if (cnt == 'd3) begin cnt <= 'd0; valid_r <= 'b1; data <= d; end else begin cnt <= cnt + 'b1; valid_r <= 'b0; data <= data; end end always @ (*) begin case (cnt) 'd0: dout_r = data[3]; 'd1: dout_r = data[2]; 'd2: dout_r = data[1]; 'd3: dout_r = data[0]; endcase end assign valid_in = valid_r; assign dout = dout_r; //*************code***********// endmodule