INTRO:
para crear un divisor de reloj en verilog se agotan pasos muy sencillos desde declarar un reloj general clk, el cual debemos saber su frecuencia, en gowin suele ser 27Mhz en el caso de los 20k y 25k de la serie zipeed thang, y 100Mhz en caso del spartan6, ademas debemos declarar la frecuencia de salida, en este caso, out, ademas debemos conocer el parametro de frecuencia que queremos: parameter, el cual se llamara divisor y sera de 28 bits, ademas de el contador que sera quien nos contara hasta el valor donde la frecuencia debe cortar para dar el tiempo especificado. A continuacion el codigo general. puedes descargar nuestra app. la misma contiene codigos de verilog y juegos para pasar el rato, asi como un chat general.


DESCARGAR EASYLOG


Mostrar código Verilog

Código Verilog


module divisorfrtec(
    input clk, //RELOJ GENERAL.
    output reg out //SALIDA DE FRECUENCIA.
);

parameter divisor = 28'd50_000_000; // PARAMETRO PARA LA FRECUENCIA QUE QUEREMOS  2Mhz.
reg [27:0] contador = 28'd0; // CONTADOR DEL RELOJ.

//CADA QUE EL CLK INICIE FLANCO POSITIVO.
always @(posedge clk) begin
    if (contador >= divisor) begin
        contador <= 28'd0;
        out <= ~out;
    end else begin
        contador <= contador + 28'd1;
    end
end

endmodule
    

esto seria todo espero les haya gustado.




Ver video en YouTube