ID do artigo: 000080660 Tipo de conteúdo: Solução de problemas Última revisão: 07/10/2016

Por que o design de demonstração de demonstração de hardware do núcleo Ip DisplayPort não exibe uma imagem quando o dissipador do núcleo Ip DisplayPort está conectado a uma GPU Intel®?

Ambiente

  • Intel® Quartus® Prime Pro Edition
  • Processador Intel® Nios® II
  • DisplayPort* Intel® FPGA IP
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Descrição

    Devido a um problema com o design de demonstração de demonstração do núcleo de hardware DisplayPort IP (versão 16.0 e anterior), uma imagem pode não ser vista quando o dissipador de núcleos IP DisplayPort está conectado a uma GPU Intel®. Embora os valores de MSA RX e TX podem parecer corretos, nenhuma imagem será exibida no monitor. Isso ocorre devido a uma incompatibilidade entre os modos de clocking usados pela GPU Intel e a fonte do núcleo Ip DisplayPort. As GPUs Intel usam clock síncrono, enquanto a fonte do núcleo Ip DisplayPort usa clocking assíncrono. Isso causa dois problemas com o design de exemplo de demonstração de hardware.

    Primeiro, o design de exemplo de demonstração de hardware usa um valor NVID fixo para o módulo de recuperação de pixel clock (PCR). Esta configuração destina-se a GPUs que usam clocking assíncrono e não funcionarão com uma GPU Intel.

    Em segundo lugar, devido aos seus modos de clock, a GPU Intel define bit 0 do registro MSA MISC0 RX para 1, enquanto a fonte do núcleo IP DisplayPort define bit 0 do registro TX MSA MISC0 para 0. Embora a especificação desses bits seja diferente, o software Nios® II (especificamente o código EDID pass through) espera que o RX MSA MISC0 seja exatamente compatível com o TX MSA MISC0, e desabilita a fonte do núcleo DisplayPort IP se houver uma incompatibilidade.

    Resolução

    Primeiro, modifique o arquivo Verilog de alto nível para desabilitar usando um valor NVID fixo para o módulo PCR. No diretório principal do projeto, modifique o arquivo a10_dp_demo.v para alterar uma linha,

    De:

    defparam bitec_clkrec_i.FIXED_NVID = 1;

    Para:

    defparam bitec_clkrec_i.FIXED_NVID = 0;

    Em segundo lugar, modifique o software Nios II para ignorar o bit 0 ao comparar os registros MSA MISC0 RX e TX MSA MISC0. No diretório principal do projeto, modifique o arquivo main.c para alterar duas linhas,

    De:

    rx_misc0 = IORD(btc_dprx_baseaddr(0), DPRX0_REG_MSA_MISC0) e 0xFFFF;

    tx_misc0 = IORD(btc_dptx_baseaddr(), DPTX0_REG_MSA_MISC0) e 0xFFFF;

    Para:

    rx_misc0 = IORD(btc_dprx_baseaddr(0), DPRX0_REG_MSA_MISC0) e 0xFFFE;

    tx_misc0 = IORD(btc_dptx_baseaddr(), DPTX0_REG_MSA_MISC0) e 0xFFFE;

    Após fazer essas modificações, execute o script build_sw.sh para reconstruir o projeto de software e, em seguida, recompile o projeto no software Quartus® Prime. Alternadamente, você pode executar o script runall.tcl, que executará ambas essas etapas para você.

    Ambos esses problemas foram corrigidos no design de demonstração de demonstração de hardware do software Quartus Prime v16.1 DisplayPort.

    Produtos relacionados

    Este artigo aplica-se a 4 produtos

    FPGAs Intel® Arria® 10 e FPGAs SoC
    FPGAs Arria® V e FPGAs SoC
    FPGAs Cyclone® V e FPGAs SoC
    FPGAs Stratix® V

    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.