Kombinatorische vs. sequenzielle Logik: Unterschiede erklärt

In der kombinatorischen Logik hängt die Ausgabe nur von den aktuellen Eingaben ab, gleiche Eingaben liefern also immer dieselbe Ausgabe. In der sequenziellen Logik hängt die Ausgabe zusätzlich vom gespeicherten Zustand ab, also von der Vorgeschichte der Eingaben. Sequenzielle Schaltungen enthalten Speicherelemente wie Flipflops und werden meist von einem Takt gesteuert. Reale digitale Systeme wechseln beides ab: Kombinatorische Logik rechnet zwischen Registern, die den Zustand halten.

AspektKombinatorische LogikSequenzielle Logik
Ausgabe hängt ab vonNur den aktuellen EingabenDen aktuellen Eingaben und dem gespeicherten Zustand (Vorgeschichte)
SpeicherelementeKeineFlipflops oder Latches
TaktNicht nötigMeist getaktet (synchroner Entwurf)
RückkopplungKeine: Eine Rückkopplungsschleife wäre ein EntwurfsfehlerRückkopplung über die Zustandselemente
BeispieleAddierer, Multiplexer, Dekodierer, Kodierer, KomparatorenRegister, Zähler, Schieberegister, Zustandsautomaten
Timing-AspekteLaufzeitverzögerung und Glitches (Hazards) während sich Eingaben ändernSetup- und Hold-Zeiten, Taktperiode und Taktversatz (Clock Skew)
EntwurfswerkzeugeWahrheitstabellen, Boolesche Algebra, Karnaugh-DiagrammeZustandstabellen und Zustandsdiagramme
In VerilogKontinuierliche Zuweisungen oder always-Blöcke, die in jedem Zweig jede Ausgabe setzenGetaktete always-Blöcke (an der Taktflanke)

Die Zahlenangaben sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.

Wann welches einsetzen

Kombinatorisch
Für Berechnung und Dekodierung, die nur von den aktuellen Werten abhängen sollen, etwa Arithmetik und Auswahl.
Sequenziell
Für alles, was sich etwas merken muss: Zähler, Register, Steuerwerke und jede Schaltung, die einer Folge von Schritten folgt.
HDL-Tipp
Weisen Sie in einem kombinatorischen always-Block in jedem Zweig jeder Ausgabe einen Wert zu. Sonst leitet die Synthese ein unbeabsichtigtes Latch ab.

FAQ

Ist ein Flipflop kombinatorisch oder sequenziell?

Sequenziell. Es speichert ein Bit, seine Ausgabe hängt also vom gespeicherten Zustand ab und nicht nur von den Eingaben.

Ist ein Addierer kombinatorisch oder sequenziell?

Kombinatorisch. Seine Ausgaben hängen nur von den aktuellen Eingaben ab. Ein Zähler dagegen ist sequenziell.

Kann eine Schaltung beides sein?

Ja. Reale digitale Systeme schalten kombinatorische Logik zwischen Register, das Gesamtsystem ist also sequenziell und aus kombinatorischen Blöcken aufgebaut.

Warum sind Rückkopplungsschleifen in kombinatorischer Logik ein Problem?

Eine kombinatorische Schaltung sollte keine Schleifen haben. Eine Schleife lässt die Ausgabe von sich selbst abhängen, wodurch sie schwingen oder unbeabsichtigt einen Zustand halten kann.

Wichtige Begriffe erklärt

Kombinatorische Schaltung (Schaltnetz)
Eine Logikschaltung, deren Ausgang nur von den aktuellen Eingängen abhängt. Beispiele sind Addierer, Multiplexer und Dekoder.
Sequenzielle Schaltung (Schaltwerk)
Eine Logikschaltung, die ihren Zustand in Flipflops und Ähnlichem speichert, sodass der Ausgang von Eingängen und vergangenem Zustand abhängt. Beispiele sind Zähler und Register.
Flipflop
Das Grundelement sequenzieller Schaltungen, das ein Bit speichert. Ein D-Flipflop übernimmt seinen Eingang bei einer Taktflanke.

Weitere Vergleiche