bilad schrieb:
> Lothar M. schrieb:
>> test_output <= ausgang1&ausgang2 when enable='1' else (others => '1');
>
> Hätte aber unterschiedliche/ mehrere Zuweisungen.
> Dann muss ich öfters **when** schreiben.
> Kann man das nicht zusammenfassen?
Es gibt if-else, when-else und with-select. Welches man verwendet ist
meiner Meinung nach oft Geschmackssache. With-select verwende ich zum
Beispiel praktisch gar nicht.
Ich würde zum Beispiel eher
1 | X <= A when cmd /= "00" else '0';
|
bei einer einzelnen Zuweisung und
1 | process(cmd, A, B, C)
|
2 | begin
|
3 | X <= '0';
|
4 | Y <= '0';
|
5 | Z <= '0';
|
6 | if cmd /= "00" then
|
7 | X <= A;
|
8 | Y <= B;
|
9 | Z <= C;
|
10 | end if;
|
11 | end process;
|
bei mehreren Zuweisungen schreiben. (Ich hoffe, da ist kein Fehler
drin...)
Man könnte aber auch
1 | X <= A when cmd /= "00" else '0';
|
2 | Y <= B when cmd /= "00" else '0';
|
3 | Z <= C when cmd /= "00" else '0';
|
schreiben.
Lothar M. schrieb:
>> schwerer verständlich (weil es kryptischer ist).
> Ist es nicht einfach nur "neu".
Ja. Und damit ungewohnt. Für den Anfang würde ich persönlich gewohnte
Syntax bevorzugen. Aber das ist meine Meinung und man kann natürlich
anderer Meinung sein.