Übergabe eines TYPE an Prozeduren

Gast #1900163
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;

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