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
    FPGA Intel® IP pour fonctions de virgule flottante

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

FPGA et FPGA SoC Intel® Arria® 10

1

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.