H
higildedzest
Guest
Recentemente eu escrevi um contador de programa, eu successful.But compilá-lo e quando eu comecei a executar a função de simulação, os resultados foram wrong.i não entendem, por favor, todo mundo que sabe me dar alguns conselhos sobre it.thank you very much.
Aqui está o código:
Módulo Contador (clk, reset, hora, min, sec);
input clk, reset;
output [7:0] horas, min, seg;
wire [7:0] horas, min, seg;
always @ (clk posedge ou redefinir posedge)
começo
reg [7:0] hour1, min1, Sec1;
if (reset == 1)
começo
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
Sec1 [3:0] <= 0;
Sec1 [7:4] <= 0;
fim
else if (Sec1 [3:0] <4'b1001)
começo
Sec1 [3:0] <= Sec1 [3:0] 1;
fim
diferente
começo
Sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
começo
Sec1 [7:4] <= Sec1 [7:4] 1;
fim
diferente
começo
Sec1 [7:4] <= 0;
if (min1 [3:0] <4'b1001)
começo
min1 [3:0] <= min1 [3:0] 1;
fim
diferente
começo
min1 [3:0] <= 0;
if (min1 [7:4] <4'b0101)
começo
min1 [7:4] <= min1 [7:4] 1;
fim
diferente
começo
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
começo
if (hour1 [3:0] <4'b1001)
começo
hour1 [3:0] <= hour1 [3:0] 1;
fim
diferente
começo
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
fim
fim
diferente
começo
if (hour1 [3:0] <4'b0011)
começo
hour1 [3:0] <= hour1 [3:0] 1;
fim
diferente
começo
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
fim
fim
fim
fim
fim
fim
fim
atribuir hora = hour1,
min = min-1,
sec = Sec1;
endmodule
Aqui está o código:
Módulo Contador (clk, reset, hora, min, sec);
input clk, reset;
output [7:0] horas, min, seg;
wire [7:0] horas, min, seg;
always @ (clk posedge ou redefinir posedge)
começo
reg [7:0] hour1, min1, Sec1;
if (reset == 1)
começo
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
Sec1 [3:0] <= 0;
Sec1 [7:4] <= 0;
fim
else if (Sec1 [3:0] <4'b1001)
começo
Sec1 [3:0] <= Sec1 [3:0] 1;
fim
diferente
começo
Sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
começo
Sec1 [7:4] <= Sec1 [7:4] 1;
fim
diferente
começo
Sec1 [7:4] <= 0;
if (min1 [3:0] <4'b1001)
começo
min1 [3:0] <= min1 [3:0] 1;
fim
diferente
começo
min1 [3:0] <= 0;
if (min1 [7:4] <4'b0101)
começo
min1 [7:4] <= min1 [7:4] 1;
fim
diferente
começo
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
começo
if (hour1 [3:0] <4'b1001)
começo
hour1 [3:0] <= hour1 [3:0] 1;
fim
diferente
começo
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
fim
fim
diferente
começo
if (hour1 [3:0] <4'b0011)
começo
hour1 [3:0] <= hour1 [3:0] 1;
fim
diferente
começo
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
fim
fim
fim
fim
fim
fim
fim
atribuir hora = hour1,
min = min-1,
sec = Sec1;
endmodule