`timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date:    02:55:01 07/11/06
// Design Name:    
// Module Name:    main
// Project Name:   
// Target Device:  
// Tool versions:  
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////
module main(clk,salida,dctl,sw);

input clk;
input [1:0] sw;
output reg [1:0] salida;
reg [17:0] contador;
reg [9:0] cnt;
reg clk2;
output [3:0] dctl;
//unidad base 10 [ms]
integer reloj = 160;
integer ancho =  15;

assign dctl=4'b1111;    //apaga los displays

//modulo genera reloj base clk2 de 5 [ms]
always@(posedge clk)
begin
    if(contador==249999) begin clk2=clk2+1; contador<=0; end
    else contador<=contador+1;


    if(sw == 3) begin reloj = 160; ancho = 15; end
    if(sw == 2)    begin reloj = 160; ancho =  9; end
    if(sw == 1)    begin reloj = 200; ancho = 15; end
    if(sw == 0) begin reloj = 200; ancho =  9; end


end



always@(posedge clk2)
begin
    if(cnt==(reloj-1)) cnt<=0;
    else cnt<=cnt+1;

    if(cnt>0  && cnt<ancho) salida[0]<=1;
    else                salida[0]<=0;

    if(cnt>(reloj/2-1) && cnt<(reloj/2+ancho)) salida[1]<=1;
    else                                   salida[1]<=0;

end

endmodule