H
higildedzest
Guest
Neseniai rašė skaitiklis programą, aš jį kaupia ir successful.But kai aš pradėjau vykdyti funkcijas modeliavimas, kurio rezultatai buvo wrong.i nesuprantu, prašome visus, kurie žino, kad man duoti keletą patarimų apie it.thank you very much.
Čia yra kodas:
modulis skaitiklis (CLK, atkūrimu, val, min, sek);
input CLK, Reset;
output [7:0] h, min, sek;
Viela [7:0] h, min, sek;
visada @ (posedge CLK arba posedge reset)
pradėti
reg [7:0] hour1, min1, Sec1;
if (Reset == 1)
pradėti
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
Sec1 [3:0] <= 0;
Sec1 [7:4] <= 0;
pabaiga
else if (Sec1 [3:0] <4'b1001)
pradėti
Sec1 [3:0] <= Sec1 [3:0] 1;
pabaiga
kitas
pradėti
Sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
pradėti
Sec1 [7:4] <= Sec1 [7:4] 1;
pabaiga
kitas
pradėti
Sec1 [7:4] <= 0;
if (min1 [3:0] <4'b1001)
pradėti
min1 [3:0] <= min1 [3:0] 1;
pabaiga
kitas
pradėti
min1 [3:0] <= 0;
if (min1 [7:4] <4'b0101)
pradėti
min1 [7:4] <= min1 [7:4] 1;
pabaiga
kitas
pradėti
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
pradėti
if (hour1 [3:0] <4'b1001)
pradėti
hour1 [3:0] <= hour1 [3:0] 1;
pabaiga
kitas
pradėti
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
pabaiga
pabaiga
kitas
pradėti
if (hour1 [3:0] <4'b0011)
pradėti
hour1 [3:0] <= hour1 [3:0] 1;
pabaiga
kitas
pradėti
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
pabaiga
pabaiga
pabaiga
pabaiga
pabaiga
pabaiga
pabaiga
priskirti val = hour1,
min = min1,
sec = Sec1;
endmodule
Čia yra kodas:
modulis skaitiklis (CLK, atkūrimu, val, min, sek);
input CLK, Reset;
output [7:0] h, min, sek;
Viela [7:0] h, min, sek;
visada @ (posedge CLK arba posedge reset)
pradėti
reg [7:0] hour1, min1, Sec1;
if (Reset == 1)
pradėti
hour1 [3:0] <= 0;
hour1 [7:4] <= 0;
min1 [3:0] <= 0;
min1 [7:4] <= 0;
Sec1 [3:0] <= 0;
Sec1 [7:4] <= 0;
pabaiga
else if (Sec1 [3:0] <4'b1001)
pradėti
Sec1 [3:0] <= Sec1 [3:0] 1;
pabaiga
kitas
pradėti
Sec1 [3:0] <= 0;
if (Sec1 [7:4] <4'b0101)
pradėti
Sec1 [7:4] <= Sec1 [7:4] 1;
pabaiga
kitas
pradėti
Sec1 [7:4] <= 0;
if (min1 [3:0] <4'b1001)
pradėti
min1 [3:0] <= min1 [3:0] 1;
pabaiga
kitas
pradėti
min1 [3:0] <= 0;
if (min1 [7:4] <4'b0101)
pradėti
min1 [7:4] <= min1 [7:4] 1;
pabaiga
kitas
pradėti
min1 [7:4] <= 0;
if (hour1 [7:4] <4'b0010)
pradėti
if (hour1 [3:0] <4'b1001)
pradėti
hour1 [3:0] <= hour1 [3:0] 1;
pabaiga
kitas
pradėti
hour1 [3:0] <= 0;
hour1 [7:4] <= hour1 [7:4] 1;
pabaiga
pabaiga
kitas
pradėti
if (hour1 [3:0] <4'b0011)
pradėti
hour1 [3:0] <= hour1 [3:0] 1;
pabaiga
kitas
pradėti
hour1 [7:4] <= 0;
hour1 [3:0] <= 0;
pabaiga
pabaiga
pabaiga
pabaiga
pabaiga
pabaiga
pabaiga
priskirti val = hour1,
min = min1,
sec = Sec1;
endmodule