H
higildedzest
Guest
Πρόσφατα έγραψα ένα πρόγραμμα καταπολέμησης, θ καταρτίζουν και να successful.But όταν άρχισε να τρέχει λειτουργία προσομοίωσης, τα αποτελέσματα ήταν wrong.i δεν καταλαβαίνουν, παρακαλούμε όλους όσους ξέρουν να μου δώσετε κάποιες συμβουλές για σας it.thank πολύ.
εδώ είναι ο κώδικας:
ενότητα counter (clk, reset, ώρα, λεπτά, δευτερόλεπτα)?
CLK input, reset?
εξόδου [7:0] ώρες, λεπτά, δευτερόλεπτα?
wire [7:0] ώρες, λεπτά, δευτερόλεπτα?
πάντα @ (posedge CLK ή επαναφορά posedge)
αρχίζω
reg [7:0] hour1, min1, Sec1?
if (reset == 1)
αρχίζω
hour1 [3:0] <= 0?
hour1 [7:4] <= 0?
min1 [3:0] <= 0?
min1 [7:4] <= 0?
Sec1 [3:0] <= 0?
Sec1 [7:4] <= 0?
τέλος
else if (Sec1 [3:0] <4'b1001)
αρχίζω
Sec1 [3:0] <= Sec1 [3:0] 1?
τέλος
άλλος
αρχίζω
Sec1 [3:0] <= 0?
εάν (Sec1 [7:4] <4'b0101)
αρχίζω
Sec1 [7:4] <= Sec1 [7:4] 1?
τέλος
άλλος
αρχίζω
Sec1 [7:4] <= 0?
if (min1 [3:0] <4'b1001)
αρχίζω
min1 [3:0] <= min1 [3:0] 1?
τέλος
άλλος
αρχίζω
min1 [3:0] <= 0?
if (min1 [7:4] <4'b0101)
αρχίζω
min1 [7:4] <= min1 [7:4] 1?
τέλος
άλλος
αρχίζω
min1 [7:4] <= 0?
εάν (hour1 [7:4] <4'b0010)
αρχίζω
εάν (hour1 [3:0] <4'b1001)
αρχίζω
hour1 [3:0] <= hour1 [3:0] 1?
τέλος
άλλος
αρχίζω
hour1 [3:0] <= 0?
hour1 [7:4] <= hour1 [7:4] 1?
τέλος
τέλος
άλλος
αρχίζω
εάν (hour1 [3:0] <4'b0011)
αρχίζω
hour1 [3:0] <= hour1 [3:0] 1?
τέλος
άλλος
αρχίζω
hour1 [7:4] <= 0?
hour1 [3:0] <= 0?
τέλος
τέλος
τέλος
τέλος
τέλος
τέλος
τέλος
αντιστοιχίσετε ώρα = hour1,
min = min1,
sec = Sec1?
endmodule
εδώ είναι ο κώδικας:
ενότητα counter (clk, reset, ώρα, λεπτά, δευτερόλεπτα)?
CLK input, reset?
εξόδου [7:0] ώρες, λεπτά, δευτερόλεπτα?
wire [7:0] ώρες, λεπτά, δευτερόλεπτα?
πάντα @ (posedge CLK ή επαναφορά posedge)
αρχίζω
reg [7:0] hour1, min1, Sec1?
if (reset == 1)
αρχίζω
hour1 [3:0] <= 0?
hour1 [7:4] <= 0?
min1 [3:0] <= 0?
min1 [7:4] <= 0?
Sec1 [3:0] <= 0?
Sec1 [7:4] <= 0?
τέλος
else if (Sec1 [3:0] <4'b1001)
αρχίζω
Sec1 [3:0] <= Sec1 [3:0] 1?
τέλος
άλλος
αρχίζω
Sec1 [3:0] <= 0?
εάν (Sec1 [7:4] <4'b0101)
αρχίζω
Sec1 [7:4] <= Sec1 [7:4] 1?
τέλος
άλλος
αρχίζω
Sec1 [7:4] <= 0?
if (min1 [3:0] <4'b1001)
αρχίζω
min1 [3:0] <= min1 [3:0] 1?
τέλος
άλλος
αρχίζω
min1 [3:0] <= 0?
if (min1 [7:4] <4'b0101)
αρχίζω
min1 [7:4] <= min1 [7:4] 1?
τέλος
άλλος
αρχίζω
min1 [7:4] <= 0?
εάν (hour1 [7:4] <4'b0010)
αρχίζω
εάν (hour1 [3:0] <4'b1001)
αρχίζω
hour1 [3:0] <= hour1 [3:0] 1?
τέλος
άλλος
αρχίζω
hour1 [3:0] <= 0?
hour1 [7:4] <= hour1 [7:4] 1?
τέλος
τέλος
άλλος
αρχίζω
εάν (hour1 [3:0] <4'b0011)
αρχίζω
hour1 [3:0] <= hour1 [3:0] 1?
τέλος
άλλος
αρχίζω
hour1 [7:4] <= 0?
hour1 [3:0] <= 0?
τέλος
τέλος
τέλος
τέλος
τέλος
τέλος
τέλος
αντιστοιχίσετε ώρα = hour1,
min = min1,
sec = Sec1?
endmodule