Combinational vs Sequential Logic
Combinational logic depends only on present inputs; sequential logic adds memory, so its outputs also depend on past inputs.
The core distinction
In combinational logic the output is a pure function of the current inputs. In sequential logic the output also depends on stored state, so the same inputs can produce different outputs depending on what happened before.
What creates memory
Memory arises from feedback. Cross-coupling two NOR or NAND gates so each feeds the other produces a latch that holds one bit. Combinational circuits deliberately avoid such loops; sequential circuits rely on them, usually disciplined by a clock.
Clocked state elements
- A latch is level-sensitive: it follows its input while its enable is active.
- A flip-flop is edge-triggered: it captures its input at a clock edge and holds it.
- Registers, counters, and shift registers are arrays of flip-flops.
- Finite state machines combine a state register with combinational next-state logic.
Design implications
Combinational blocks are analyzed with truth tables and Boolean algebra and characterized by propagation delay. Sequential blocks add timing constraints: setup and hold times around the clock edge, and a clock period that must exceed the worst-case combinational path between registers.
How they work together
A typical synchronous design alternates the two. On each clock edge, registers capture new values; between edges, combinational logic computes the next values from the current state and inputs. The clock period is set so all combinational paths settle before the next edge.
Choosing between them
Use combinational logic wherever the answer depends only on present inputs, such as arithmetic and decoding. Use sequential logic wherever the system must remember, count, sequence, or coordinate over time.