VHDL-Forum - Allgemeines

Outputvector- Array

Outputvector- Array

Hallo...
ich brauche für einen Filter in einem FPGA 32 8-Bit Ausgänge die in anderen Modulen weiterverarbeitet werden.
Kann mir jemand sagen wie ich das in der entity gestallten kann? ich möchte nicht unbedingt 32 8Bit Vektoren definieren, sondern nach Möglichkeit eine Matrix oder ein Array. Mir ist wohl bekannt, das man dieses Problem auf EINEN Vektor der Länge 32*8Bit abbilden kann, aber diese Umorganisierung möchte ich nicht Verwenden. Gesucht ist also eine Möglichkeit der Definition eines 2-Dimensionalen "Objektes" in der entity...falls es dort möglichkeiten gibt.
Gruss Thomas

Re: Outputvector- Array

Moin Thomas.

Du brauchst einen neuen Datentyp, der ein Array aus Vektoren ist:

type array_type is array (natural range ) of std_logic_vector(7 downto 0);



Diesen kannst Du dann ganz normal bei der Deklaration verwenden:

signal data : array_type(0 to 31);



Möchtest Du das ganze als Port für eine Entity, so muss der Datentyp in einem package erstellt werden, dass Du dann überall dort einbindest, wo du es brauchst.
In der Portdeklaration schreibst Du dann einfach:

port(
data_in : in array_type(0 to 31)
);

Du kannst auch noch weiter gehen und Dir den Typ so schaffen, dass er eine feste Größe besitzt:

type array32_type is array (0 to 31) of std_logic_vector(7 downto 0);

...

signal data : array32_type;

Viel Erfolg,
Gruß DaMicha.