Artikel-ID: 000085927 Inhaltstyp: Fehlerbehebung Letzte Überprüfung: 15.12.2015

Warum funktioniert die Fließkomma-Quadratwurzel-Nios® II benutzerdefinierte Anweisung für bestimmte Konfigurationen in Intel® MAX® 10 FPGAs nicht?

Umgebung

    Intel® Quartus® II Anmeldungs-Edition
    Fließkomma
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Beschreibung

Aufgrund der Anforderung einer vorbefüllten Look-up-ROM-/RAM-Tabelle in allen Versionen der Floating-Point Hardware 2-Komponente schlägt die Nios® II benutzerdefinierte Anweisung für Fließkomma-Quadratwurzel in Intel® MAX® 10 FPGA-Designs unter Verwendung von RAM-Konfigurationsmodi vor der Initialisierung fehl, die "Dual Compressed Image", "Single Compressed Image" und "Single Uncompressed Image" umfassen.

In diesen Modi ist der Flash-Speicher nicht groß genug, um die Vorinitialisierung des RAM zu unterstützen, sodass die sqrt-Anweisung fehlschlägt. Die Quartus® II Software Version 15.1 und früher kann einen Kompilierungsfehler verursachen, wenn FPCI2 instanziiert wird und die Speicherinitialisierung aufgrund des für Intel MAX 10 FPGA oder anderen Gründen eingestellten Konfigurationsmodus deaktiviert ist.

Fehler (16031): Der aktuelle interne Konfigurationsmodus unterstützt die Speicherinitialisierung oder das ROM nicht. Wählen Sie "Interner Konfigurationsmodus mit ERAM".

Lösung

Um dieses Problem in der Quartus II Software version 15.0 und früher zu beheben, führen Sie die folgenden Schritte durch:

  1. Gehen Sie zu fpoint2_multi_datapath.vhd und kommentieren Sie die FPSqrt-Instanziierung in den Zeilen 168 bis 174.

sqrt: FPSqrt Port Map (
x => Dataa,
r => fsqrts,
clk => clk,
reset_req => reset_req,
areset = > Zurücksetzen
);

  1. Kompilieren Sie Ihr Design erneut in der Quartus II Software.
  2. Gehen Sie zu altera_nios_custom_instr_floating_point_2.c im HAL Ordner Ihres bsp. Fügen Sie kurz danach "#undef sqrtf" hinzu, wo "altera_nios_custom_instr_floating_point_2.h" im C-Code enthalten ist, um die Verwendung der benutzerdefinierten Sqrtf-Anweisung durch die Software zu deaktivieren.

Code:

#include "altera_nios_custom_instr_floating_point_2.h"
#undef Sqrtf

  1. Erstellen Sie alle Anwendungssoftware und Bibliotheken neu, wobei diese Änderungen vorhanden sind.

Um dieses Problem in der Quartus II Software Version 15.0 und neuer zu beheben, folgen Sie diesem Schritt:

  1. Verwenden Sie das Kontrollkästchen, um die sqrt benutzerdefinierte Anweisung aus FPH2 in der Platform Designer GUI zu entfernen.

Dieses Problem wurde in der Quartus II Software v16.0 behoben.

Zugehörige Produkte

Dieser Artikel bezieht sich auf 1 Produkte

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