/ˈflɪp flɑːp/

noun … “Basic memory element in digital circuits.”

Flip-Flop is a bistable sequential circuit that can store one bit of binary information, holding a state of 0 or 1 until it is changed by a control signal. Flip-flops are the building blocks of digital memory, registers, counters, and finite state machines (FSMs), providing the essential ability to store and remember information in digital systems.

Key characteristics of Flip-Flop include:

  • Bistable operation: maintains either a high (1) or low (0) state indefinitely until triggered.
  • Clocked or triggered: changes state based on input signals and/or clock edges.
  • Types: SR (Set-Reset), D (Data), JK, and T (Toggle) flip-flops, each with different input behavior.
  • Applications: memory storage, counters, shift registers, synchronization, and state machines.
  • Edge sensitivity: many flip-flops change state on the rising or falling edge of a clock signal.

Workflow example: D flip-flop storing a bit:

d_input = 1
clk_edge = detect_rising_edge(clock)
if clk_edge:
    q_output = d_input   -- store input at clock edge

Here, the flip-flop captures the value of d_input at the clock edge and maintains it until the next trigger.

Conceptually, a Flip-Flop is like a light switch with memory: once set, it stays in the on or off position until someone flips it again.

See Sequential Circuit, Registers, Finite State Machine, Clock Signal, Digital.