M
martijn
Guest
Snažil jsem se vytvořit můj první program, a byl jsem schopen vyřešit většinu chyb, ale nevím, jak vyřešit tento:
Chyba: nelze vyřešit několik stálých ovladače pro čistý d0 [3] na countminutes.v (63)
Chyba: Konstantní řidič na countminutes.v (85)
Jsme to a problém je v tom, že píšu do rejstříku dvakrát, nebo něco takového.
Podle mého názoru tato chyba je špatné, ale podle qu (at) rtus II web vydání je to problém.může mi někdo říct, co jsem mohl udělat to opravit?
Tento kód by měl spočítat vteřin, kdy 'clks' je pulsní.60, kdy je dosaženo, že by mělo reset na nulu.
sekund, kdy je pulsní a provoz == 1, protizáruka měla snižovat a pokud dosáhne nuly, je třeba impuls' minuty 'a reset na 59 (asi toto nefunguje 100% správně, ale to je jedno ploblem budu řešit později) .
Thanks in advance,
martijn
kód:
Modul countminutes
(
/ / (()) ALTERA_ARGS_BEGIN Neodebírejte TOTO LINE!
clkm, minuty, běh, d0, d1, nula
/ / (()) ALTERA_ARGS_END Neodebírejte TOTO LINE!
);
/ / Port Prohlášení
/ / (()) ALTERA_IO_BEGIN Neodebírejte TOTO LINE!
Vstupní clkm;
Vstupní minut;
vstupní chod;
výstupní [3:0] d0;
výstupní [3:0] d1;
výstup nulu;
/ / (()) ALTERA_IO_END Neodebírejte TOTO LINE!
reg [3:0] d0;
reg [3:0] d1;
reg nulu;
Vždy @ (posedge clkm)
začít
d1 <= d1 1;
if (d1 == 4'd10)
začít
d0 <d0 = 1;
if ((d0 == 4'd2) & (d1 == 4'd4))
začít
d0 <= 4'd0;
konec
d1 <= 4'd1;
konec
konec / / linka 63
Vždy @ (posedge minut)
začít
if (běžící == 1'b0)
začít
d1 <= d1-1;
if (d1 == 4'd15)
začít
d0 <= d0-1;
if (d0 == 4'd15)
začít
nulové <= 1;
d0 <= 4'd3;
konec
jiné
začít
nulové <= 0;
konec
d1 <= 4'd2;
konec
konec
konec / / linka 85
endmodule
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu
Chyba: nelze vyřešit několik stálých ovladače pro čistý d0 [3] na countminutes.v (63)
Chyba: Konstantní řidič na countminutes.v (85)
Jsme to a problém je v tom, že píšu do rejstříku dvakrát, nebo něco takového.
Podle mého názoru tato chyba je špatné, ale podle qu (at) rtus II web vydání je to problém.může mi někdo říct, co jsem mohl udělat to opravit?
Tento kód by měl spočítat vteřin, kdy 'clks' je pulsní.60, kdy je dosaženo, že by mělo reset na nulu.
sekund, kdy je pulsní a provoz == 1, protizáruka měla snižovat a pokud dosáhne nuly, je třeba impuls' minuty 'a reset na 59 (asi toto nefunguje 100% správně, ale to je jedno ploblem budu řešit později) .
Thanks in advance,
martijn
kód:
Modul countminutes
(
/ / (()) ALTERA_ARGS_BEGIN Neodebírejte TOTO LINE!
clkm, minuty, běh, d0, d1, nula
/ / (()) ALTERA_ARGS_END Neodebírejte TOTO LINE!
);
/ / Port Prohlášení
/ / (()) ALTERA_IO_BEGIN Neodebírejte TOTO LINE!
Vstupní clkm;
Vstupní minut;
vstupní chod;
výstupní [3:0] d0;
výstupní [3:0] d1;
výstup nulu;
/ / (()) ALTERA_IO_END Neodebírejte TOTO LINE!
reg [3:0] d0;
reg [3:0] d1;
reg nulu;
Vždy @ (posedge clkm)
začít
d1 <= d1 1;
if (d1 == 4'd10)
začít
d0 <d0 = 1;
if ((d0 == 4'd2) & (d1 == 4'd4))
začít
d0 <= 4'd0;
konec
d1 <= 4'd1;
konec
konec / / linka 63
Vždy @ (posedge minut)
začít
if (běžící == 1'b0)
začít
d1 <= d1-1;
if (d1 == 4'd15)
začít
d0 <= d0-1;
if (d0 == 4'd15)
začít
nulové <= 1;
d0 <= 4'd3;
konec
jiné
začít
nulové <= 0;
konec
d1 <= 4'd2;
konec
konec
konec / / linka 85
endmodule
Omlouváme se, ale musíte přihlásit a prohlížet tuto přílohu