../../../icons/Logo.pngPraktische Elektronik

Logische Schaltung und Wahrheitstabelle

Attention > Dieses Praktikum ist nicht unbedingt notwendig, um logische Schaltungen aufzubauen. Es bietet vielmehr einen kleinen Einblick in das Verfahren der Erstellung von Schaltungen aus Wahrheitstabellen.

Grundsätzlich können wir aus einer Wahrheitstabelle die zugehörige NAND-Schaltung selbst entwickeln. Das ergibt in manchen Fällen gute Ergebnisse. Meistens wird die Schaltung wesentlich komplexer als mithilfe eines Programms wie LogicBuddy.

Als Beispiele sehen wird xor und die Alarmanlage an.

NAND-Schaltung für xor

Wir beginnen mit der Tabelle:

A B X
0 0 0
0 1 1
1 0 1
1 1 0

Tabelle 1: xor

  • In der Tabelle tragen wir für jede Zeile mit dem Ergebnis X=1 ein:
  • Für jede Eingangsvariable E mit 0 : (not E)
  • Für jede Eingangsvariable E mit 1 : E
  • Die Eingangsvariablen werden mit and verbunden

Also:

A B X Zwischenergebnis
0 0 0
0 1 1 (not A) and B
1 0 1 A and (not B)
1 1 0
  • Jedes Zwischenergebnis wird in eine Klammer gesetzt und alle Klammern mit or verbunden.

Also:

X = ( (not A) and B ) or ( A and (not B) )

Das Ergebnis kennen wir schon.

NAND-Schaltung für die Alarmanlage

Wir beschränken uns auf A.

F T S A Zwischenergebnis
0 0 0 0
0 0 1 1 (not F) and (not T) and S
0 1 0 0
0 1 1 1 (not F) and T and S
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1 F and T and S

Und wir erhalten:

A =    ( (not F) and (not T) and S )
    or ( (not F) and      T  and S )
    or (      F  and      T  and S )

oder mit NAND

  • Wegen: X or Y = NAND ( NOT X, NOT Y )
A = NAND ( NAND ( NOT F, NOT T, S ),
           NAND ( NOT F,     T, S ),
           NAND (     F,     T, S )
         )

Diese Funktion A ist korrekt, ist aber nicht minimal wie:

A = NAND ( NAND ( NOT(F), S ),
           NAND ( T, S )
          )

Die minimale Version benötigt ein NAND-Gatter und einen Inverter weniger.

Regeln

1.
Wahrheitstabelle aufstellen.
2.
Nur die die Zeilen mit dem Ergebnis 1 betrachten.

Für jede Eingangsvariable E, die 0 ist, NOT E aufschreiben

Für jede Eingangsvariable E, die 1 ist, E aufschreiben

Alle Eingangsvariablen in NAND für die Zeile Z = NAND( E1, NOT E2, ... ) eintragen.

Das ergibt den Ausdruck für die Zeile.

3.
Alle Ausdrücke der Zeilen werden abschießend in einem NAND ( Z1, Z2, ... ) zusammengefasst.