Hallo,
ich bin davon ausgegangen, dass folgende Varianten identisch wären:
V1:
1 | if myTestData(row).msb_first = 1 then
|
2 | i_core.msb_first <= '1';
|
3 | else
|
4 | i_core.msb_first <= '0';
|
5 | end if;
|
V2:
1 | i_core.msb_first <= '1' when myTestData(row).msb_first = 1 else '0';
|
Leider ist der Compiler da anderer Meinung und haut mir (für V2) ein
1 | # ** Error: W:/Evalboard/stb.vhd(108): Illegal sequential statement.
|
um die Ohren.
Könnte mir bitte jemand erklären, wo der Fehler liegt, bzw. wann man die
verkürzte Schreibweise einsetzen darf?