Hallo Forum,
ich habe ein Problem was das Übergeben eines Arrays an eine procedure,
die sich in einem Package (nicht synthesefähig) befindet, betrifft.
Folgender Code funktioniert nicht:
1 | procedure busBlockRead (
|
2 | constant len : in natural;
|
3 | constant data : out array of (0 to len - 1) of std_ulogic_vector(cDataWidth - 1 downto 0) is
|
4 | begin
|
5 | ...
|
VHDl erwartet ja das das Array vorher als typ definiert wird, also:
1 | type aDataArray is array (0 to ??? - 1) of std_ulogic_vector(cDataWidth - 1 downto 0);
|
und
1 | procedure busBlockRead (
|
2 | constant len : in natural;
|
3 | constant data : out aDataArray) is
|
4 | begin
|
5 | ...
|
Dies funktioniert, nur erlaubt mir dieser Ansatz keine dynamische Angabe
der Arraygröße.
Gibt es eine schöne Möglichkeit dieses Dilemma zu umegehen?
Viele Danke!
lg,
Otto