Kombinatorische Logik
Englisch: combinational logic
Form der digitalen Schaltlogik, bei der die gegenwärtigen Ausgänge vollständig eine Funktion der gegenwärtigen Eingänge sind, ohne Speicherung vorheriger Eingänge oder Zustände.
Kombinatorische Logik: Schaltungen ohne Speicher, nur Mathematik
Kombinatorische Logik ist eine Klasse von digitalen Schaltungen, bei denen die Ausgangswerte allein von den aktuellen Eingangswerten abhängen. Es gibt kein Feedback, keinen Speicher, keinen Zustand. Welches logische Ergebnis die Schaltung produziert, produziert sie sofort (innerhalb der Verzögerungszeit), basierend auf dem, was gerade eingespeist wird. Ein einfaches AND-Gatter ist kombinatorische Logik: Man legt zwei Eingangssignale an, und der Ausgang folgt der Wahrheitstabelle, ohne Rücksicht auf das, was eine Mikrosekunde zuvor geschah.
Die Schaltung wird aus grundlegenden Logikgattern aufgebaut: AND, OR, NOT, NAND, NOR, XOR. Diese Gatter werden so kombiniert, dass ihre Ausgänge in weitere Gatter fließen, aber entscheidend ist: Kein Ausgang führt jemals zurück und speist eine frühere Stufe so, dass Feedback entsteht. Das resultierende Netzwerk ist mathematisch gesehen ein gerichteter azyklischer Graph. Die Boolesche Algebra regiert das gesamte Verhalten. Ein Multiplexer, ein Decoder, ein Addierer, ein Komparator: Alle sind kombinatorische Logikschaltungen.
Wo kombinatorische Logik ihren Platz hat
Kombinatorische Logik bildet die zustandslose Hälfte des digitalen Designs. Die andere Hälfte ist sequenzielle Logik, die Register, Flip-Flops und Taktgeber nutzt, um Zustand zu speichern und Speicher zu schaffen. Echte Systeme verbinden beides: Ein Mikroprozessor nutzt kombinatorische Logik zum Berechnen von Ergebnissen, aber sequenzielle Logik, um Daten zu halten und das Timing über Taktzyklen hinweg zu koordinieren. Ein einfaches Schieberegister besteht hauptsächlich aus Flip-Flops (sequenziell), während sein Steuerdecoder hauptsächlich aus Gattern (kombinatorisch) besteht.
Verzögerungszeit ist die wichtigste Einschränkung. Ein Signal, das in eine kombinatorische Schaltung eintritt, muss mehrere Logikebenen durchlaufen, bevor sich der Ausgang stabilisiert. Ein typisches Gatter in einem kleinen integrierten Schaltkreis hat eine Verzögerung von einigen Nanosekunden pro Ebene; größere Schaltungen mit vielen Ebenen können sich aufaddieren. Konstrukteure müssen dies einplanen, wenn sie kombinatorische Stufen hintereinander schalten oder kombinatorische Logik zwischen taktsynchronisierten Stufen in einer Pipeline einführen.
Der Begriff "kombinatorisch" spiegelt die Tatsache wider, dass der Ausgang eine logische Kombination der Eingänge ist. Es gibt dafür im Handwerk kein anderes gebräuchliches Wort, obwohl man gelegentlich "azyklische Logik" oder "rein kombinatorisch" hört. Es steht im Gegensatz zu "sequenzieller Logik", die die Standardpaarung ist, auf die man in jedem Digital-Design-Lehrbuch oder Datenblatt trifft.