ID de l'article: 000080821 Type de contenu: Dépannage Dernière révision: 21/12/2016

(vcom-1133) Type de décalage trouvé sur le port

Environnement

  • Intel® Quartus® Prime Pro Edition
  • Floating Point Functions Intel® FPGA IP
  • All

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descriptif

    En raison d’un problème dans le logiciel Intel® Quartus® Prime Pro Edition, si vous générez un mégacore IP avec VHDL sélectionné, vous pouvez rencontrer ces erreurs lors de la compilation pour la simulation :

    # ** Erreur : ..vhd< votre numéro de ligne> : (vcom-1133) Type de décalage trouvé sur le port < votre port> ».
    # Dans le composant « », le type de port est « ieee.std_logic_1164.STD_LOGIC ».
    # Dans l’entité « < votre entité de niveau inférieur> », le type de port est « ieee.std_logic_1164.STD_LOGIC_VECTOR ».

     

     

    Résolution

    Pour contourner ce problème, vous devez modifier le RTL généré et correspondre aux types de données dans l’instance supérieure et le testbench.

     

    Par exemple, pour un module appelé « FP_TEST », vous procédez comme suit :

    Apporter les modifications suivantes à _tb.vhd

    De:

    architecture rtl de FP_TEST_tb est
    FP_TEST composants est
    port (
    a : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --Un
    areset : in std_logic := « X » ;             --Réinitialiser
    b : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --B
    lk : dans std_logic := « X » ;             --Clk
                                                    opSel : en std_logic : = « X » ;            -- opSel
    q : hors std_logic_vector (63 downto 0) -- q
    );
    FP_TEST des composants finux ;
    ...

    fp_test_inst : FP_TEST composant
    carte de port (
    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
    );

    À:

    architecture rtl de FP_TEST_tb est
    FP_TEST composants est
    port (
    a : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --Un
    areset : in std_logic := « X » ;             --Réinitialiser
    b : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --B
    lk : dans std_logic := « X » ;             --Clk
                                                    opSel : en std_logic_vector (0 downto 0) := (autres => « X ») ; -- opSel
    q : hors std_logic_vector (63 downto 0) -- q
    );
    FP_TEST des composants finux ;

    fp_test_inst : FP_TEST composant
    carte de port (
    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
    );

     

    Et effectuez les modifications suivantes dans < votre module>.vhd


    De:

    entité FP_TEST est
    port (
    a : dans std_logic_vector (63 downto 0) : = (autres = > « 0 » ; --Aa
    areset : in std_logic := « 0 » ;             -- areset.reset
    b : dans std_logic_vector (63 downto 0) := (autres => '0') ; --B.b
    lk : en std_logic : = « 0 » ;             - clk.clk
                                    opSel : en std_logic : = « 0 » ;             -- opSel.opSel
    q : out std_logic_vector(63 downto 0) -- q.q
    );
    FP_TEST d’entité finale ;

    architecture rtl de FP_TEST est
    FP_TEST_altera_fp_functions_160_xhvb5va composant est
    port (
    lk : dans std_logic := « X » ;             --Clk
    areset : in std_logic := « X » ;             --Réinitialiser
    a : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --Un
    b : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --B
    q : std_logic_vector (63 downto 0) ;                    --Q
                                                    opSel : en std_logic := « X » - opSel
    );
    FP_TEST_altera_fp_functions_160_xhvb5va des composants finux ;


    À:

    entité FP_TEST est
    port (
    a : dans std_logic_vector (63 downto 0) : = (autres = > « 0 » ; --Aa
    areset : in std_logic := « 0 » ;             -- areset.reset
    b : dans std_logic_vector (63 downto 0) := (autres => '0') ; --B.b
    lk : en std_logic : = « 0 » ;             - clk.clk
                              opSel : en std_logic_vector (0 downto 0) := (autres = > « 0 ») ; -- opSel.opSel
    q : out std_logic_vector(63 downto 0) -- q.q
    );
    FP_TEST d’entité finale ;

    architecture rtl de FP_TEST est
    FP_TEST_altera_fp_functions_160_xhvb5va composant est
    port (
    lk : dans std_logic := « X » ;             --Clk
    areset : in std_logic := « X » ;             --Réinitialiser
    a : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --Un
    b : dans std_logic_vector (63 downto 0) := (autres = > « X ») ; --B
    q : std_logic_vector (63 downto 0) ;                    --Q
                                                    opSel : in std_logic_vector(0 downto 0) := (autres => « X ») -- opSel
    );
    FP_TEST_altera_fp_functions_160_xhvb5va des composants finux ;

     

    Cette date devrait être corrigée dans une prochaine version du logiciel Intel® Quartus® Prime.

    Produits associés

    Cet article concerne 1 produits

    Intel® Arria® 10 FPGAs and SoC FPGAs

    Le contenu de cette page est une combinaison de traduction humaine et informatique du contenu original en anglais. Ce contenu vous est fourni pour votre commodité et à titre informatif seulement et ne saurait être totalement exact ou complet. En cas de contradiction entre la version anglaise de cette page et la traduction, c'est la version anglaise qui prévaut. Afficher la version anglaise de cette page.