>> Ist so eine Variableninitialisierung grundsätzlich nicht möglich,
Nicht aus einem Port. Bestenfalls aus einem Generic.
>> oder mache ich da was falsch?
Nicht unbedingt. Du hast (so mein Verdacht) nur noch nicht so ganz
begriffen, was du machst: Du willst deine Hardware hinterher als
Flip-Flops und Kombinatorik in ein FPGA abbilden.
Soll die Variable speichernd sein? Dann besteht sie aus Flip-Flops (nur
die können speichern). Und so ein Flip-Flop wird beim Power-Up des FPGAs
initialisiert. Genau das ist der Wert, den du dort angeben kannst:
1 | variable Variablenname : UNSIGNED(31 downto 0):= x"12345678";
|
Deshalb muß er schon bei der Synthese bekannt und statisch sein.
Und der Zustand eines Ports ist zum Synthesezeitpunkt nicht bekannt und
kann deshalb kann auch nicht als Defaultwert zugewiesen werden...
> also normalerweise verwendet man um hardware zu beschreiben keine
> variable sondern signal
Variablen sind durchaus sinnvoll, aber man sollte genau wissen wozu sie
gut sind. Siehe den Beitrag "Variable vs Signal"