Forum: FPGA, VHDL & Co. vektor'RANGE, 'LENGTH, etc - libaries,package etc


von Andi (loopy83)


Lesenswert?

Hallo,

ich wollte mir mal eine Übersicht schreiben, in der die oben genannten 
Ausdrücke aufgegliedert sind und was sie bedeuten. Denn ich stolpere 
immer wieder darüber, weil ich etwas falsch einsetze.
1
signal vektor : std_logic_vector(12 downto 5);

Dabei erwarte ich folgende Ergebnisse:
1
vektor'RANGE
 => (12 downto 5) - Man kann damit identische Vektoren definieren.

1
vektor'LENGTH
 => 8 - Man bekommt also die Länge des Vektors zurück.

1
vektor'LEFT
 => 12 - Liefert das MSB.

1
vektor'RIGHT
 => 5 - Liefert das LSB.

1
vektor'HIGH
2
vektor'LOW
Ist das das Gleiche wie LEFT/RIGHT?

Gibt es noch mehr solcher Ausdrücke?
Ist die obere Übersicht so zutreffend, oder habe ich schon immer einen 
Denkfehler? Wer kann HIGH/LOW und eventuell noch weitere dieser 
Ausdrücke ergänzen?

Wo finde ich eine gute Übersicht über
procedure, function, package, component, libary und wie sie alle 
heissen?
Wie werden sie definiert, wie werden sie dann eingebunden und verwendet?
Vielleicht hat jemand eine vhdl Datei, in der je ein Konstrukt definiert 
wird und dann auch instantiiert wird?!

Ich habe bisher als Hierarchie-Element immer nur components verwendet 
und das ging bisher immer ganz gut. Als libaries hatte ich immer nur die 
Standardlösungen. Ich bin also nie dermaßen in die Tiefe der VHDL 
Beschreibung gegangen. Nun sitze ich vor einem riesen großen, fremden 
Projekt und muss mit diesen Dingen umgehen können. Da wäre eine 
Übersicht nicht schlecht.

Vielen Dank!
Andi

von Bert (Gast)


Lesenswert?

Lass dir einfach mal für

  signal vektor_1: std_logic_vector(12 downto 5);
  signal vektor_2: std_logic_vector(12 downto 5);

HIGH,LOW,LEFT,RIGH anzeigen, sollte einen Teil deiner
Fragen beantworten.

Zum Rest: "Designers Guide to VHDL" von Peter Ashenden
beschreibt die Sprache VHDL sehr ausführlich, allerdings
ohne Synthese-Bezug!

von Andreas B. (andreas_b77)


Lesenswert?

Besser mal für

  signal vektor_2: std_logic_vector(5 to 12);

sonst sieht er ja keinen Unterschied…

von Bert (Gast)


Lesenswert?

Ops, Copy&Paste => Titel wech

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Andreas B. schrieb:
> Gibt es noch mehr solcher Ausdrücke?
Such mal nach vhdlqrc.pdf (VHDL Quick Reference Card)

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
Noch kein Account? Hier anmelden.