module horloge(clk,reset,clkout);

	input clk, reset;
	output clkout;
	reg clkout;

	parameter period = 50000; // nanoseconds
	parameter N = 15;
	parameter half = period / 2;
	reg [N:0] count;

	always @(posedge clk)

	begin
		if(reset)
		   begin
		      count = 0;
			clkout <= 0;
		   end
		else
		   begin
		      if(count == (period - 1) )
			    begin
			       $display("All tests completed successfully\n\n");
              count = 0;
				    clkout <= 0;
			    end
			else
			      count = count + 1;
			if(count == half)
			    clkout <= 1;
			end
	end

endmodule

module manip();

reg clk, reset; 

	horloge DUT ( 
   .clk(clk),
   .reset(reset),
   .clkout(clkout)
); 

initial begin
	clk = 0;
	reset = 1;
	@ (posedge clk)
	#5 reset = 0;
end			

always begin
	clk = 1;
	#10;
	clk = 0;
	#10;
end
endmodule
		

