Forum: FPGA, VHDL & Co. Library Deklaration bevor ENTITY oder bevor ARCHITECURE


von Reto B. (schnuber)


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

von ♪Geist (Gast)


Lesenswert?

Reto B. schrieb:
> Ich frage mich nun, weshalb das so ist, bzw. was der Sinn und Zweck der
> zweimaligen Library Deklarationen ist.

Gar kein!

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


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...

: Bearbeitet durch Moderator
von Schlumpf (Gast)


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.

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.