mikrocontroller.net

Forum: FPGA, VHDL & Co. type of std_logic_vector definieren


Autor: Hans-Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Matthias F. (flint)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
subtype?

Autor: SuperWilly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Hans-Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lieber SuperWilly,

vielen Dank.
Was aber wenn data_width generisch definiert ist ?
Sind generische Definitionen in einem package möglich ?

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Hans-Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, danke.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.