Artikel-ID: 000080821 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 21.12.2016

(vcom-1133) Typ: Missmatch auf Port gefunden

Umgebung

  • Intel® Quartus® Prime Pro Edition
  • Fließkommafunktionen Intel® FPGA IP
  • All

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Beschreibung

    Wenn Sie aufgrund eines Problems in der Intel® Quartus® Prime Pro Edition Software eine IP-Megacore mit ausgewählter VHDL generieren, können beim Kompilieren für simulation folgende Fehler auftreten:

    Anzahl ** Fehler: ..vhd: (vcom-1133) Geben Sie "Missmatch" auf Port " ein.
    # In der Komponente "" ist der Port-Typ "ieee.std_logic_1164.STD_LOGIC".
    Anzahl in der Entität "" ist der Porttyp "ieee.std_logic_1164.STD_LOGIC_VECTOR"

     

     

    Lösung

    Um dieses Problem zu umgehen, müssen Sie das generierte RTL bearbeiten und die Datentypen sowohl in der Top-Instanz als auch im Testbench abgleichen.

     

    Beispiel: Für ein Modul mit dem Namen "FP_TEST" würden Sie Folgendes tun:

    Machen Sie die folgenden Änderungen in _tb.vhd

    Von:

    Architecture RTL von FP_TEST_tb ist
    komponenten-FP_TEST ist
    Port (
    a: in std_logic_vector (63 auf 0) := (andere => "X"); --Eine
    areset: in std_logic := "X";             --Zurücksetzen
    b: in std_logic_vector (63 auf 0) := (andere => "X"); --B
    clk: in std_logic := "X";             --Clk
                                                    opSel: in std_logic := "X";            -- opSel
    f: out std_logic_vector(63 downto 0) -- q
    );
    FP_TEST der Endkomponente;
    ...

    fp_test_inst: Komponenten-FP_TEST
    Port-Karte (
    a => fp_test_inst_a_bfm_conduit_a, -- a.a
    areset => fp_test_inst_areset_bfm_reset_reset, -- areset.reset
    b => fp_test_inst_b_bfm_conduit_b, -- b.b
    clk => fp_test_inst_clk_bfm_clk_clk, -- clk.clk
    opSel => fp_test_inst_opsel_bfm_conduit_opsel(0), -- opSel.opSel
    q => fp_test_inst_q_q -- q.q
    );

    An:

    Architecture RTL von FP_TEST_tb ist
    komponenten-FP_TEST ist
    Port (
    a: in std_logic_vector (63 auf 0) := (andere => "X"); --Eine
    areset: in std_logic := "X";             --Zurücksetzen
    b: in std_logic_vector (63 auf 0) := (andere => "X"); --B
    clk: in std_logic := "X";             --Clk
                                                    opSel: in std_logic_vector(0 auf 0) := (andere => "X"); -- opSel
    f: out std_logic_vector(63 downto 0) -- q
    );
    FP_TEST der Endkomponente;

    fp_test_inst: Komponenten-FP_TEST
    Port-Karte (
    a => fp_test_inst_a_bfm_conduit_a, -- a.a
    areset => fp_test_inst_areset_bfm_reset_reset, -- areset.reset
    b => fp_test_inst_b_bfm_conduit_b, -- b.b
    clk => fp_test_inst_clk_bfm_clk_clk, -- clk.clk
                                                 opSel => fp_test_inst_opsel_bfm_conduit_opsel, -- opSel.opSel
    q => fp_test_inst_q_q -- q.q
    );

     

    Und die folgenden Änderungen an .vhd vornehmen


    Von:

    Entität FP_TEST ist
    Port (
    a: in std_logic_vector(63 auf 0 heruntergestuft) := (andere => "0"); -- a.a
    areset: in std_logic := '0';             -- areset.reset
    b: in std_logic_vector(63 downto 0) := (andere => '0'); --Bb
    clk: in std_logic := "0";             -- clk.clk
                                    opSel: in std_logic := "0";             -- opSel.opSel
    f: out std_logic_vector(63 downto 0) -- q.q
    );
    FP_TEST der Endeinheit;

    Architecture RTL von FP_TEST ist
    FP_TEST_altera_fp_functions_160_xhvb5va der Komponente ist
    Port (
    clk: in std_logic := "X";             --Clk
    areset: in std_logic := "X";             --Zurücksetzen
    a: in std_logic_vector (63 auf 0) := (andere => "X"); --Eine
    b: in std_logic_vector (63 auf 0) := (andere => "X"); --B
    f: out std_logic_vector(63 downto 0);                    --Q
                                                    opSel: in std_logic := "X" -- opSel
    );
    FP_TEST_altera_fp_functions_160_xhvb5va der Endkomponente;


    An:

    Entität FP_TEST ist
    Port (
    a: in std_logic_vector(63 auf 0 heruntergestuft) := (andere => "0"); -- a.a
    areset: in std_logic := '0';             -- areset.reset
    b: in std_logic_vector(63 downto 0) := (andere => '0'); --Bb
    clk: in std_logic := "0";             -- clk.clk
                              opSel: in std_logic_vector(0 auf 0) := (andere => '0'); -- opSel.opSel
    f: out std_logic_vector(63 downto 0) -- q.q
    );
    FP_TEST der Endeinheit;

    Architecture RTL von FP_TEST ist
    FP_TEST_altera_fp_functions_160_xhvb5va der Komponente ist
    Port (
    clk: in std_logic := "X";             --Clk
    areset: in std_logic := "X";             --Zurücksetzen
    a: in std_logic_vector (63 auf 0) := (andere => "X"); --Eine
    b: in std_logic_vector (63 auf 0) := (andere => "X"); --B
    f: out std_logic_vector(63 downto 0);                    --Q
                                                    opSel: in std_logic_vector(0 auf 0) := (andere => 'X') -- opSel
    );
    FP_TEST_altera_fp_functions_160_xhvb5va der Endkomponente;

     

    Dies soll in einer zukünftigen Version der Intel® Quartus® Prime Software behoben werden.

    Zugehörige Produkte

    Dieser Artikel bezieht sich auf 1 Produkte

    Intel® Arria® 10 FPGAs und SoC FPGAs

    Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.