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".
Um dieses Problem in der Quartus II Software version 15.0 und früher zu beheben, führen Sie die folgenden Schritte durch:
- 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
);
- Kompilieren Sie Ihr Design erneut in der Quartus II Software.
- 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
- 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:
- 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.