Hallo,
ich habe folgendes Konstrukt:
1 | signal s_signal1 : std_logic_vector( 7 DOWNTO 0);
|
2 | signal s_signal2 : std_logic;
|
3 | ...
|
4 | FOR i IN 0 TO 7 LOOP
|
5 | IF s_data_valid(i) = '1' THEN
|
6 | s_signal1(i) <= '1';
|
7 | s_signal2 <= '1';
|
8 | END IF;
|
9 | END LOOP;
|
s_signal1 wird also komplett auf '1' gesetzt.
Aber was genau passiert mit s_signal2?
Nimmt es den Zustand von i=7 an, weil es die letzten Zuweisung im
Prozess ist?
Oder ist sowas nicht erlaubt und der Compiler müsste eigentlich sowas
wie "multiple drivers" melden, was er aber nicht tut?
Ich simuliere gerade an einer dieser Stellen und erhalte nicht das von
mir erwartete Verhalten :)
Vielen Dank!