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
Was ist schwer daran, in die entity "xy : out std_logic_vector(31 downto 0);" zu schreiben?
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
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
Entschuldigung, Taps ist bei Dir aus Ausgangsparamter, also entity Filter is port ( ... Taps : out Filter_Out; ... ); end;
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.