array definition

Gast #389093
Lesenswert?

Hallo, ich habe mal eine Frage zur Definition eines Arrays.
Für ein Filterdesign auf einem FPGA werden parallel 32 8Bit Zahlen
ausgegeben. Kann man in der entity in vhdl ein Array definieren das es
mir ersparrt, 32 Ausgänge zu definieren? Ich kenne sowas nur aus der
architecture wo das ganze so aussieht:
xxx reg_type is array (0 to 31) of STD_LOGIC_VECTOR (7 downto 0);
Bin für jeden Tip dankbar,
Greetz
#389095
Lesenswert?

Du mußt ein package schreiben, das eine Type für Dein Array definiert.
Dieses package verwendest Du im File mit deinem Filter und dort wo Du
das Filter verwendest.
Damit ist die Type an beiden Orten bekannt.
Du kannst dann eine entity Filter schreiben, welches einen Paramter von
diesem Type verwendet.

Gruß
Klaus
Gast #389096
Lesenswert?

Hallo Klaus, wenn ich dich richtig verstehe willst du sowas hier
machen?!

package myPackage is
  constant width: integer;
  subtype FilterTap is std_logic_vector(width-1 downto 0);
end;

type Filter_Out is array(depth-1 downto 0) of FilterTap;

oder falsch verstanden?
Dann weiss ich immer noch nicht wie du in der entity die
Port-deklaration (out) schaffst..oder steh ich gerade auf dem
schlauch?

Und an deinen Vorredner: Das nächste Mal bitte eine Minute Denkpause
vor dem nächsten Beitrag, ok? Wer von "Was ist schwer daran" redet,
sollte doch 8 Zeilen Text nachvollziehen können oder?

Greetz
#389097
Lesenswert?

Die type Filter_Out gehört noch ins package.

Wenn Du dann "use myPackage.all;" an den Anfang stellst, dann
solltest Du schreiben können :

entity Filter is
port (
   ...
   Taps : in Filter_Out;
   ...
   );
end;

Syntax-Fehler im Beispiel möglich, aber das Prinzip sollte stimmen.

Gruß
Klaus

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren