Hi Wüstling,
Regel: Variablen dürfen i.A. nur lokal in einem Prozeß verwendet werden
!
aber keine Regel ohne Außnahme:
deklariert man eine Variabel als 'shared' s.o., so kann man sie auch
dort deklarieren, wo man normalerweise ein Signal deklariert.
Dies benötigt man z.B., wenn man "Speicher" beschreiben möchte
aber
'Man' (wer auch immer) hat festgestellt, daß man in der Simulation auf
Multiprozessor-Systemen in Probleme laufen KANN (nicht muß), weshalb im
VHDL-Standard 2003 (nur zu diesem Zweck gibts diese neue VHDL-Version)
den Typ 'protected' eingeführt hat...
(den willst Du aber nicht wirklich verwenden - viel zu komplizert)
Besser:
a) schreib (wenn möglich) den Code um, so daß er "signal" statt
"variable" verwendet.
b) wenn es nur um's Verständnis geht: ignorier die ModelSim-Warnung und
erinnere Dich ggf. bei Simulations-Problemen an diese Antwort...
Gruß
Jochen