Forum: FPGA, VHDL & Co. Übergabe eines TYPE an Prozeduren


von guest (Gast)


Lesenswert?

Hallo,

zur Zeit hab ich ein Problem mit der Übergabe eines eigenen Typen an 
eine Prozedur welche in einem Paket abgelegt ist.
Wenn ich auf die Übergabe von "PROC_TEST => TEST" beim Prozeduraufruf 
verzichte läuft alles. Sobald ich den Code wie unten beschrieben 
kompiliere kommt (Beim Kompilieren der Architektur) folgender Fehler: No 
feasible entries for subprogram "and_proc1". Bekannt gemacht ist 
"MY_TYPE" ja im Paket und der Übergabetyp ist ja auch der selbe, wo 
liegt also das Problem?
1
-- Paket
2
3
LIBRARY ieee;
4
USE ieee.std_logic_1164.ALL;
5
use IEEE.NUMERIC_STD.ALL;                  
6
7
package TEST_PAKET is
8
9
  type MY_TYPE is (A, B, C);
10
    
11
  procedure AND_PROC1(signal IN1 : in std_logic;  
12
                      signal IN2 : in std_logic;
13
                      signal PROC_TEST : in MY_TYPE;
14
                      signal OUT1 : out std_logic);
15
  
16
end TEST_PAKET;
17
18
package body TEST_PAKET is
19
20
  procedure AND_PROC1(signal IN1 : in std_logic;  
21
                      signal IN2 : in std_logic;
22
                      signal PROC_TEST : in MY_TYPE;
23
                      signal OUT1 : out std_logic)is
24
  begin
25
    if (IN1 = '1' and IN2 = '1') then
26
      OUT1<='1';
27
    else
28
      OUT1<='0';
29
    end if;
30
  end procedure;
31
32
end TEST_PAKET;
33
34
35
36
-- Modul  
37
38
library IEEE;
39
use IEEE.STD_LOGIC_1164.ALL;
40
use IEEE.STD_LOGIC_ARITH.ALL;
41
use IEEE.STD_LOGIC_UNSIGNED.ALL;
42
library ssy;
43
use ssy.TEST_PAKET.all;
44
45
46
entity AND_ent is
47
  
48
port (  CLK : in std_logic;
49
        and_in1 :in std_logic;
50
        and_in2 : in std_logic;
51
        and_out : out std_logic);
52
end AND_ent;
53
54
architecture AND_arch of AND_ent is
55
56
type MY_TYPE is (A, B, C);
57
signal TEST : MY_TYPE;
58
59
begin
60
  
61
AND_PROC1(IN1 => and_in1,
62
          IN2 => and_in2,
63
          PROC_TEST => TEST,
64
          OUT1 => and_out);
65
  
66
end AND_arch;

von Klaus Falser (Gast)


Lesenswert?

Du definierst MY_TYPE zweimal.
Verwende die Typendeklarartion aus dem Package, dann wirds 
funktionieren, denke ich.

von guest (Gast)


Lesenswert?

Genau das war es, besten Dank.

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.