Hallo,
vielen Dank für eure Antworten. Es tut mir sehr leid, dass der Code
trotz Ergänzungen immer noch nicht vollständig war. Da ich den Code so
übersichtlich wie möglich posten wollte, habe ich eine Reihe von
Informationen weggelassen, wodurch diverse notwendige Dinge gefehlt
haben. Außerdem habe ich vergessen, die Typen anzugeben. Auch dafür
entschuldige ich mich.
1 | if befehl = x"D" then
|
2 | for g in 0 to 7 loop
|
3 | for j in 0 to 5 loop --to_integer(unsigned(n-1)) loop
|
4 | if screen(to_integer(unsigned(x)))(to_integer(unsigned(y))+j) = '0' then
|
5 | screen(to_integer(unsigned(x)))(to_integer(unsigned(y))+j) <= game(to_integer(unsigned(I))+g);
|
6 | else
|
7 | screen(to_integer(unsigned(x)))(to_integer(unsigned(y))+j) <= not game(to_integer(unsigned(I))+g);
|
8 | register8(15) <= "00000001";
|
9 | end if;
|
10 | end loop;
|
11 | end loop;
|
12 | end if;
|
screen hat folgenden Datentypen:
1 | type screens is array (natural range 63 downto 0) of std_logic_vector (natural range 31 downto 0);
|
"x" und "y" sind vom Typ std_logic_vector.
Es tut mir wirklich leid, dass ihr mir auf Grundlage meines Fehlers
versucht habt mir zu helfen.
Liebe Grüße