H
higildedzest
Guest
Récemment, j'ai écrit un programme comptoir, je le compiler et successful.But quand j'ai commencé à courir à la fonction de simulation, les résultats étaient wrong.i ne comprends pas, s'il vous plaît tout le monde qui savent qu'il me donner quelques conseils à votre sujet it.thank beaucoup.
Voici le code:
Module compteur (clk, reset, heure, minutes, secondes);
input clk, reset;
sortie [7:0] Hour, minutes, secondes;
fil [7:0] Hour, minutes, secondes;
always @ (CLK posedge ou réinitialiser posedge)
commencer
reg [7:0] hour1, min1, sec1;
if (reset == 1)
commencer
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
sec1 [3:0] <= 0;
sec1 [7:4] <= 0;
fin
else if (Sec1 [3:0] <4'b1001)
commencer
sec1 [3:0] <= sec1 [3:0] 1;
fin
autre
commencer
sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
commencer
sec1 [7:4] <= sec1 [7:4] 1;
fin
autre
commencer
sec1 [7:4] <= 0;
if (min1 [3:0] <4'b1001)
commencer
min1 [3:0] <= min1 [3:0] 1;
fin
autre
commencer
min1 [3:0] <= 0;
if (min1 [7:4] <4'b0101)
commencer
min1 [7:4] <= min1 [7:4] 1;
fin
autre
commencer
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
commencer
if (hour1 [3:0] <4'b1001)
commencer
hour1 [3:0] <= hour1 [3:0] 1;
fin
autre
commencer
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
fin
fin
autre
commencer
if (hour1 [3:0] <4'b0011)
commencer
hour1 [3:0] <= hour1 [3:0] 1;
fin
autre
commencer
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
fin
fin
fin
fin
fin
fin
fin
assigner heure = hour1,
min = min1,
sec = sec1;
endmodule
Voici le code:
Module compteur (clk, reset, heure, minutes, secondes);
input clk, reset;
sortie [7:0] Hour, minutes, secondes;
fil [7:0] Hour, minutes, secondes;
always @ (CLK posedge ou réinitialiser posedge)
commencer
reg [7:0] hour1, min1, sec1;
if (reset == 1)
commencer
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
sec1 [3:0] <= 0;
sec1 [7:4] <= 0;
fin
else if (Sec1 [3:0] <4'b1001)
commencer
sec1 [3:0] <= sec1 [3:0] 1;
fin
autre
commencer
sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
commencer
sec1 [7:4] <= sec1 [7:4] 1;
fin
autre
commencer
sec1 [7:4] <= 0;
if (min1 [3:0] <4'b1001)
commencer
min1 [3:0] <= min1 [3:0] 1;
fin
autre
commencer
min1 [3:0] <= 0;
if (min1 [7:4] <4'b0101)
commencer
min1 [7:4] <= min1 [7:4] 1;
fin
autre
commencer
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
commencer
if (hour1 [3:0] <4'b1001)
commencer
hour1 [3:0] <= hour1 [3:0] 1;
fin
autre
commencer
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
fin
fin
autre
commencer
if (hour1 [3:0] <4'b0011)
commencer
hour1 [3:0] <= hour1 [3:0] 1;
fin
autre
commencer
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
fin
fin
fin
fin
fin
fin
fin
assigner heure = hour1,
min = min1,
sec = sec1;
endmodule