ModelSim no puede compilar esto en VHDL:
constant mem_size_bytes: integer := x"FFFFFFFF";
Dice:
Bit string literal found where non-array type std.STANDARD.INTEGER was expected.
Del mismo modo para;
if address< x"3FFFFF" then
dice
Operator "<" is ambiguous
Sigo corriendo en este problema. ¿Cómo en el mundo se supone que debo usar números hexadecimales en VHDL con tipos enteros como entero, natural y positivo? Es solo que especificar algo hexadecimal es más conveniente a veces que tener que usar la calculadora para determinar qué es algo en la raíz-10. Esperaba que la herramienta supiera automáticamente lo que significa el literal, ya que está precedida por x, que la marca como cantidad numérica hexadecimal.
Entonces, al asignar literales a constantes o al usar literales en el operador de comparación, ¿cómo califica uno el literal? En otras palabras, para un valor de constante literal como "1010", ¿cómo se le dice explícitamente al compilador si se trata de una cadena o std_logic_vector o no está firmado o firmado?