Gast
#297676
Hallo, ich habe folgendes Problem: ich mochte ein einfachen statechart in vhdl-gießen und habe dazu eine zustandsvariable in form eines signals. type states is (out_of_synch, in_synch, manipulating); signal state: states := out_of_synch; falls mein automat nun in einem bestimmten zustand ist soll eine prozessvariable manipuliert werden: when manipulating => if i = "11" then state := in_synch; mja_offset := scodeword(24 downto 17) + offset_reg(0 to 7); scodeword(24 downto 17) := mja_offset; ostream <= scodeword(31 downto 24); end if; dabei sind i, scodeward und offset_reg jeweils signale. in der simulation erscheint es nun so, als ob die if-anweisung nicht ausgeführt würde. ersetze ich die anweisungen durch eine einfach konstantenzuweisung: scodeword(24 downto 17) := X"ff"; verhält sich die simulation ganz wie erwartet. ist da ein timing problem? ich habe auch schon versucht die signale durch shared variables zu ersetzen. was mache ich falsch? danke