H
higildedzest
Guest
Recientemente escribió un programa de venta libre, puedo compilar y successful.But cuando empecé a correr la simulación de funciones, los resultados fueron wrong.i no entienden, por favor, todos los que saben darme algunos consejos sobre it.thank mucho.
Aquí está el código:
Módulo contador (clk, reset, horas, minutos, segundos);
CLK entrada, reajuste;
de salida [7:0] horas, minutos, segundos;
de cable [7:0] horas, minutos, segundos;
siempre @ (clk posedge o restablecer posedge)
empezar
reg [7:0] hour1, min1, Sec1;
if (reset == 1)
empezar
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
Sec1 [3:0] <= 0;
Sec1 [7:4] <= 0;
final
else if (Sec1 [3:0] <4'b1001)
empezar
Sec1 [3:0] <= Sec1 [3:0] 1;
final
algo más
empezar
Sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
empezar
Sec1 [7:4] <= Sec1 [7:4] 1;
final
algo más
empezar
Sec1 [7:4] <= 0;
if (min-1 [3:0] <4'b1001)
empezar
min-1 [3:0] <= min-1 [3:0] 1;
final
algo más
empezar
min1 [3:0] <= 0;
if (min-1 [7:4] <4'b0101)
empezar
min-1 [7:4] <= min-1 [7:4] 1;
final
algo más
empezar
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
empezar
if (hour1 [3:0] <4'b1001)
empezar
hour1 [3:0] <= hour1 [3:0] 1;
final
algo más
empezar
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
final
final
algo más
empezar
if (hour1 [3:0] <4'b0011)
empezar
hour1 [3:0] <= hour1 [3:0] 1;
final
algo más
empezar
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
final
final
final
final
final
final
final
asignar hora = hour1,
min = min-1,
sec = Sec1;
endmodule
Aquí está el código:
Módulo contador (clk, reset, horas, minutos, segundos);
CLK entrada, reajuste;
de salida [7:0] horas, minutos, segundos;
de cable [7:0] horas, minutos, segundos;
siempre @ (clk posedge o restablecer posedge)
empezar
reg [7:0] hour1, min1, Sec1;
if (reset == 1)
empezar
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
Sec1 [3:0] <= 0;
Sec1 [7:4] <= 0;
final
else if (Sec1 [3:0] <4'b1001)
empezar
Sec1 [3:0] <= Sec1 [3:0] 1;
final
algo más
empezar
Sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
empezar
Sec1 [7:4] <= Sec1 [7:4] 1;
final
algo más
empezar
Sec1 [7:4] <= 0;
if (min-1 [3:0] <4'b1001)
empezar
min-1 [3:0] <= min-1 [3:0] 1;
final
algo más
empezar
min1 [3:0] <= 0;
if (min-1 [7:4] <4'b0101)
empezar
min-1 [7:4] <= min-1 [7:4] 1;
final
algo más
empezar
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
empezar
if (hour1 [3:0] <4'b1001)
empezar
hour1 [3:0] <= hour1 [3:0] 1;
final
algo más
empezar
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
final
final
algo más
empezar
if (hour1 [3:0] <4'b0011)
empezar
hour1 [3:0] <= hour1 [3:0] 1;
final
algo más
empezar
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
final
final
final
final
final
final
final
asignar hora = hour1,
min = min-1,
sec = Sec1;
endmodule