Há um problema ao usar o Stratix® V ou Arria V GZ Hard IP para o núcleo PCI Express® IP, onde o link não surge de forma consistente. Este problema é visto quando o núcleo é configurado como um núcleo nativo da 2ª Geração. Este problema está associado ao controlador pcIe® hard reset (HRC).
A afirmação de PERST ou redefinição local não ajuda a trazer o link para cima. Reprogramar o FPGA pode permitir que o link seja criado, mas isso também é inconsistente.
Para resolver este problema no software Quartus II versão 12.1 SP1, use o procedimento a seguir para alterar para o Controlador soft reset (SRC):
Para o fluxo MegaWizard™:
1) Editar o arquivo />variante>/síntese/.v
2) Pesquise a string, "hip_hard_reset_hwtcl"
3) Ajuste o parâmetro hip_hard_reset_hwtcl = 0
4) Salve a variante.v
5) Vá para a etapa 7
Para o fluxo de Qsys:
1) Usando um editor de texto, edite o arquivo .qsys
2) Pesquise a string "force_src"
3) Certifique-se de que os seguintes parâmetros estejam definidos conforme mostrado abaixo:
< nome do parametro="force_hrc" valor="0" />
4) Salve as alterações no arquivo .qsys
5) Regenerar o sistema Qsys para aplicar as alterações feitas nos arquivos de projeto subjacentes
6) Vá para a etapa 7
Etapas comuns:
7) Abra o //submodules/sv_xcvr_pipe_native.sv
8) Pesquise por "cal_offset_mode"
9) Se as seguintes linhas corresponderem às do seu arquivo sv_xcvr_pipe_native.sv, faça as alterações conforme mostrado na Etapa 10, caso contrário, continue até a Etapa 11
.cal_offset_mode ((protocol_version == "Geração 2") ? "MODE_ACCUMULATION_MIDSWEEP": "MODE_INDEPENDENT"),
.cal_oneshot((protocol_version == "Geração 2") ? "ONESHOT_ON": "ONESHOT_OFF"),
.rx_dprio_sel((protocol_version == "Geração 2") ? "RX_CALIBRATION_SEL": "RX_DPRIO_SEL"),
10)
.cal_offset_mode ("MODE_INDEPENDENT"),
.cal_oneshot ("ONESHOT_OFF"),
.rx_dprio_sel ("RX_DPRIO_SEL"),
11) Design de recompil
12) Pesquise o arquivo de relatório do mapa (eg.top.map.rpt) para obter hip_hard_reset_hwtcl e certifique-se de que o valor está definido como 0
Observe que fazer alterações no sistema Qsys ou núcleo PCIe e regenerar pode desfazer algumas ou todas as alterações.
Este problema foi corrigido em v13.1 do software Quartus II.