Artikel-ID: 000090809 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 21.06.2022

So konfigurieren Sie die FPGA-zu-SDRAM-Schnittstelle, wenn ECC in Intel® Stratix® 10-SX-Geräten eingeschaltet ist?

Umgebung

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Wenn der Fehlerkorrekturcode (ECC) im HPS External Memory Interface (EMIF) in Intel® Stratix® 10 SX Gerät eingeschaltet ist, generiert die Speicheradresse ECC-Daten für F2H und F2SDRAM0/1/2 Schnittstellen. FPGA-to-HPS-Master müssen auch bei Verwendung von F2SDRAM0/1/2-Schnittstellen die gleiche Speicheradresse mit MPU verwenden. Andernfalls könnte ein ECC-Fehler ausgelöst werden. Diese Einschränkung gilt nicht, wenn ECC ausgeschaltet wird.

Lösung

Wenn der FPGA-zu-HPS-Master und MPU-Master Zugriff auf den Speicherplatz unter 2 GB erhalten, wird die Speicheradresse von 0x0000 0000 bis 0x7FFF FFFF verwendet.

Wenn der FPGA-to-HPS-Master und der MPU-Master Zugriff auf den Speicherplatz erhalten, der größer als 2 GB ist, verwendet die MPU die in der DTS-Datei definierte Alias-Adresse, um auf diese Speicheradressen zuzugreifen. Der FPGA-to-HPS-Master muss die gleiche Alias-Adresse anstelle der physischen Adresse für alle F2SDRAM0/1/2-Schnittstellen verwenden.

Hier ist das Beispiel für 4 GB HPS EMIF in einem Intel® Stratix® 10 SX-Gerät:

In DTS wird der Speicher in zwei Regionen definiert, wie unten gezeigt. Dann müssen FPGA-to-HPS Master und MPU die Adresse von 0x1080000000 zu 0x10FFFFFFFF verwenden, um auf den 2 GB ~ 4 GB Speicher zuzugreifen.

Speicher {

reg = <0 0x00000000 0 0x80000000>,

<0x10 0x80000000 0 0x80000000>;

};

Um den Zugriff auf den vollen 4-GB-Speicherplatz mit der oben angegebenen Alias-Adresse zu ermöglichen, sollten auch die folgenden F2SDRAM-Firewall-Register entsprechend eingestellt werden:

#Example, F2SDRAM0 region0 config, kann yconfig sie in der U-Boot-Quelle konfigurieren, d. h. uboot-socfpga\arch\arm\mach-socfpga\spl_s10.c

Writel(0x1000000, 0xF8020210); region0addr_base
writel(0x0, 0xF8020214); region0addr_baseext
writel(0xFFFFFFFF, 0xF8020218); region0addr_limit (geringere 32 Bit)
writel(0x10, 0xF802021C); region0addr_limitext (obere 32 Bit)
writel(0x1, 0xF8020204); enable_set für Regionen

 

 

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

Intel® Stratix® 10 FPGAs und SoC FPGAs

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 eine Diskrepanz zwischen der englischsprachigen Version dieser Seite und der Übersetzung auftreten, gilt die englische Version. Englische Version dieser Seite anzeigen.