Skip to content
BetterDL

Synchronous set

Also called: sync set, synchronous preset, clocked set

A set input built from logic in front of D that forces a register bit to 1 at the next clock edge, rather than immediately.

A synchronous set is the mirror image of a synchronous clear: logic in front of a flip-flop's D input that makes the next value 1. Nothing happens until the next rising edge.

Where a clear ANDs onto the D logic to force a 0, a set ORs S onto it to force a 1. For a bit with load L, data N and set S, with set having priority:

D =

  • S = 1: D = 1 whatever the rest are, so the bit sets at the edge.
  • S = 0: the usual load-enable MUX, D = .

The asynchronous version is the asynchronous preset, which forces Q = 1 immediately without waiting for an edge.

Where it is used: registers that must start at a nonzero value, such as a ring counter that starts at 1000, or flags that a state machine must raise in step with the clock.

If a register has both a synchronous set and a synchronous clear, the designer must choose which wins when both are 1 and nest them in that order.

D
00000
00011
00100
00111
01000
01010
01101
01111
10001
10011
10101
10111
11001
11011
11101
11111

Worked example

Example

Reading the table above

Find D for three cases using D = .

  1. 1.

    S = 1, L = 0, N = 0, Q = 0: D = 1. Set wins.

  2. 2.

    S = 0, L = 0, Q = 1: D = Q = 1. Hold.

  3. 3.

    S = 0, L = 1, N = 0, Q = 1: D = N = 0. Load.

Common mistakes

  • Expecting the bit to become 1 as soon as S rises. It waits for the edge.

  • ANDing S in, as for a clear. A set must be ORed in to force a 1.

Practice Synchronous set

Interactive questions with instant feedback and a worked solution for every wrong answer.

Learn it step by step

Synchronous set is taught in Registers.