Lec 02-27-2025: Unused States & Synchronous Counters | CSCI 343
Design with Unused States
Section titled “Design with Unused States”With flip-flops, a circuit can represent up to distinct states. Sometimes a sequential circuit needs fewer than that — for example, a circuit cycling through 5 specific states will require 3 flip-flops (since is too small but is enough), leaving 3 unused states.
Those unused states are not included in the state table and are treated as don’t-care conditions in the K-maps, giving the minimization more flexibility. It is also useful to provide a master-reset input whose purpose is to initialize the states of all flip-flops to a known valid state on startup.
State Table with Unused States
Section titled “State Table with Unused States”We notice from the table we’re missing states ABC = 000, 110, and 111 so these are the unused states — they are missing for both the and transitions. Unused states become don’t-care conditions in the K-maps.
Is the Circuit Self-Correcting?
Section titled “Is the Circuit Self-Correcting?”A self-correcting circuit is one that, if it enters an unused or invalid state (due to noise, glitches, or other errors), can transition back to a valid state without external intervention. This is a desirable property because it means the circuit can recover from transient faults on its own, improving reliability. To check if a circuit is self-correcting, we can analyze the state transitions from the unused states and see if they lead back to valid states. For that, we’ll need to determine the flip-flop input expressions from the K-maps:
Check for Self-Correction
Section titled “Check for Self-Correction”We plug each unused state into the derived flip-flop input expressions to determine the next state. To do this, we evaluate its and inputs for the given state and consider the semantics of the flip flop’s inputs (as described by its characteristics table). For example, sets the output to 1; resets it to 0; etc.
Unused state ABC = 000:
The inputs of flip flops and depend on , so we check the two cases:
- :
- :
Both states 001 and 010 are valid, so the circuit self-corrects out of state 000. The same analysis can be applied to other invalid states 110 and 111.
Synchronous Counters
Section titled “Synchronous Counters”Having covered how to handle unused states in a general sequential circuit design, we now turn to a specific and common application of this design process: synchronous counters.
A synchronous counter is a sequential circuit that goes through a predefined sequence of states upon application of input pulses. Counters are useful for generating timing sequences to control operations in a digital system and have no external input. Counters must cycle through a fixed sequence of states, without holding. Once it arrives at a state, it must move on to the next state in the sequence on the next clock pulse.
Two types of counters we’ll look at are:
- Binary counters that cycle through states in binary counting order (e.g., 00, 01, 10, 11).
- Non-binary counters that cycle through a subset of states, skipping others (e.g., 000, 001, 010, 100 — skipping 011, 101, 110, 111).
Example: Synchronous Counter Design
Section titled “Example: Synchronous Counter Design”A 3-bit counter might cycle through states 0 through 7 (then back to 0):
T flip-flops are generally considered the better choice for building synchronous counters due to their toggling behavior. As we count upward, each bit in a counter either toggles or holds; it never needs to be set or reset independently, which is exactly what the T flip-flop’s two inputs express:
- : no change
- : (output toggles)
State Table
Section titled “State Table”Using the T flip-flop excitation table, we can determine the required T inputs for each flip-flop to achieve the desired state transitions:
Applying this to each flip-flop:
K-Maps
Section titled “K-Maps”With the table filled in, we can minimize each of the three flip-flop input expressions using K-maps. Each K-map has three variables: A, B, and C.
Circuit Diagram
Section titled “Circuit Diagram”