Debido a los requisitos de una tabla de ROM/RAM rellenada previamente en todas las versiones del componente de hardware de punto flotante 2, la instrucción personalizada de Nios® II para la raíz cuadrada de punto flotante fallará en Intel® MAX® diseños de 10 FPGA que utilizan modos de configuración de inicialización previa a la inicialización de RAM que incluyen "Imagen comprimida dual", "Imagen de mezcla co única" e "Imagen descomprimida única".
En estos modos, la memoria flash no es lo suficientemente grande como para admitir la inicialización previa de la RAM, por lo que se producirá un error en la instrucción de sqrt. La versión 15.1 del software Quartus® II y versiones anteriores podrían generar un error de compilación si se crea una instancia de FPCI2 y se deshabilita la inicialización de memoria debido al modo de configuración establecido por Intel MAX 10 FPGA u otros motivos.
Error (16031): El modo de configuración interna actual no admite la inicialización de memoria o ROM. Seleccione el modo de configuración interna con ERAM.
Para solucionar este problema en la versión 15.0 y anteriores del software Quartus II, siga estos pasos:
- Vaya a fpoint2_multi_datapath.vhd y comentar la creación de instancias de FPSqrt en las líneas 168 a 174.
sqrt: mapa de puertos FPSqrt (
x = > dataa,
r => fsqrts,
clk = > clk,
reset_req = > reset_req,
areset => reset
);
- Re compile su diseño en el software Quartus II.
- Vaya a altera_nios_custom_instr_floating_point_2.c que se encuentra en la carpeta HAL del archivo bsp. Agregue "#undef sqrtf" justo después de donde se incluye "altera_nios_custom_instr_floating_point_2.h" en el código C para deshabilitar el uso de las instrucciones personalizadas de sqrtf por parte del software.
Código:
#include "altera_nios_custom_instr_floating_point_2.h"
#undef sqrtf
- Reconstruye todo el software y las bibliotecas de aplicaciones con estos cambios vigentes.
Para solucionar este problema en la versión 15.0 y posteriores del software Quartus® II, siga este paso:
- Utilice la casilla de verificación para eliminar las instrucciones personalizadas de sqrt de FPH2 en la GUI de la herramienta de diseño de plataformas.
Este problema se corrigió en el software Quartus II v16.0.