O Hard IP Altera® Avalon®-MM para PCI Express® gerado usando a versão 14.0 do Quartus® II e anteriores mostrará uma taxa de transferência menor quando a configuração via protocolo (CvP) estiver habilitada. O problema ocorre porque os contadores de crédito no PCIe Hard IP e na ponte Avalon-MM não são sincronizados.
Para CvP, a periferia PCIe é carregada antes que a malha seja programada. Depois que a periferia for programada, a FPGA transmite e recebe pacotes PCIe. Essa interação incrementa o contador de crédito no Hard IP do PCIe. Pouco depois, a malha é carregada com os valores padrão do contador de crédito, causando uma incompatibilidade entre os dois contadores.
Este problema está programado para ser corrigido em uma versão futura do software Quartus® II.
Para contornar esse problema na versão Quartus® II 14.0 e anterior, faça a seguinte mudança em RTL.
No arquivo altpciexpav_stif_tx_cntrl.v, altere a seguinte linha de:
np_header_avail_reg <= np_header_avail;
Para:
np_header_avail_reg <= 1'b1;