Forum: FPGA, VHDL & Co. Array mit Startwert fühlen


von Max (Gast)


Lesenswert?

Hallo,

ich habe folgendes Array deklariert:

type Teiler is array(0 to 2) of integer;

wie bekomme ich es nun hin das dieses Array mit den Werten 10, 100, 100
gefühlt ist. Mit
Teiler(0) := 10;
Teiler(1) := 100; usw..
geht es nicht =). Ich bin ein wenig ratlos und damit dankbar für jede
Hilfe.

Mfg

max

von Xenu (Gast)


Lesenswert?

Du definierst nur einen Typ, kein Signal oder Variable.

signal bla : Teiler;

von Max (Gast)


Lesenswert?

Hallo Xenu,

ich möchte das Array verwenden um eine for schleife mit einer
Zählvariablen zu nutzen. Also

for i in 0 to 3 loop
Wert1 := Teiler(i);

usw...

wie bekomme ich einen Wert in das Array Feld Teiler 0, Teiler 1, usw.

Trotzdem danke für die schnelle antwort =)

Max

von T.M. (Gast)


Lesenswert?

Wie Xenu schon sagte:
1
type Teiler is array(0 to 2) of integer;
definiert nur einen (Signal/Variablen)-Typ. Das heisst, du musst nach
der Definition noch ein Signal/Variable dieses Types anlegen, um damit
arbeiten zu können.
zum Bleistift so:
1
type Teiler is array(0 to 2) of integer;
2
3
beispiel process (Teiler) is
4
variable test : Teiler := (10,100,100);
5
Wert1 : integer range 0 to 100;
6
begin
7
  for i in 0 to 3 loop
8
  Wert1 := Teiler(i);
9
  end loop;
10
end process beispiel;

von T.M. (Gast)


Lesenswert?

Tsts, sollte lieber mal guggn, bevor man leichtfertig absendet ;-)
Da haben sich kleine Fehler eingeschlichen:
1
architecture behavior of bla is
2
3
type Teiler is array(0 to 2) of integer;
4
signal test : Teiler := (10,100,100);
5
6
begin
7
8
beispiel process (test) is
9
Wert1 : integer range 0 to 100;
10
begin
11
  for i in 0 to 3 loop
12
    Wert1 := test(i);
13
  end loop;
14
end process beispiel;
15
16
end architecture behavior;

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.