[VHDL] Use vor jeder Entity, was ist mit Library?

OP #1369456
Lesenswert?
• ▲
▼
Hallo zusammen,

Ich lerne gerade VHDL fürs Studium. Das geht mehr oder minder gut, ich 
stehe jedenfalls noch direkt am Anfang und habe kurz 2 kleine Fragen:

Warum muss ich vor jeder Entity die use-Anweisung wiederholen? (Bsp: use 
ieee.std_logic_1164.ALL)

Und:
http://public.tfh-berlin.de/~haas/lehre/eda1/WS02/unterl1.pdf dort 
(gegoogelt) steht, dass man die Library Anweisung (LIBRARY ieee) nur 1x 
pro Datei(zu Beginn) braucht; mein Quartus II hätte die aber ebenfalls 
gerne vor jeder Entity bzw. vor dem jeweiligen Use, da er sonst "object 
ieee is used but not declared" bringt.

Ich kann das ja nun hinnehmen; Aber warum ist das so?

Vielen Dank schonmal,

Matthias
Gast #1371934
Lesenswert?
• ▲
▼
hi,

das vhdl-lrm (language reference manual) definiert was vhdl ist (syntax 
und semantik). das lrm definiert sachen diskutiert aber nicht pro/cons 
bzw design entscheidungen warum es so ist. dies laeuft in den working 
groups zum standard:

die frage fuer dich heisst: fuer welchen scope gilt die "library clause" 
bzw die "use-clause"? grob gesprochen gelten use/library clause vom 
punkt nach der stelle im text bis an das ende der "declarative region" 
der design unit die zur declaration gehoert.

also zb. library+use vor der entity gilt auch fuer die architecture. 
library+use vor der architecture gilt nur fuer die architecture.


die library clause ermoeglicht es dir ueberhaupt auf sachen in einer 
library zuzugreifen. libraries stehen im lrm vhdl87-11.2

die use clause macht symbole in einem scope sichtbar ohne dass man den 
package/library noch mit angeben muss (vhdl87-10.4). dort ist auch genau 
definiert wie weit der scope der use cause reicht (bzw was bei 
konflikten passiert).

klingt abstrakt? einfach mal die lrm abschnitte lesen und die beispiele 
durchsehen. alternativ die lrm-faq im netz.

regards
OP #1372487
Lesenswert?
• ▲
▼
Vielen Dank, vor allem an nixda (Gast), für die tolle Erklärung.

Ich habe das jetzt soweit verstanden und kann das so hinnehmen :-) Die 
Klausur ist inzwischen auch schon gelaufen (ging garnicht so weit ins 
VHDL Detail - nur ne simple 3-Prozess Modellierung einer Art 2-bit 
Zähler bzw. /4 Frequenzteiler) und an VHDL werde ich 
wohl/vll/hoffentlich trotzdem noch länger dran bleiben :-)

-Thema erledigt-
Matthias

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren