Forum: FPGA, VHDL & Co. Zweidimensionales Array initialisieren


von dito (Gast)


Lesenswert?

Hallo zusammen!

Könnte mir jemand bei einem Problem weiterhelfen, dass eigentlich 
einfach zu lösen sein sollte, aber ich glaube, ich stehe gerade auf dem 
Schlauch.

Ich habe folgendes, zweidimensionales Array:
1
type vector_type is array (0 to VECTOR_SIZE-1) of signed(WIDTH downto 0);
2
signal vector_out : vector_type;

Alle Elemente innerhalb von vector_out möchte ich innerhalb eines resets 
auf Null setzen (initialisieren). Folgender Code funktioniert nur leider 
nicht:
1
vector_out(0 to VECTOR_SIZE-1) <= (others => '0');
2
3
-- Fehlermeldung: Enumeration literal '0' is not of type ieee.numeric_std.signed.

Jede Komponente einzeln zu initialisieren funktioniert hingegen, kann 
ich aber nicht verwenden, da VECTOR_SIZE ja erstmal unbekannt ist:
1
vector_out(0) <= (others => '0');
2
vector_out(1) <= (others => '0');
3
vector_out(2) <= (others => '0');
4
vector_out(3) <= (others => '0');
5
...

Man könnte die Komponenten in einer for-Schleife initialisieren, aber 
das wäre wohl nicht synthesierbar, oder?

Weiß jemand, was ich da machen könnte?

Danke & Gruß,
dito

von Jan M. (mueschel)


Lesenswert?

Du kannst das "others" ineinander verschachteln, das sollte hier 
funktionieren:
> vector_out <= (others => (others => '0'));

von dito (Gast)


Lesenswert?

Super, Danke für die schnelle Antwort! Funktioniert sogar!

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.