ID do artigo: 000080836 Tipo de conteúdo: Solução de problemas Última revisão: 05/05/2021

Por que o Intel® Stratix® PCI Express* 10 Avalon® MM hard IP com o exemplo de controlador de descritor externo é travado quando mais de 8 descritores estão programados?

Ambiente

  • Intel® Quartus® Prime Pro Edition
  • Intel® Stratix® 10 Hard IP para PCI Express* Avalon-MM
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descrição

    Devido ao mapeamento incorreto de endereço da lógica do roteador gerada pela ferramenta designer de plataformas Intel® Quartus® Prime Pro, o hard IP pcIe* Avalon®-MM Avalon® 10 de Intel® Stratix®-MM com o design de exemplo de controlador de descritor externo será travado quando mais de 8 descritores são programados.

    Resolução

    Para resolver este problema, corrija manualmente os arquivos RTL gerados pela ferramenta Intel® Quartus® Prime Pro Platform Designer:

    1. Pesquise *altera_merlin_router*.sv no espaço de trabalho do projeto e encontre os arquivos mostrados abaixo:

    .. /altera_merlin_router_xxx/sim/altera_merlin_router_xxx (fluxo de simulação)

    .. /altera_merlin_router_xxx/syn/altera_merlin_router_xxx (fluxo de implementação)

    2. Abra cada arquivo para confirmar se as seguintes linhas existem, em seguida, modifique-as de acordo:

    As linhas originais devem ser:

     //-------------------------------------------------------

    Descubra o número de bits para mascarar para cada extensão de escravo

    durante a decodificação de endereços

    //-------------------------------------------------------

    localparam PAD0 = log2ceil(64'h2000 - 64'h0);

    localparam PAD1 = log2ceil(64'h1000100 - 64'h1000000);

    localparam PAD2 =log2ceil(64'h1002100 - 64'h1002000);

    Mude para:       

            //-------------------------------------------------------

    Descubra o número de bits para mascarar para cada extensão de escravo

    durante a decodificação de endereços

    //-------------------------------------------------------

    localparam PAD0 = log2ceil(64'h2000 - 64'h0);

    localparam PAD1 = log2ceil(64'h1001000 - 64'h100000);

    localparam PAD2 = log2ceil(64'h1003000 - 64'h1002000);

    3. Execute novamente o fluxo de simulação ou compilação .

    Produtos relacionados

    Este artigo aplica-se a 1 produtos

    FPGAs Intel® Stratix® 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.