Gatterlösung zur Emittlung des Wertes des niedrigsten gesetzten Bits

OP #3521583
Lesenswert?

Ich grüble schon eine ganze Weile, und ein gefühlter halber Wald an 
Papier ist bereits vernichtet :(

Gegeben sei ein 4-bit DIP-Schalter mit den Schaltern D3 D2 D1 D0, von 
denen jeder physikalisch ein- oder ausgeschaltet sein kann.

Durch jeden der geschlossenen Schalter D3...D0 kann ein Signal Sn laufen 
(1) oder auch nicht (0); durch die geöffneten natürlich nie, also immer 
(0).

Ich bin nun am Signal (0) oder (1) interessiert, das durch das 
niedrigste gesetze Bit in D3...D0 läuft.

Es muss dafür ja eine Gatterlösung geben, aber ich denke irgendwo falsch 
rum...

D3...D0  R
0 0 0 0  0  (kein Bit gesetzt, immer 0)
0 0 0 1  S0 (S0 kann 0 oder 1 liefern)
0 0 1 0  S1
0 0 1 1  S0
0 1 0 0  S2
...
1 0 0 0  S3
1 0 0 1  S0
...
1 1 1 1  S0

Wenn mir jemand mit einem Ansatz auf die Sprünge helfen könnte, dann 
würde mich das freuen!

Gruss,
Herb
OP #3521759
Lesenswert?

Bitflüsterer schrieb:
> Wobei Peters Lösung voraussetzt, dass die Signale d3 bis d0 (resp. X3
> bis X0) nicht durch die Schalter laufen, sondern gesonderte Eingänge
> in die Logik darstellen.

Ich kann die gesondert machen, das ist kein Problem. Aber danke für den 
Hinweis.

----

Stefan P. schrieb:
> Prioritätsdekoder + Oder

Das verstehe ich jetzt leider nicht. Wie ich das verstehe, würde ein 
Prioritätsdekoder doch so arbeiten:

D3...D0
0 0 0 0 -> 0 0 0
0 0 0 1 -> 0 0 1
0 0 1 x -> 0 1 0
0 1 x x -> 0 1 1
1 x x x -> 1 0 0

Und wie geht's jetzt weiter?

----

Uwe schrieb:
> Dazu müßte die Logik ja wissen welche Schalter geschlossen sind und
> welche nicht. Die Logik kann ja nicht wissen ob das jetzt ne Signal '0'
> ist oder nen Offener Schalter.

Passt aber schon.

Sei S3...S0 = 1110
und D3...D0 = 1100

Mit

y =  D0 &  S0
  | !D0 &  D1 &  S1
  | !D0 & !D1 &  D2 & S2
  | !D0 & !D1 & !D2 & D3 & S3

dann also

y = 0 & 0
  | 1 & 0 & 1
  | 1 & 1 & 1 & 1
  | 1 & 1 & 0 & 1 & 1

Der 3. Term produziert y = 1, wie gefordert.


Sei S3...S0 = 1010 (S2 ist nun offen)
und D3...D0 = 1100 (wie gehabt)

dann

y = 0 & 0
  | 1 & 0 & 1
  | 1 & 1 & 1 & 0
  | 1 & 1 & 0 & 1 & 1

Kein Term produziert y = 1, passt.
Gast #3521989
Lesenswert?

> Wobei Peters Lösung voraussetzt, dass die Signale d3 bis d0 (resp. X3
> bis X0) nicht durch die Schalter laufen, sondern gesonderte Eingänge
> in die Logik darstellen.
Klar damit kann man ja herleiten ob es nun ein offener Schalter war oder 
'0' Signal.

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