¿Por qué Modelsim dice que las variables compartidas VHDL deben protegerse?

2

Así que creé una variable compartida en un código puramente no sintetizable.

Al compilar ModelSim genera una advertencia:

  

(vcom-1236) Las variables compartidas deben ser de un tipo protegido.

¿Por qué es una advertencia y no un error si la variable compartida debe estar "protegida"?
¿Qué significa protegido incluso en este caso, es decir, protegido de qué?

La variable compartida es solo un std_logic .

    
pregunta quantum231

1 respuesta

1

Las variables compartidas no protegidas están bien si sabes lo que estás haciendo, y personalmente preferiría que Modelsim no emitiera la advertencia. (No está presente si compila para VHDL-93).

En su caso, podría reemplazar su variable std_logic compartida con un tipo protegido pequeño con una variable interna y procedimientos set y get . Esto eliminaría la advertencia, pero no proporcionaría ninguna protección adicional.

No quiere decir que los tipos protegidos no sean útiles en algunas situaciones.

    
respondido por el pc3e

Lea otras preguntas en las etiquetas