Das ist eine concurrent-Beschreibung innerhalb eines Prozesses.
Sowas geht natürlich nicht... ;-)
Zwei Lösungen:
1) Mach den Prozess weg, dann gehts.
1 | seg7_1 <= "0111111" when S_z = 0 else -- 0
|
2 | "0000110" when S_z = 1 else -- 1
|
3 | ...
|
4 | "1101111" when S_z = 9; -- 9
|
2a) Oder mach die Beschreibung mit
1 | process(S_z) begin
|
2 | if (S_z = 0)then seg7_1 <= "0111111";
|
3 | elsif(S_z = 1)then ...
|
4 | end if;
|
5 | end if;
|
2b) Oder besser als case:
1 | process(S_z) begin
|
2 | case S_z is
|
3 | when 0 => seg7_1 <= "0111111";
|
4 | when 1 => ...
|
5 | end case;
|
6 | end if;
|