Zephyrnet Logo

Depuração de bloco integrado ACAP Versal para problemas de link PCIe Express usando o recurso integrado “Depuração de link PCIe”

Data:

O Versal ™ ACAP Integrated Block para personalização de PCI Express® oferece uma opção para habilitar PCIe® Link Debug.

Ativar esta opção irá inserir um núcleo de depuração dentro do núcleo IP que será reconhecido pelo Vivado Hardware Manager e fornecerá informações de depuração específicas do PCIe e visualização.

A visualização de depuração fornece informações relacionadas à velocidade do link atual, largura do link atual e transições de estado LTSSM, o que pode facilitar a depuração de problemas relacionados ao link PCIe.

Este é um novo recurso introduzido para dispositivos Versal. Recursos semelhantes estão disponíveis para dispositivos UltraScale e UltraScale + que requerem que os usuários realizem etapas adicionais. Esses recursos estão documentados em uma entrada de blog anterior Aqui.

Para dispositivos Versal, Vivado tem um cockpit de depuração embutido onde o diagrama LTSSM e outras informações relacionadas à depuração são exibidos dentro da estrutura da GUI Vivado.

Este blog é um adendo ao Apêndice "PCIe Link Debug Enablement" fornecido em (PG343). O blog fornece etapas detalhadas com captura de tela para cada um, para melhor clareza e uso conceitual.

Selecione a placa VCK190. O design ilustrado neste blog é para Vivado 2020.2.

Certifique-se de que o dispositivo da placa selecionado no Vivado combina com o dispositivo da placa. Uma versão anterior da placa VCK190 contém um dispositivo ES1. 

deepeshm_0-1612450822225.png

Selecione 'Bloco Integrado Versal ACAP para PCI Express (1.0) ”no Catálogo de IP. Para usar o recurso de depuração embutido, “PCIe-Link Debug” e “Habilitar Debug AXI4 Stream Interfaces” devem ser selecionados conforme mostrado abaixo.

Os parâmetros do link podem ser definidos para Gen3x8 conforme mostrado abaixo. Se você estiver enfrentando um problema de treinamento de link, tente primeiro uma configuração Gen1x1.

deepeshm_2-1612450891605.png

Assim que o IP for gerado, você verá o seguinte na janela 'Fontes'. 

deepeshm_3-1612450924328.png

Para usar CIPS MIO 38 como uma fonte de redefinição, defina insert_cips como true antes de abrir o design de exemplo conforme mencionado na captura de tela de (PG343) abaixo.

Isso encaminhará o reset do pino MIO para o Bloco Integrado Versal ACAP para PCIe Express IP (PL PCIe).

Certifique-se de ver o pino mio_pl_38 no CIPS conectado a pcie_phy e PL PCIe. Isso é mostrado destacado em laranja no diagrama esquemático mostrado abaixo.

deepeshm_4-1612450950578.png

deepeshm_0-1612451015453.png Clique com o botão direito e clique em 'Open IP Example Design' para abrir o exemplo de design que vem com o IPClique com o botão direito e clique em 'Open IP Example Design' para abrir o exemplo de design que vem com o IP

A captura de tela acima mostra uma opção para gerar um design de exemplo que vem com o IP.
Clique em 'Open IP Example Design'. Isso abrirá um novo projeto Vivado com a hierarquia de arquivos na janela de código-fonte do novo projeto, conforme mostrado abaixo.

deepeshm_3-1612451296446.png

deepeshm_4-1612451311307.png

deepeshm_5-1612451327849.png

deepeshm_6-1612451344591.png

Certifique-se de que as restrições REFCLK e GT LOC são as mostradas abaixo. Essas restrições são necessárias para uma placa VCK190. Essas restrições são geradas automaticamente quando você seleciona uma placa VCK190.

deepeshm_7-1612451367941.png

Se você estiver usando uma placa VCK190 com um dispositivo ES1, será necessário aplicar uma solução alternativa.

Defina os parâmetros correspondentes para PMC MIO 37 conforme mostrado abaixo:

deepeshm_8-1612451422257.png

Após a alteração acima, você precisará atualizar o IP. 

deepeshm_9-1612451438164.png

Depois de implementar o design de exemplo, verifique se as portas de E / S e o relógio estão mapeados para os locais dos pinos e os QUADs mostrados abaixo.

Os locais dos pinos mostrados abaixo são necessários para uma placa VCK190. 

deepeshm_10-1612451472614.png

Depois de gerar a imagem do dispositivo, baixe os arquivos PDI e LTX gerados. Logo depois de baixar a imagem, você deve ver o diagrama LTSSM conforme mostrado abaixo.

Este é um novo recurso de depuração adicionado para dispositivos Versal. Atualmente, esse recurso não é compatível com famílias de dispositivos anteriores, como UltraScale e UltraScale +. O recurso de depuração semelhante disponível para dispositivos UltraScale e UltraScale + requer que você execute arquivos Tcl separados para gerar o diagrama LTSSM. 

deepeshm_11-1612451493547.png

• Cor verde - estado de transição durante a janela de captura
• Cor laranja - último estado
• Seta vermelha - último estado de transição
• Números ao lado da seta - indica o número de vezes que a transição aconteceu entre os dois estados

Existem recursos de depuração adicionais que você pode extrair do cockpit de depuração. Se você verificar PCIe Debug Core Properties, ele fornece o status da pista e qual número quádruplo tem PCIe Lane-0.

deepeshm_12-1612451524095.png

Da mesma forma, o status do GT pode ser lido na janela de propriedades do GT correspondente. 

deepeshm_13-1612451557142.png

deepeshm_14-1612451571383.png

Na janela Tcl, você pode executar o report_hw_pcie comando como mostrado abaixo.

Isso produzirá o status geral do PCIe e também fornecerá uma lista de estados ltssm e se esses estados foram visitados ou não durante o processo de treinamento do link.

deepeshm_15-1612451610787.png

Existem algumas opções que você pode aplicar com o comando report_hw_pcie. Você pode encontrar os detalhes na ajuda conforme mostrado abaixo:

deepeshm_16-1612451637591.png

Os outros comandos disponíveis para PCIe são os seguintes:

  • get_hw_pcies
  • reset_hw_pcie
  • atualização_hw_pcie

Se você selecionar o estado LTSSM na janela do depurador PCIe, a decodificação do bit ltssm correspondente será exibida na janela Propriedades do estado PCIe.

deepeshm_19-1612451706006.png

A lista completa de decodificação de bits ltssm pode ser encontrada no guia do produto ou você pode ver a lista ao executar o comando report_hw_pcie conforme mostrado abaixo.

deepeshm_20-1612451717396.png

Você pode facilmente gerar um diagrama de olho no cockpit de depuração. Você precisará primeiro criar links. Todas as etapas são mostradas abaixo e são autoexplicativas.

deepeshm_21-1612451742641.png

deepeshm_22-1612451765147.png

deepeshm_23-1612451781464.png

deepeshm_24-1612451805871.png

deepeshm_25-1612451817118.png

deepeshm_26-1612451827742.png

deepeshm_27-1612451838990.png

Fonte: https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Debugging-Versal-ACAP-Integrated-Block-for-PCIe-Express-link/ba-p/1203707

local_img

Inteligência mais recente

local_img