array definition

Gast #389093
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.