M
Martijn
Guest
Jag försöker skapa min första programmet, och jag lyckades lösa de flesta fel, men jag vet inte hur man ska lösa det här en:
Fel: Det går inte att lösa flera fasta drivrutiner för netto d0 [3] på countminutes.v (63)
Fel: Konstant föraren på countminutes.v (85)
Jag
har tittat upp och problemet är att jag skriver till ett register två gånger, eller något sådant.
Jag anser att detta fel är fel, men enligt qu (at) rtus II Web Edition det
är ett problem.Kan någon berätta för mig vad jag kan göra för att fixa det?
Koden bör räkna upp sekunder när "clks är pulsad.när 60 är nått det bör nollställts.
när sekunder pulsad och driva == 1, disk ska minska och när den når noll, bör puls "minuter" och återställs till 59 (kanske det inte fungerar 100% korrekt men thats en ploblem jag lösa senare) .
tack på förhand
Martijn
kod:
modul countminutes
(
/ / ((ALTERA_ARGS_BEGIN)) INTE utesluta denna linje!
clkm, minuter, löpning, d0, d1, noll
/ / ((ALTERA_ARGS_END)) INTE utesluta denna linje!
);
/ / Port Förklaring
/ / ((ALTERA_IO_BEGIN)) INTE utesluta denna linje!
input clkm;
input minuter;
ingång kör;
output [3:0] d0;
output [3:0] d1;
utgångsenergi noll;
/ / ((ALTERA_IO_END)) INTE utesluta denna linje!
reg [3:0] d0;
reg [3:0] d1;
reg noll;
alltid @ (posedge clkm)
starta
d1 <= d1 1;
if (d1 == 4'd10)
starta
d0 <= d0 1;
if ((d0 == 4'd2) & (d1 == 4'd4))
starta
d0 <= 4'd0;
slut
d1 <= 4'd1;
slut
slut / / linje 63
alltid @ (posedge minuter)
starta
if (kör == 1'b0)
starta
d1 <= d1-1;
if (d1 == 4'd15)
starta
d0 <= d0-1;
if (d0 == 4'd15)
starta
noll <= 1;
d0 <= 4'd3;
slut
annan
starta
noll <= 0;
slut
d1 <= 4'd2;
slut
slut
slut / / linje 85
endmodule
Ledsen, men du måste logga in för att kunna se denna anslutningskrav
Fel: Det går inte att lösa flera fasta drivrutiner för netto d0 [3] på countminutes.v (63)
Fel: Konstant föraren på countminutes.v (85)
Jag
har tittat upp och problemet är att jag skriver till ett register två gånger, eller något sådant.
Jag anser att detta fel är fel, men enligt qu (at) rtus II Web Edition det
är ett problem.Kan någon berätta för mig vad jag kan göra för att fixa det?
Koden bör räkna upp sekunder när "clks är pulsad.när 60 är nått det bör nollställts.
när sekunder pulsad och driva == 1, disk ska minska och när den når noll, bör puls "minuter" och återställs till 59 (kanske det inte fungerar 100% korrekt men thats en ploblem jag lösa senare) .
tack på förhand
Martijn
kod:
modul countminutes
(
/ / ((ALTERA_ARGS_BEGIN)) INTE utesluta denna linje!
clkm, minuter, löpning, d0, d1, noll
/ / ((ALTERA_ARGS_END)) INTE utesluta denna linje!
);
/ / Port Förklaring
/ / ((ALTERA_IO_BEGIN)) INTE utesluta denna linje!
input clkm;
input minuter;
ingång kör;
output [3:0] d0;
output [3:0] d1;
utgångsenergi noll;
/ / ((ALTERA_IO_END)) INTE utesluta denna linje!
reg [3:0] d0;
reg [3:0] d1;
reg noll;
alltid @ (posedge clkm)
starta
d1 <= d1 1;
if (d1 == 4'd10)
starta
d0 <= d0 1;
if ((d0 == 4'd2) & (d1 == 4'd4))
starta
d0 <= 4'd0;
slut
d1 <= 4'd1;
slut
slut / / linje 63
alltid @ (posedge minuter)
starta
if (kör == 1'b0)
starta
d1 <= d1-1;
if (d1 == 4'd15)
starta
d0 <= d0-1;
if (d0 == 4'd15)
starta
noll <= 1;
d0 <= 4'd3;
slut
annan
starta
noll <= 0;
slut
d1 <= 4'd2;
slut
slut
slut / / linje 85
endmodule
Ledsen, men du måste logga in för att kunna se denna anslutningskrav