2. Boolesche Schaltkreise (nicht im Sommersemester 2025)
Boolesche Schaltkreise sind ein idealisiertes Modell echter elektronischer Schaltkreise. Als primitive Bausteine haben wir Boolesche Operatoren, auch Gatter (englisch gates) genannt, die mehrere (typischerweise ein oder zwei) Signale zu einem Ausgabe-Signal kombinieren. Die Signale können nur zwei Werte annehmen: wahr/falsch bzw. 1/0 bzw. true/false. Hier sehen Sie die drei üblichsten Gatter:&&
, ||
und !
. Was diese Operatoren
tun, können wir als Wahrheitstabelle darstellen.
Wir listen alle Kombinationen für
Vielleicht wünschen Sie sich noch mehr Gates, zum Beispiel
ein if-then-else-Gate mit drei Inputs
if
then
else
Jeder Schaltkreis berechnet eine Funktion (formale Definition weiter unten). Informell gesprochen, wenn wir Wahrheitswerte (0/1) in die Input-Gates reinstecken, dann fließen diese durch den Schaltkreis und werden von den AND/OR/NOT-Gates entsprechend ihrer Funktion kombiniert und werden schließlich an den Output-Gates ausgegeben:
- Ein XOR-Gate
. Es gibt 1 aus, wenn einer der beiden Inputs 1 ist und der andere 0. - Ein Majority-Gate
. Es gibt 1 aus, wenn mindestens zwei seiner Inputs 1 ist. - Ein
-faches XOR-Gate,
-
Ein
-faches Majority-Gate , welches 1 ausgibt, wenn mehr als der Inputs auf 1 stehen. Sie können annehmen, dass ungerade ist, wenn es Ihnen hilft.Können Sie vermeiden, dass Ihr Schaltkreis riesengroß wird? Kriegen Sie beispielsweise für
einen Schaltkreis hin, den man realistischerweise herstellen kann?
Je nach Kontext kann es hilfreich sein, Gatter mit beliebig vielen Inputs zuzulassen, beispielsweise
Schaltkreise, wie wir sie in diesem Kapitel betrachten, sind immer azyklisch. Das heißt insbesondere, das Dinge mit "Feedback-Schleifen" wie Flipflops eben keine Schaltkreis in unserem Sinn sind:
Das Flipflop zeigt ein interessantes Verhalten: wenn
Ein Boolescher Schaltkreis ist ein gerichteter, azyklischer Graph (englisch directed acyclic graph, kurz DAG), in welchem jeder Knoten entweder
- ein Input-Gate ist und mit einer Input-Variable oder eine Booleschen Konstant (0 oder 1) beschriftet ist und keine eingehenden Kanten hat (in-degree 0), oder
- mit AND-, OR- oder NOT beschriftet ist,
Oft haben wir es mit Schaltkreisen mit nur einem Output-Gate zu tun; in diesem
Falle lassen wir die Beschriftung auch gerne weg, weil sie keine zusätzliche Information
bringt.
Wenn wir allen Input-Variablen eines Schaltkreises
Es ist auch nicht weiter überraschend,
dass es Schaltkreise für die gleiche Funktion geben kann (sie haben für die Funktion