Zephyrnet-logo

Debuggen van Versal ACAP Integrated Block voor problemen met PCIe Express-links met behulp van de ingebouwde "PCIe Link Debug"-functie

Datum:

Het Versal™ ACAP Integrated Block voor PCI Express®-aanpassing biedt een optie om PCIe® Link Debug in te schakelen.

Als u deze optie inschakelt, wordt een foutopsporingskern in de IP-kern geplaatst die wordt herkend door de Vivado Hardware Manager en PCIe-specifieke foutopsporingsinformatie en -weergave biedt.

De foutopsporingsweergave biedt informatie met betrekking tot de huidige verbindingssnelheid, huidige verbindingsbreedte en LTSSM-statusovergangen, wat het debuggen van problemen met de PCIe-verbinding kan vergemakkelijken.

Dit is een nieuwe functie die is geïntroduceerd voor Versal-apparaten. Soortgelijke functies zijn beschikbaar voor UltraScale- en UltraScale+-apparaten waarvoor gebruikers extra stappen moeten doorlopen. Deze functies zijn gedocumenteerd in een eerder blogbericht hier.

Voor Versal-apparaten heeft Vivado een ingebouwde debug-cockpit waar het LTSSM-diagram en andere debug-gerelateerde informatie wordt weergegeven binnen het Vivado GUI-framework.

Deze blog is een addendum bij de bijlage "PCIe Link Debug Enablement" in (PG343). De blog biedt gedetailleerde stappen met screenshot voor elk, voor meer duidelijkheid en conceptueel gebruik.

Selecteer het VCK190-bord. Het ontwerp dat in deze blog wordt geïllustreerd, is voor Vivado 2020.2.

Zorg ervoor dat het geselecteerde bordapparaat in Vivado overeenkomt met het apparaat op het bord. Een eerdere versie van het VCK190-bord bevat een ES1-apparaat. 

deepeshm_0-1612450822225.png

Selecteer 'Versal ACAP Integrated Block for PCI Express (1.0)' uit de IP-catalogus. Om de ingebouwde foutopsporingsfunctie te gebruiken, moeten "PCIe-Link Debug" en "Debug AXI4 Stream Interfaces inschakelen" worden geselecteerd zoals hieronder weergegeven.

Linkparameters kunnen worden ingesteld op Gen3x8, zoals hieronder weergegeven. Als u een probleem met linktraining tegenkomt, probeer het dan eerst met een Gen1x1-configuratie.

deepeshm_2-1612450891605.png

Zodra het IP-adres is gegenereerd, ziet u het volgende in het venster 'Bronnen'. 

deepeshm_3-1612450924328.png

Om CIPS MIO 38 als resetbron te gebruiken, stelt u insert_cips in op true voordat u het voorbeeldontwerp opent, zoals vermeld in de schermopname van (PG343) hieronder.

Hiermee wordt de reset van de MIO-pin doorgestuurd naar het Versal ACAP Integrated Block voor PCIe Express IP (PL PCIe).

Zorg ervoor dat u de pin mio_pl_38 ziet in de CIPS die is aangesloten op pcie_phy en PL PCIe. Dit wordt weergegeven in oranje gemarkeerd in het onderstaande schematische diagram.

deepeshm_4-1612450950578.png

deepeshm_0-1612451015453.png Klik met de rechtermuisknop en klik vervolgens op 'IP-voorbeeldontwerp openen' om het voorbeeldontwerp te openen dat bij het IP-adres wordt geleverdKlik met de rechtermuisknop en klik vervolgens op 'IP-voorbeeldontwerp openen' om het voorbeeldontwerp te openen dat bij het IP-adres wordt geleverd

De bovenstaande schermafbeelding toont een optie om een ​​voorbeeldontwerp te genereren dat bij het IP-adres wordt geleverd.
Klik op 'Open IP Voorbeeld Ontwerp'. Dit opent een nieuw Vivado-project met de bestandshiërarchie in het bronnenvenster van het nieuwe project, zoals hieronder weergegeven.

deepeshm_3-1612451296446.png

