Multiplexer aus std_logic

Gast #1979369
Lesenswert?

Ich habe eine Multiplexer Beschreibung folgender Art gefunden:
1
(...)
2

3
 CASE sel IS
4
    WHEN  "00"  =>  output <= in0;
5
    WHEN  "01"  =>  output <= in1;
6
    WHEN  "10"  =>  output <= in2;
7
    WHEN  "11"  =>  output <= in3;
8
    WHEN OTHERS =>  output <= 'X';
9
  END CASE;
10
(...)

Meine Frage ist nach dem when others. Macht eine solche Beschreibung 
Sinn, oder wäre es aureichend when "11" durch when others zu ersetzen?

schöne grüße
Moderator (Firma: Titel) Persönliche Seite #1979396
Lesenswert?

1
    WHEN  "00"  =>  output <= in0;
2
    WHEN  "01"  =>  output <= in1;
3
    WHEN  "10"  =>  output <= in2;
4
    WHEN  "11"  =>  output <= in3;
Das sind nur 4 Fälle von 81 möglichen...
Denn std_logic ist eine 9-wertige Logik und deshalb müssten solche Fälle 
wie "0L" "1U" "XH" "LZ"... auch abgefragt werden. Das macht der /when 
others/.

> Macht eine solche Beschreibung Sinn,
Für die Simulation ist deine Beschreibung also besser, denn dann wird 
für diese restlichen 79 Zustände der Wert 'X' zurückgegeben.

> oder wäre es aureichend when "11" durch when others zu ersetzen?
In der synthetisierten Hardware gibt es aber nur '0' und '1', deshalb 
werden dort beide Lösungen das selbe Ergebnis bringen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren