Combinational versus Sequential Logic
Combinational logic depends only on present inputs, while sequential logic also depends on stored state, giving circuits memory.
The distinction
Digital circuits fall into two classes. Combinational logic produces outputs that depend only on the current inputs, with no memory of the past. Sequential logic includes storage elements, so its outputs depend on both current inputs and the stored state.
Combinational examples
Adders, multiplexers, decoders, comparators, and the ALU are combinational. Given a set of inputs they settle to a fixed output after a propagation delay, and the same inputs always give the same output. They have no clock.
Sequential examples
Latches, flip-flops, registers, counters, and finite state machines are sequential. They remember values across time, and their behavior depends on the order and timing of past inputs, coordinated by a clock in synchronous designs.
How they combine
Real systems interleave the two. A typical synchronous circuit places combinational logic between banks of flip-flops: on each clock edge the flip-flops capture the combinational result, which becomes the input to the next stage. This structure underlies every datapath and state machine.
Why it matters
The distinction shapes how a circuit is analyzed. Combinational logic is checked for correct outputs and propagation delay; sequential logic additionally requires timing analysis of setup, hold, and clocking.