A combinational logic circuit acts purely in the present: its outputs are determined strictly by its current inputs. But what happens when a circuit needs to remember what happened a microsecond ago? That is where sequential logic takes over. If you are asking what is a sequential circuit, the direct answer is this: a sequential circuit is a digital logic system whose outputs depend on both the current inputs and the stored historical state of the system, enabled by clocked memory elements like flip-flops and latches.
Unlike a simple AND gate that reacts instantly, a sequential circuit requires a timing signal (a clock) to transition between states. This memory capability is the foundation of every digital counter, shift register, and microprocessor state machine on your bench. To move past abstract textbook definitions, we are going to design, build, and stress-test a practical sequential topology: a 2-bit synchronous up-counter using discrete D flip-flops.
Core Topology: The 2-Bit Synchronous Counter
To build a sequential circuit, we need a memory element. The D (Data) flip-flop is the workhorse of modern state machines. On the rising edge of a clock pulse, the flip-flop copies the logic level at its D input to its Q output, and holds it there until the next clock edge. By feeding the outputs back into the inputs through combinational logic, we force the circuit to sequence through predefined states.
Our topology uses two D flip-flops (labeled FF_A for the least significant bit, FF_B for the most significant bit). The node labels for our feedback network are:
- CLK: Global clock signal tied to both flip-flops simultaneously.
- D_A & D_B: Data inputs driven by our feedback logic.
- Q_A & Q_B: Current state outputs (Q_A is LSB, Q_B is MSB).
- Q_A' & Q_B': Inverted outputs used for feedback routing.
To make this circuit count upward in binary (00 → 01 → 10 → 11 → 00), we must calculate exactly what logic levels need to be present at the D inputs before the clock edge arrives. The behavior table below maps the current state to the required next state, revealing the Boolean logic needed for the D inputs.
| Current State (Q_B Q_A) | Next State (Q_B Q_A) | Required D_B Input | Required D_A Input |
|---|---|---|---|
| 0 0 | 0 1 | 0 | 1 |
| 0 1 | 1 0 | 1 | 0 |
| 1 0 | 1 1 | 1 | 1 |
| 1 1 | 0 0 | 0 | 0 |
D_A = Q_A'. Looking at the D_B column, it flips only when Q_A is HIGH. This is the exact truth table for an Exclusive-OR (XOR) gate. Therefore, D_B = Q_B XOR Q_A. For this build, we will use a 74HC86 quad XOR IC to handle the D_B feedback.
Synchronous vs. Asynchronous: Why This Topology Wins
You might wonder why we wire the clock to both flip-flops simultaneously (synchronous) instead of daisy-chaining the clock from the output of FF_A into the clock of FF_B (asynchronous, or 'ripple' counter). While an asynchronous ripple counter (like the 74HC93) requires fewer chips and no XOR gates, it introduces severe timing hazards at higher speeds.
| Design Criteria | Synchronous (Our Topology) | Asynchronous (Ripple Counter) |
|---|---|---|
| Clock Routing | Global clock to all flip-flops | Clock ripples through Q outputs |
| Propagation Delay | Single flip-flop delay (~15ns) | Cumulative delay (N × 15ns) |
| Glitching / Decoding Errors | None; all bits change simultaneously | Severe; intermediate false states occur |
| Max Clock Frequency | Very High (limited by 1 gate delay) | Low (limited by N gate delays) |
| Component Count | Higher (requires feedback logic gates) | Lower (just flip-flops) |
In a ripple counter, when transitioning from 0111 to 1000, the bits don't flip at the exact same nanosecond. The LSB flips first, creating momentary, invalid intermediate states (like 0110, 0100, 0000) before settling. If you are feeding that counter into a digital-to-analog converter or a motor controller, those microsecond glitches can cause catastrophic voltage spikes. The synchronous topology eliminates this by forcing all state changes to occur on the exact same clock edge.
Design Walkthrough: Component Selection and Wiring
Let's move from theory to the workbench. We will build this on a standard solderless breadboard. For a visual demonstration, we want the counter to tick at roughly 1 Hz so we can watch the LEDs change state.
1. The Clock Source (NE555 Astable)
We need a stable 1 Hz square wave. An NE555 timer in astable mode is perfect. The frequency formula is f = 1.44 / ((R1 + 2*R2) * C).
- C1 (Timing Cap): 2.2 µF electrolytic (watch the polarity).
- R1: 1 kΩ resistor.
- R2: 330 kΩ resistor.
- Calculation: 1.44 / ((1000 + 660000) * 0.0000022) = 0.99 Hz.
2. The Memory and Logic ICs
- U1: 74HC74 Dual D Flip-Flop. Contains both FF_A and FF_B.
- U2: 74HC86 Quad XOR Gate. We only need one gate for the
D_Bfeedback.
3. Output Indicators and Current Limiting
This is where many hobbyists destroy their chips. The older 74LS TTL family could source 8mA easily, but the modern 74HC CMOS family has much stricter output limits. The absolute maximum continuous current per pin is 25mA, but to ensure long-term reliability and prevent voltage sag, we should limit LED current to 3mA to 4mA.
- LEDs: Standard 5mm red (Vf ≈ 2.0V).
- Resistors: With a 5V VCC, the voltage drop across the resistor is 3V. Using Ohm's law (R = V/I), 3V / 0.003A = 1000 Ω. Use 1 kΩ resistors in series with each LED. Do not use the 220 Ω or 330 Ω resistors you might use with an Arduino GPIO; they will overstress the 74HC74 output transistors.
Pin Mapping and Wiring Guide
| Function | 74HC74 Pin (U1) | 74HC86 Pin (U2) | Destination / Notes |
|---|---|---|---|
| VCC (+5V) | 14 | 14 | Positive power rail |
| GND | 7 | 7 | Negative power rail |
| Global Clock | 3 (CLK A), 11 (CLK B) | N/A | Pin 3 of NE555 |
| FF_A Data (D_A) | 2 | N/A | Tied to Q_A' (Pin 5) |
| FF_B Data (D_B) | 12 | 3 (Output Y) | Output of XOR gate |
| XOR Inputs | N/A | 1 (Q_B), 2 (Q_A) | Tied to U1 Pins 9 and 5 |
| Preset/Clear | 1, 4, 10, 13 | N/A | Tie ALL to VCC (inactive) |
Breadboard Testing and Extreme Failure Modes
Sequential circuits are notoriously unforgiving of sloppy wiring. Because they rely on precise timing and feedback, a single floating pin can turn your counter into a random number generator. Follow this exact testing sequence.
Step-by-Step Verification
- Power Down: Ensure the breadboard is completely de-energized before inserting ICs.
- Decoupling: Place a 0.1 µF (100 nF) ceramic capacitor directly across the VCC and GND pins of both U1 and U2. This is non-negotiable for CMOS logic to suppress high-frequency switching noise on the power rails.
- Static Tie-Offs: Tie all unused inputs (like the extra XOR gates in U2) to either VCC or GND. Tie all Preset and Clear pins on the 74HC74 to VCC.
- Power Up and Probe: Apply 5V. Use a multimeter to verify exactly 5.0V at Pin 14 of both ICs.
- Clock Verification: Connect an oscilloscope or logic probe to Pin 3 of the 555 timer. You should see a clean square wave at ~1 Hz.
- State Observation: Observe the LEDs. They should sequence 00 → 01 → 10 → 11 smoothly. If they skip states or flicker erratically, proceed to the failure modes below.
What Breaks at the Extremes? (Failure Mode Analysis)
Understanding how a sequential circuit fails is just as important as knowing how it works. Here is what happens when things go wrong at the extremes:
- The Floating CMOS Input (Open Circuit): If you forget to tie off the unused inputs on the 74HC86, or if the wire carrying
D_Bloses contact, the pin is left 'floating'. CMOS inputs have nearly infinite impedance. A floating pin acts as an antenna, picking up 60Hz mains hum and RF noise from your body. The internal transistors will rapidly switch between HIGH and LOW, causing the IC to overheat, draw massive quiescent current, and output random garbage states. - Shorted Clock Line: If the CLK node is accidentally shorted to GND, the flip-flops will never see a rising edge. The circuit will freeze in its current state indefinitely. If shorted to VCC, the 555 timer's output stage will fight the short, likely overheating the 555 or tripping your bench supply's current limit.
- Missing Decoupling Capacitor: When both flip-flops switch simultaneously on the clock edge, they draw a sudden spike of current from the VCC rail. Without the 0.1 µF ceramic capacitor to supply this localized transient energy, the VCC rail will momentarily dip (ground bounce). This dip can be interpreted by the flip-flops as a secondary clock edge, causing the counter to double-step or reset randomly.
By mastering the relationship between the clock, the feedback logic, and the memory elements, you transition from simply wiring components to designing actual state machines. Whether you are building a simple binary counter or programming the microarchitecture of an FPGA, the fundamental rules of sequential logic remain exactly the same.






