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