input clk,si,clr;
output so;
reg [3:0] tmp;
always @(posedge clk or posedge clr)
if (clr)
tmp <= 4’b0000;
else
tmp <= {tmp[2:0], si};
assign so = tmp[3];
endmodule