ID do artigo: 000080821 Tipo de conteúdo: Solução de problemas Última revisão: 21/12/2016

(vcom-1133) Digite a incompatibilidade encontrada na porta

Ambiente

  • Intel® Quartus® Prime Pro Edition
  • Funções de ponto flutuante Intel® FPGA IP
  • All

    BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descrição

    Devido a um problema no software Intel® Quartus® Prime Pro Edition, se você gerar um megacore IP com VHDL selecionado, você poderá encontrar esses erros ao compilar para simulação:

    Erro ** : .< seu módulo>.vhd< seu número de linha>: (vcom-1133) Erro de tipo encontrado na porta < sua porta>".
    # No componente "< seu componente>", o tipo de porta é "ieee.std_logic_1164.STD_LOGIC".
    # Na entidade "< sua entidade de nível inferior>", o tipo de porta é "ieee.std_logic_1164.STD_LOGIC_VECTOR"

     

     

    Resolução

    Para resolver este problema, você deve editar o RTL gerado e corresponder aos tipos de dados na instância superior e na camada de teste.

     

    Por exemplo, para um módulo chamado "FP_TEST", você faria o seguinte:

    Faça as seguintes alterações em < sua tb>_tb.vhd

    De:

    rtl arquitetura de FP_TEST_tb é
    componente FP_TEST é
    porta (
    a: em std_logic_vector(63 downto 0) := (outros => 'X'); --Um
    areset : em std_logic := 'X';             --Redefinir
    b: em std_logic_vector(63 downto 0) := (outros => 'X'); --B
    clk: em std_logic := 'X';             --Clk
                                                    opSel: em std_logic := 'X';            -- opSel
    q: out std_logic_vector(63 downto 0) -- q
    );
    componentes FP_TEST;
    ...

    fp_test_inst: componente FP_TEST
    mapa de porta (
    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
    );

    Para:

    rtl arquitetura de FP_TEST_tb é
    componente FP_TEST é
    porta (
    a: em std_logic_vector(63 downto 0) := (outros => 'X'); --Um
    areset : em std_logic := 'X';             --Redefinir
    b: em std_logic_vector(63 downto 0) := (outros => 'X'); --B
    clk: em std_logic := 'X';             --Clk
                                                    opSel: em std_logic_vector(0 downto 0) := (outros => 'X'); -- opSel
    q: out std_logic_vector(63 downto 0) -- q
    );
    componentes FP_TEST;

    fp_test_inst: componente FP_TEST
    mapa de porta (
    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
    );

     

    E faça as seguintes alterações no < seu módulo>.vhd


    De:

    entidade FP_TEST é
    porta (
    a: em std_logic_vector(63 downto 0) := (outros => '0'); --A.a
    areset: em std_logic := '0';             -- areset.reset
    b: em std_logic_vector(63 downto 0) := (outros => '0'); --B.b
    clk: em std_logic := '0';             - clk.clk
                                    opSel: em std_logic := '0';             -- opSel.opSel
    q: out std_logic_vector(63 downto 0) - q.q
    );
    entidade final FP_TEST;

    rtl arquitetura de FP_TEST é
    componente FP_TEST_altera_fp_functions_160_xhvb5va é
    porta (
    clk: em std_logic := 'X';             --Clk
    areset : em std_logic := 'X';             --Redefinir
    a: em std_logic_vector(63 downto 0) := (outros => 'X'); --Um
    b: em std_logic_vector(63 downto 0) := (outros => 'X'); --B
    q: fora std_logic_vector (63 downto 0);                    --Q
                                                    opSel : em std_logic := 'X' - opSel
    );
    componentes FP_TEST_altera_fp_functions_160_xhvb5va;


    Para:

    entidade FP_TEST é
    porta (
    a: em std_logic_vector(63 downto 0) := (outros => '0'); --A.a
    areset: em std_logic := '0';             -- areset.reset
    b: em std_logic_vector(63 downto 0) := (outros => '0'); --B.b
    clk: em std_logic := '0';             - clk.clk
                              opSel: em std_logic_vector(0 downto 0) := (outros => '0'); -- opSel.opSel
    q: out std_logic_vector(63 downto 0) - q.q
    );
    entidade final FP_TEST;

    rtl arquitetura de FP_TEST é
    componente FP_TEST_altera_fp_functions_160_xhvb5va é
    porta (
    clk: em std_logic := 'X';             --Clk
    areset : em std_logic := 'X';             --Redefinir
    a: em std_logic_vector(63 downto 0) := (outros => 'X'); --Um
    b: em std_logic_vector(63 downto 0) := (outros => 'X'); --B
    q: fora std_logic_vector (63 downto 0);                    --Q
                                                    opSel: em std_logic_vector(0 downto 0) := (outros => 'X') - opSel
    );
    componentes FP_TEST_altera_fp_functions_160_xhvb5va;

     

    Isso está programado para ser corrigido em uma versão futura do software Intel® Quartus® Prime.

    Produtos relacionados

    Este artigo aplica-se a 1 produtos

    FPGAs Intel® Arria® 10 e FPGAs SoC

    O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês prevalecerá e será a determinante. Exibir a versão em inglês desta página.