deepeshm_4-1612451311307.png

deepeshm_5-1612451327849.png

deepeshm_6-1612451344591.png

Zorg ervoor dat de REFCLK- en GT LOC-beperkingen zijn zoals hieronder weergegeven. Deze beperkingen zijn vereist voor een VCK190-bord. Deze beperkingen worden automatisch gegenereerd wanneer u een VCK190-kaart selecteert.

deepeshm_7-1612451367941.png

Als u een VCK190-kaart met een ES1-apparaat gebruikt, moet u een tijdelijke oplossing toepassen.

Stel de overeenkomstige parameters voor PMC MIO 37 in zoals hieronder weergegeven:

deepeshm_8-1612451422257.png

Na de bovenstaande wijziging moet u het IP-adres bijwerken. 

deepeshm_9-1612451438164.png

Controleer na het implementeren van het voorbeeldontwerp of de I/O-poorten en klok zijn toegewezen aan de pinlocaties en de QUAD's die hieronder worden weergegeven.

De hieronder weergegeven pinlocaties zijn vereist voor een VCK190-kaart. 

deepeshm_10-1612451472614.png

Download na het genereren van de apparaatafbeelding de gegenereerde PDI- en LTX-bestanden. Direct na het downloaden van de afbeelding zou u het LTSSM-diagram moeten zien zoals hieronder weergegeven.

Dit is een nieuwe foutopsporingsfunctie die is toegevoegd voor Versal-apparaten. Deze functie wordt momenteel niet ondersteund voor eerdere apparaatfamilies zoals UltraScale en UltraScale+. De vergelijkbare foutopsporingsfunctie die beschikbaar is voor UltraScale- en UltraScale+-apparaten vereist dat u afzonderlijke Tcl-bestanden uitvoert om het LTSSM-diagram te genereren. 

deepeshm_11-1612451493547.png

• Groene kleur - overgangstoestand tijdens het opnamevenster
• Oranje kleur - laatste staat
• Rode pijl - laatste overgangstoestand
• Cijfers naast de pijl - geeft het aantal keren aan dat de overgang tussen de twee staten heeft plaatsgevonden

Er zijn extra foutopsporingsfuncties die u uit de foutopsporingscockpit kunt extraheren. Als u PCIe Debug Core Properties aanvinkt, geeft dit de lane-status en welk quad-nummer PCIe Lane-0 heeft.

deepeshm_12-1612451524095.png

Evenzo kan de GT-status worden gelezen in het overeenkomstige GT-eigenschappenvenster. 

deepeshm_13-1612451557142.png

deepeshm_14-1612451571383.png

In het Tcl-venster kunt u het rapport_hw_pcie commando zoals hieronder getoond.

Dit geeft de algemene PCIe-status weer en biedt ook een lijst met ltssm-statussen en of deze statussen al dan niet zijn bezocht tijdens het linktrainingsproces.

deepeshm_15-1612451610787.png

Er zijn een paar opties die u kunt toepassen met de opdracht report_hw_pcie. U kunt de details in de help vinden, zoals hieronder weergegeven:

deepeshm_16-1612451637591.png

De andere beschikbare opdrachten voor PCIe zijn als volgt:

  • get_hw_pcies
  • reset_hw_pcie
  • ververs_hw_pcie

Als u de LTSSM-status selecteert in het PCIe Debugger-venster, wordt de bijbehorende ltssm-bitdecodering weergegeven in het PCIe State Properties-venster.

deepeshm_19-1612451706006.png

De volledige lijst met ltssm-bitdecodering is te vinden in de productgids of u kunt de lijst bekijken wanneer u de opdracht report_hw_pcie uitvoert, zoals hieronder weergegeven.

deepeshm_20-1612451717396.png

U kunt eenvoudig een oogdiagram genereren in de debug-cockpit. U moet eerst koppelingen maken. Alle stappen worden hieronder weergegeven en spreken voor zich.

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

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

spot_img

Laatste intelligentie

spot_img

Chat met ons

Hallo daar! Hoe kan ik u helpen?