Forum: FPGA, VHDL & Co. loop index als bit-vektor


von Hans (Gast)


Lesenswert?

Hallo,

folgendes Problem:

Habe eine Schleife mit einem index.

Der index soll aber in der Schleife mit einem bit-vektor and-verknüpft 
werden.

Also ca. so:

variable tmp : BIT_VECTOR (31 downto 0);

for index in 0 to 32 loop

tmp:= tmp and index;

end loop;

(gleichzeitig soll auch noch eine Verschiebeoperation ausgeführt werden)
( geht nur mit bit-Vektor nicht mit STD_LOGIC_Vector, aber nur mit 
STD_LOGIC_Vector kann man rechnen, hier hätte man eine Hilfsvariable 
einführen können, die um eins synchron zum index hochzählt)

Also:

for index in 0 to 32 loop

tmp:= (tmp and index) sll 1;

end loop;


Gruß

Hans

von Rick Dangerus (Gast)


Lesenswert?

for-Schleifen erzeugen n-fache Hardware. Sie arbeiten nicht so wie man 
es von Programmiersprachen gewohnt ist. Ist das vielleicht Dein Problem?

Rick

von Hans (Gast)


Lesenswert?

Hallo,

danke für die Antwort,

habe das Problem durch eine Hilfsvariable gelöst.

So wie ich mir das mit den schleifen vorstelle wird nur die 
Schreibarbeit beim Code gespart.

Gruß

Hans

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.