Forum: FPGA, VHDL & Co. Multiplexer aus std_logic


von Fandango (Gast)


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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.