En el banco de pruebas para un módulo SystemVerilog, tengo la siguiente declaración de matriz e inicialización:
real testVals [][] = '{
'{1.5, 1.5},
'{2.0, 3.0},
'{0.0, 0.0},
'{-1.5, 1.5},
'{-1.5, 4.0},
'{-1.5, 3.0},
'{-1.5, -3.0},
'{9.5E255, 4.2E200},
'{9.5E500, 4.2E200} // line 63
};
Cuando intento compilar el código usando QuestaSim, recibo este error:
** Error: (vlog-13037) fp_adder_tb.sv (63): cerca de "9.5E500": el valor numérico excede la capacidad de 32 bits.
¿Por qué recibo un error sobre un límite de capacidad de 32 bits cuando el tipo de datos es real
? Esto tendría sentido para un entero o int, pero debería ser un flotador de doble precisión. Además, 9.5E255 también está más allá del rango de un valor de 32 bits. ¿Por qué está bien? Si elimino la línea ofensiva, se compila sin problemas.
Versión QuestaSim: QuestaSim-64 vlog 10.4c Compilador 2015.07 19 de julio de 2015