mikrocontroller.net

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


Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

-- Paket

LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
use IEEE.NUMERIC_STD.ALL;                  

package TEST_PAKET is

  type MY_TYPE is (A, B, C);
    
  procedure AND_PROC1(signal IN1 : in std_logic;  
                      signal IN2 : in std_logic;
                      signal PROC_TEST : in MY_TYPE;
                      signal OUT1 : out std_logic);
  
end TEST_PAKET;

package body TEST_PAKET is

  procedure AND_PROC1(signal IN1 : in std_logic;  
                      signal IN2 : in std_logic;
                      signal PROC_TEST : in MY_TYPE;
                      signal OUT1 : out std_logic)is
  begin
    if (IN1 = '1' and IN2 = '1') then
      OUT1<='1';
    else
      OUT1<='0';
    end if;
  end procedure;

end TEST_PAKET;



-- Modul  

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
library ssy;
use ssy.TEST_PAKET.all;


entity AND_ent is
  
port (  CLK : in std_logic;
        and_in1 :in std_logic;
        and_in2 : in std_logic;
        and_out : out std_logic);
end AND_ent;

architecture AND_arch of AND_ent is

type MY_TYPE is (A, B, C);
signal TEST : MY_TYPE;

begin
  
AND_PROC1(IN1 => and_in1,
          IN2 => and_in2,
          PROC_TEST => TEST,
          OUT1 => and_out);
  
end AND_arch;

Autor: Klaus Falser (Gast)
Datum:

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

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau das war es, besten Dank.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.