Library Deklaration bevor ENTITY oder bevor ARCHITECURE

OP #3518664
Lesenswert?

Hallo Zusammen
Wenn ich mit Mentor Graphics meine VHDL Files generieren lasse kommt 
folgendes raus
1
-- VHDL Entity FPGA_Box.Puls_Generator.symbol
2
--
3
-- Created:
4
--          by - chrebhu.UNKNOWN (CHSEM00-6-103)
5
--          at - 13:41:22 04.02.2014
6
--
7
-- Generated by Mentor Graphics' HDL Designer(TM) 2010.3 (Build 21)
8
--
9
LIBRARY ieee;
10
USE ieee.std_logic_1164.all;
11
USE ieee.std_logic_arith.all;
12

13
ENTITY Puls_Generator IS
14
   PORT( 
15
      SM_control   : IN     std_logic_vector (7 DOWNTO 0);
16
      SM_mode      : IN     std_logic_vector (7 DOWNTO 0);
17
      Uzw_thres    : IN     std_logic;
18
      clk          : IN     std_logic;
19
      npuls        : IN     unsigned (7 DOWNTO 0);
20
      rst          : IN     std_logic;
21
      tmag_off     : IN     natural RANGE 31 DOWNTO 0;
22
      tmag_on      : IN     natural RANGE 31 DOWNTO 0;
23
      toff         : IN     natural RANGE 31 DOWNTO 0;
24
      ton          : IN     natural RANGE 31 DOWNTO 0;
25
      tvor         : IN     natural RANGE 31 DOWNTO 0;
26
      umon_trig    : IN     unsigned (15 DOWNTO 0);
27
      SM_status    : OUT    std_logic_vector (7 DOWNTO 0);
28
      cs_DUT       : OUT    std_logic;
29
      cs_vor       : OUT    std_logic;
30
      trig_monitor : OUT    std_logic
31
   );
32

33
-- Declarations
34

35
END Puls_Generator ;
36

37
--
38
-- VHDL Architecture FPGA_Box.Puls_Generator.fsm
39
--
40
-- Created:
41
--          by - chrebhu.UNKNOWN (CHSEM00-6-103)
42
--          at - 13:41:23 04.02.2014
43
--
44
-- Generated by Mentor Graphics' HDL Designer(TM) 2010.3 (Build 21)
45
--
46
LIBRARY ieee;
47
USE ieee.std_logic_1164.all;
48
USE ieee.std_logic_arith.all;
49
 
50
ARCHITECTURE fsm OF Puls_Generator IS

Dabei ist zu sehen, dass sowohle vor der Entity als auch vor der 
Architektur Library Deklarationen aufgeführt sind.

Ich frage mich nun, weshalb das so ist, bzw. was der Sinn und Zweck der 
zweimaligen Library Deklarationen ist.

Gruss
Moderator (Firma: Titel) Persönliche Seite #3518682
Lesenswert?

Reto B. schrieb:
> Ich frage mich nun, weshalb das so ist, bzw. was der Sinn und Zweck der
> zweimaligen Library Deklarationen ist.
Du kannst Libraries sogar in Prozessen und Funktionen deklarieren. Wenn 
z.B. eine Funktion zur Berechnung einer Wortbreite die 
Fließkommaoperation log2() benötigt, dann ist es nicht sinnvoll, 
jemanden im Entity-Header mit math_real zu verwirren...

Aber so wie es da steht ist es Blödsinn. Wie auch die standardmäßige 
Verwendung von std_logic_arith...
Gast #3519006
Lesenswert?

vermutlich kann man in Mentor einstellen, welche Libraries er 
standardmäßig einbinden soll. Und so wie es aussieht, hast du die FSM 
grafisch erstellt und von Mentor den HDL Code generieren lassen. Und 
wenn da bei den Settigs eingestellt ist, dass er für die FSM bestimmte 
Libraries einbinden soll und für eine Entitiy auch welche, dann wird 
Mentor das einfach so machen.. vermute ich zumindest mal.

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