Forum: FPGA, VHDL & Co. (others => '0') und 'range


von Duke Nukem (Gast)


Lesenswert?

In einer Berechnung muss ich einen LogicVector mit einer
parametrierbaren festen Länge erzeugen.

Jetzt etwa so:

reg := a * b - (c & "00000000");

Ein:

reg := a * b - (c & (others => '0'));

mag der Synthesizer nicht.
Mit dem range Attribut geht es auch nicht.

Wie dann?

von user (Gast)


Lesenswert?

verwende doch die range als definierte länge
a * b - (c & (3 downto 0 => '0')
oder
a * b - (c & (a'high -1 downto 0 => '0');

von Duke Nukem (Gast)


Lesenswert?

x := a * b - (c & (x'length -3 downto 0 => '0'));

ist es geworden.

TNX!

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.