Artikel-ID: 000080843 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 05.05.2021

Warum ist der Intel® Arria® 10 und Intel® Cyclone® 10 Avalon® -ST Interface für PCI Express* Transaction Layer Configuration Space Access nicht stabil?

Umgebung

    Intel® Quartus® Prime Pro Edition
    Intel® Quartus® Prime Standard Edition
    Intel® Arria® 10 Cyclone® 10 Hard IP für PCI Express*
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Aufgrund des falschen Referenzcodes von UG-01145_avst 2017.05.15 - 6.12.1 für Configuration Space Register Access Timing ist der Intel® Arria® 10 und Intel® Cyclone® 10 PCIe* Transaction Layer Configuration Space Nicht stabil. Dies liegt daran, dass die tl_cfg_* Schnittstelle durch Multi-Zyklus-Beschränkungen abgedeckt ist, der Code jedoch nicht mit diesem übereinstimmt.

Der Code lautet wie folgt:

immer @(posedge coreclkout_hip)

Beginnen

Adressänderungen erkennen

cfg_addr_reg[3:0] <= tl_cfg_add[3:0];

cfgctl_addr_change <= cfg_addr_reg[3:0] != tl_cfg_add[3:0];

...

Ende

Lösung

Um dieses Problem zu umgehen, aktualisieren Sie den Referenzcode als UG-01145_avst | 2019.05.22 - 5.12.1 für den Zugriff auf das Konfigurationsraumregister.

Eine weitere Pipeline wird hinzugefügt, um Multi-Zyklus-Timing-Risiko zu vermeiden.

Der Code lautet wie folgt:

immer @(posedge coreclkout_hip)

Beginnen

tl_cfg_add_reg <= tl_cfg_add[0];

tl_cfg_add_reg2 <= tl_cfg_add_reg;

Ende

erkennen Sie die Adressänderung, um eine Datei zu generieren, um die Input32-Bit-Daten zu abtasten

immer @(posedge coreclkout_hip)

Beginnen

cfgctl_addr_change < = tl_cfg_add_reg2 != tl_cfg_add_reg;

cfgctl_addr_change2 < = cfgctl_addr_change;

cfgctl_addr_strobe <= cfgctl_addr_change2;

Ende

Zugehörige Produkte

Dieser Artikel bezieht sich auf 2 Produkte

เอฟพีจีเอ Intel® Cyclone® 10 GX
Intel® Arria® 10 FPGAs und SoC FPGAs

1

Der Inhalt dieser Seite ist eine Kombination aus menschlicher und computerbasierter Übersetzung des originalen, englischsprachigen Inhalts. Dieser Inhalt wird zum besseren Verständnis und nur zur allgemeinen Information bereitgestellt und sollte nicht als vollständig oder fehlerfrei betrachtet werden. Sollte es Widersprüche zwischen der englischsprachigen Version dieser Seite und der Übersetzung geben, gilt die englische Version. Englische Version dieser Seite anzeigen.