Wie kann ich folgendes sinngemäß definieren ? type data_type is std_logic_vector (data_width-1 downto 0); Damit ich dieses z.B. so verwenden kann: procedure swap is (a : inout data_type; b : inout data_type) begin end procedure; Ist dies überhaupt möglich ? Wenn ja in welcher VHDL Version (93,2008) ? Eine Typdefinition von "array of std_logic_vector" ist ja möglich.
Hi, man kann bspw. in einem Package einen Subtype definieren: package my_package is constant data_width : integer := 8; subtype data_type is std_logic_vector (data_width-1 downto 0); end my_package; Das Package musst Du dann noch im Modul, indem du die Prozedur aufrufst, einbinden: library work; use work.my_package.all; Gruß, SuperWilly
Lieber SuperWilly, vielen Dank. Was aber wenn data_width generisch definiert ist ? Sind generische Definitionen in einem package möglich ?
Wenn der Typ nicht in mehreren Entities verwendbar sein soll (z.B. in Portdeklarationen), dann reicht es, in deinem ursprünglichen Code "type" durch "subtype" zu ersetzen. VHDL-Syntax halt...
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.