
module top(	cin,
				clk,
				rst,
				cout
			);

  input clk,rst, cin; 
  output cout;
  reg c;
  reg [9:0] cload /* synthesis syn_preserve= 1*/;
  
  integer i; 
  always @(posedge clk or posedge rst)
	begin
       if (rst) begin
        c <= 1'b0;
		cload <= {10{1'b0}}; 
	   end
       else begin
		c <= cin;
		for (i=0; i <10 ; i = i + 1 ) begin
			cload[i] <= c;
		end
	   end
	end
  assign cout = & cload;
  endmodule
  
  

