Tengo una placa ZYBO con un reloj de 125 Mhz que estoy intentando reducir a 0,5 Hz en Verilog. ¿Podría alguien ayudarme con el código para hacer esto?
Tengo una placa ZYBO con un reloj de 125 Mhz que estoy intentando reducir a 0,5 Hz en Verilog. ¿Podría alguien ayudarme con el código para hacer esto?
125,000,000 / 250,000,000 = 0.5 Necesitará un contador de 27 bits para acomodar la mitad de 250M menos 1
reg [26:0] counter;
reg clk_low;
always@(posedge clk or negedge reset) begin
if(!reset) begin
counter[26:0] <= {27{1'b0}};
clk_low <= 1'b0;
end else begin
if(counter[26:0]==27'h773593F) begin
clk_low <= ~clk_low;
counter[26:0] <= {27{1'b0}};
end else counter[26:0] <= counter[26:0] + 1'b1;
end
end
Lea otras preguntas en las etiquetas verilog