記事 ID: 000080821 コンテンツタイプ: トラブルシューティング 最終改訂日: 2016/12/21

(vcom-1133)ポートで見つかるタイプ・ミスマッチ

環境

  • インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション
  • 浮動小数点機能インテル® FPGA IP
  • All

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    詳細

    インテル® Quartus® Prime 開発ソフトウェア・プロ・エディションの問題により、VHDL が選択された IP メガコアを生成した場合、シミュレーション用のコンパイル時に以下のエラーが発生する可能性があります。

    # エラー: ..vhd: (vcom-1133) Type mismatch on port 」。
    # コンポーネント「」では、ポートタイプは「ieee.std_logic_1164.STD_LOGIC」です。
    # エンティティ「下位レベルエンティティ>

     

     

    解決方法

    この問題を回避するには、生成された RTL編集し、トップインスタンスとテストベンチの両方でデータタイプを一致する必要があります。

     

    たとえば、「FP_TEST」と呼ばれるモジュールの場合、次のことが行います。

    < tb>_tb.vhd で以下の変更を行います。

    差出人:

    FP_TEST_tbのアーキテクチャー rtl は
    コンポーネントのFP_TESTは
    ポート (
    a: in std_logic_vector (63 down to 0) := (その他 => 'X');--A
    areset: std_logic:= 'X';            --リセット
    b: std_logic_vector (63 down to 0) : = (その他 => 'X');--B
    clk: std_logic := 'X' で;            --Clk
                                                    opSel: in std_logic := 'X';           -- opSel
    q: アウトstd_logic_vector (63 downto 0) -- q
    );
    エンド・コンポーネント・FP_TEST;
    ...

    fp_test_inst: コンポーネント・FP_TEST
    ポートマップ (
    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
    );

    宛先:

    FP_TEST_tbのアーキテクチャー rtl は
    コンポーネントのFP_TESTは
    ポート (
    a: in std_logic_vector (63 down to 0) := (その他 => 'X');--A
    areset: std_logic:= 'X';            --リセット
    b: std_logic_vector (63 down to 0) : = (その他 => 'X');--B
    clk: std_logic := 'X' で;            --Clk
                                                    opSel: std_logic_vector(0 down to 0) : = (その他 => 'X'); -- opSel
    q: アウトstd_logic_vector (63 downto 0) -- q
    );
    エンド・コンポーネント・FP_TEST;

    fp_test_inst: コンポーネント・FP_TEST
    ポートマップ (
    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
    );

     

    また、モジュール>.vhd


    差出人:

    エンティティ FP_TESTは
    ポート (
    a: in std_logic_vector (63 down to 0) : = (その他 => '0');--Aa
    areset: std_logic := '0'            -- areset.reset
    b: std_logic_vector (63 down to 0) : = (その他 => '0);--Bb
    clk: std_logic := '0' で。            -- clk.clk
                                    opsel: in std_logic := '0';            -- opSel.opSel
    q: アウトstd_logic_vector (63 downto 0) -- q.q
    );
    end entity FP_TEST;

    FP_TESTのアーキテクチャー RTL は
    コンポーネントのFP_TEST_altera_fp_functions_160_xhvb5vaは
    ポート (
    clk: std_logic := 'X' で;            --Clk
    areset: std_logic:= 'X';            --リセット
    a: in std_logic_vector (63 down to 0) := (その他 => 'X');--A
    b: std_logic_vector (63 down to 0) : = (その他 => 'X');--B
    q: アウトstd_logic_vector (63 down to 0);                   --Q
                                                    opSel: in std_logic := 'X' -- opSel
    );
    エンド・コンポーネント・FP_TEST_altera_fp_functions_160_xhvb5va;


    宛先:

    エンティティ FP_TESTは
    ポート (
    a: in std_logic_vector (63 down to 0) : = (その他 => '0');--Aa
    areset: std_logic := '0'            -- areset.reset
    b: std_logic_vector (63 down to 0) : = (その他 => '0);--Bb
    clk: std_logic := '0' で。            -- clk.clk
                              opsel : std_logic_vector (0 down to 0) : = (その他 => '0); -- opSel.opSel
    q: アウトstd_logic_vector (63 downto 0) -- q.q
    );
    end entity FP_TEST;

    FP_TESTのアーキテクチャー RTL は
    コンポーネントのFP_TEST_altera_fp_functions_160_xhvb5vaは
    ポート (
    clk: std_logic := 'X' で;            --Clk
    areset: std_logic:= 'X';            --リセット
    a: in std_logic_vector (63 down to 0) := (その他 => 'X');--A
    b: std_logic_vector (63 down to 0) : = (その他 => 'X');--B
    q: アウトstd_logic_vector (63 down to 0);                   --Q
                                                    opSel: std_logic_vector(0 downto 0) := (その他 => 'X') -- opSel
    );
    エンド・コンポーネント・FP_TEST_altera_fp_functions_160_xhvb5va;

     

    これは、インテル® Quartus® Prime 開発ソフトウェアの今後のリリースで修正される予定です。

    関連製品

    本記事の適用対象: 1 製品

    インテル® Arria® 10 FPGA & SoC FPGA

    このページのコンテンツは、元の英語のコンテンツを人力翻訳および機械翻訳したものが混在しています。この内容は参考情報および一般的な情報を提供するためものであり、情報の正確さと完全性を保証するものではありません。インテルは不正確な翻訳があった場合でもいかなる責任を負いません。このページの英語版と翻訳の間に矛盾がある場合は、英語版に準拠します。 このページの英語版をご覧ください。