Error de simulación de depuración en Xlinx para VHDL

0

Utilicé Xilinx para simular Logic And Gate, y funcionó bien. Seguí el mismo procedimiento para simular Half-Subtractor, pero me quedé atascado en el medio.

Cuando verifiqué dos códigos en la ventana de Xilinx, encontré dos diferencias (vea los cuadros rojos en las siguientes figuras).

Elprogramaanteriorfuncionóbiensinningúnproblema.

¿Alguien puede revisar mi figura y averiguar dónde me equivoqué?

    
pregunta tollin jose

2 respuestas

2

Sin recurrir a lo que Xilinx informa en su GUI, su código VHDL no es válido. "Half-Subtractor" no es un nombre de entidad válido:

token_test Half-Subtractor 00001 IDENTIFIER_TOKEN (128) Half 00001 DELIM_MINUS ( 14) - 00001 IDENTIFIER_TOKEN (128) Subtractor

Un identificador en este contexto es un identificador básico:

basic_identifier ::=
letter { [ underline ] letter_or_digit }

Y un delimitador de signo menos no está permitido.

El nombre de su entidad consta de dos identificadores separados por un delimitador. Al ejecutarse en el signo menos, entonces otro identificador antes de que la palabra reservada is garantice que no analizará, fallará en la declaración de la entidad:

 entity_declaration ::=
      entity identifier is
          entity_header
          entity_declarative_part
  [   begin
          entity_statement_part ]
      end [ entity ] [ entity_simple_name ] ;

Donde los nombres de entity_simple deben leerse como entity_ simple_name, un predicado probado a simple_name para la entidad que debe coincidir con el nombre declarado.

Si no se analiza, no aparece. Si no se analizara, debería aparecer en algún lugar como un error, y el hecho de que no esté vinculado también podría informarse.

Cambiar de:

entity half-subtractor is
end entity;

Que recibe un error de análisis en la línea de:

ghdl -a half-substractor.vhdl half-substractor.vhdl:2:12: missing "is" after identifier half-substractor.vhdl:2:12: (found: -)

decirle que la sintaxis no es conforme a algo que cumple con el estándar VHDL:

entity half_subtractor is
end entity;

y:

ghdl -a half-substractor.vhdl

(Análisis sin error).

Su vista de lo que está sucediendo aquí parece estar oculta por todo el ruido visual provisto por la GUI. En algún lugar, las herramientas de Xilinx deberían decirle que su VHDL tiene una sintaxis deficiente, además de no aparecer como se detalla en un pequeño panel de la ventana.

    
respondido por el user8352
0

Me parece que el 'restador' no se ha agregado correctamente a su proyecto. Intente crear un nuevo proyecto y luego agregue un nuevo módulo VHD al xa3s50-4vqg100 (haga clic con el botón derecho en xa3s50-4vqg100). Luego, coloca tu código en él.

    
respondido por el Nazar

Lea otras preguntas en las etiquetas