PomeLabs
Logic

D Flip-Flop

Single positive-edge-triggered D flip-flop with preset and clear for the PomeLabs Core Kit.

The PomeLabs D Flip-Flop Module (PML-DFF-01) is where combinational logic becomes sequential. A single clock edge captures the state of the D input and holds it at Q until the next rising edge — independent of whatever D does in between. It is the fundamental memory element of digital systems, and this module makes it physically explorable with full access to Q, Q̄, preset, and clear on labeled connectors.

Revision: v1.0 | Part Number: PML-DFF-01 | Series: PomeLabs Core Kit

D Flip-Flop

Schematic

D Flip-Flop Schematic

Digital Twin

In the PomeLabs App, the PML-DFF-01 is mirrored as a digital twin in both the Playground and inside any Connect Activity. On connection the module reports its unique ID, firmware version, and type, and the App places it in your circuit by reading the live netlist — so you always see which module it is and how it is wired. Its edge-triggered sequential logic runs entirely on the physical hardware; the current release exposes no app-side controls or streamed values for this module.

Loading circuit

Datasheet

1. Overview

The PML-DFF-01 implements a single positive-edge-triggered D flip-flop using the SN74LVC1G74DCTR (U1) — Texas Instruments' single-gate D flip-flop with asynchronous active-LOW preset (PRE) and clear (CLR).

On each rising edge of the clock signal (S-_LL → CLK), the logic level present at the data input (S+_LL → D) is captured and transferred to output Q (S+_UR). The complementary output Q̄ (S+_LR) is always the logical inverse of Q. Between clock edges, Q holds its value regardless of changes on D — this is the defining property of edge-triggered storage and the basis of all registers, counters, and state machines.

Asynchronous preset and clear override the clock entirely: asserting PRE LOW forces Q HIGH immediately; asserting CLR LOW forces Q LOW immediately. Both are active-LOW and must be tied HIGH for normal clocked operation.

2. BOM Components

Ref.TypeValue / PartRole on this module
U1Single D flip-flopSN74LVC1G74DCTR (TI)Positive-edge-triggered D flip-flop. Asynchronous active-LOW PRE and CLR. Both Q and Q̄ outputs. 1.651.655.5V5.5\,\mathrm{V} supply, inputs accept up to 5.5V5.5\,\mathrm{V}. SSOP-8 (DCT) package, 2.95×4.0mm2.95 \times 4.0\,\mathrm{mm} body.
R1, R2Resistor4.7kΩ4.7\,\mathrm{k\Omega}Pull-up resistors on UART TX/RX lines to 3.3V3.3\,\mathrm{V}.
p1p4ConnectorNode headersFour node connectors exposing +5V+5\,\mathrm{V}, GND, S+, S−, RX/TX, TX/RX.

3. Electrical Specifications

All values at 25C25\,\mathrm{{}^\circ C} unless otherwise noted. Flip-flop specifications from TI SCES794G (SN74LVC1G74, Rev. G, Sep 2021).

3.1 U1 — SN74LVC1G74DCTR

3.1.1 Absolute Maximum Ratings

Exceeding these values may permanently damage the device. Stress ratings only.

ParameterMax ValueUnit
Supply voltage (VCCV_{CC})0.5-0.5 to 6.56.5V
Input voltage (VIV_I)0.5-0.5 to 6.56.5V
Output voltage — high-Z or power-off state (VOV_O)0.5-0.5 to 6.56.5V
Output voltage — high or low state (VOV_O)0.5-0.5 to VCC+0.5V_{CC} + 0.5V
Input clamp current (IIKI_{IK}), VI<0V_I < 050-50mA
Output clamp current (IOKI_{OK}), VO<0V_O < 050-50mA
Continuous output current (IOI_O)±50\pm 50mA
Continuous current through VCCV_{CC} or GND±100\pm 100mA
Package thermal impedance (θJA\theta_{JA}) — DCT package220220°C/W
Storage temperature (TstgT_{stg})65-65 to +150+150°C
ParameterMinMaxUnit / Notes
Supply voltage (VCCV_{CC}) — operating1.651.655.55.5V
Supply voltage (VCCV_{CC}) — data retention only1.51.5V
Input voltage (VIV_I)005.55.5V — inputs 5.5V5.5\,\mathrm{V} tolerant regardless of VCCV_{CC}
Output voltage (VOV_O)00VCCV_{CC}V
High-level input voltage (VIHV_{IH}) @ VCC=3VV_{CC} = 3\,\mathrm{V} to 3.6V3.6\,\mathrm{V}2.02.0V
Low-level input voltage (VILV_{IL}) @ VCC=3VV_{CC} = 3\,\mathrm{V} to 3.6V3.6\,\mathrm{V}0.80.8V
High-level output current (IOHI_{OH}) @ VCC=3VV_{CC} = 3\,\mathrm{V}24-24mA — sourcing
Low-level output current (IOLI_{OL}) @ VCC=3VV_{CC} = 3\,\mathrm{V}2424mA — sinking
High-level output current (IOHI_{OH}) @ VCC=4.5VV_{CC} = 4.5\,\mathrm{V}32-32mA — sourcing
Low-level output current (IOLI_{OL}) @ VCC=4.5VV_{CC} = 4.5\,\mathrm{V}3232mA — sinking
Input transition rise/fall rate (Δt/Δv\Delta t / \Delta v) @ VCC=3.3VV_{CC} = 3.3\,\mathrm{V}1010ns/V
Operating temperature (TAT_A)40-40125125°C

3.1.3 Timing Requirements & Switching Characteristics

At VCC=3.3VV_{CC} = 3.3\,\mathrm{V}, TA=40CT_A = -40\,\mathrm{{}^\circ C} to 85C85\,\mathrm{{}^\circ C}, CL=50pFC_L = 50\,\mathrm{pF} (unless otherwise noted).

ParameterMinMaxCondition
Maximum clock frequency (fclockf_{clock} / fmaxf_{max})175175MHz
Clock pulse duration (twt_w, CLK high or low)2.72.7ns
PRE or CLR LOW pulse duration (twt_w)2.72.7ns
Data setup time (tsut_{su}, D before CLK ↑)1.31.3ns
PRE/CLR inactive setup time (tsut_{su}, before CLK ↑)1.21.2ns
Data hold time (tht_h, after CLK ↑)1.21.2ns
Propagation delay (tpdt_{pd}) CLK → Q5.95.9ns
Propagation delay (tpdt_{pd}) CLK → Q̄6.26.2ns
Propagation delay (tpdt_{pd}) PRE/CLR LOW → Q or Q̄5.95.9ns
Propagation delay (tpdt_{pd}) CLK → Q @ VCC=5VV_{CC} = 5\,\mathrm{V}4.14.1ns

Quiescent supply current (ICCI_{CC}): 10μA10\,\mu\mathrm{A} max at VI=VCCV_I = V_{CC} or GND, IO=0I_O = 0. Input capacitance (CiC_i): 5pF5\,\mathrm{pF} typ at VCC=3.3VV_{CC} = 3.3\,\mathrm{V}. Power dissipation capacitance (CpdC_{pd}): 37pF37\,\mathrm{pF} typ at VCC=3.3VV_{CC} = 3.3\,\mathrm{V}, f=10MHzf = 10\,\mathrm{MHz}.

4. Function Table

Positive-edge-triggered operation. PRE and CLR are asynchronous and active LOW. (Source: TI SCES794G Table 8-1.)

PRECLRCLKDQDescription
LHXXHLAsynchronous preset — Q forced HIGH regardless of clock
HLXXLHAsynchronous clear — Q forced LOW regardless of clock
LLXXPRE and CLR both asserted — both outputs forced HIGH (nonstable; does not persist when PRE or CLR returns HIGH)
HHHHLRising edge: D = H captured into Q
HHLLHRising edge: D = L captured into Q
HHLXQ₀Q̄₀No clock edge: Q holds previous state

¹ Per TI SCES794G: this is a nonstable condition rather than strictly forbidden — when one of PRE or CLR is released first, Q resolves to the value driven by the input still asserted. Releasing both simultaneously produces an unpredictable final state.

5. Timing Diagram

Normal clocked operation (PRE = CLR = H):

CLK:  __|‾|___|‾|___|‾|___
D:    _____|‾‾‾‾‾|_______
Q:    _________|‾‾‾‾‾|___   (captured on ↑ edge, held until next ↑ edge)
Q̄:   ‾‾‾‾‾‾‾‾‾|_____|‾‾‾

Asynchronous clear (CLR asserted LOW, independent of CLK):

CLR:  ‾‾‾‾‾|___|‾‾‾‾‾‾‾‾
Q:    ‾‾‾‾‾|_____________   (Q → LOW immediately on CLR↓, no clock needed)
Q̄:   _____|‾‾‾‾‾‾‾‾‾‾‾‾

6. Pin Descriptions

All signal pins are referenced to GND.

Pin / Net NameDirectionDescription
S+_LLInputData input D. Logic level captured into Q on the rising edge of CLK. Level between clock edges has no effect.
S-_LLInputClock input CLK. Rising edge only is active — captures D into Q. Falling edge and steady state do not change Q.
S+_ULInputAsynchronous preset (PRE) — active LOW. When LOW: forces Q HIGH and Q̄ LOW immediately, overriding clock. Tie HIGH for normal operation.
S-_ULInputAsynchronous clear (CLR) — active LOW. When LOW: forces Q LOW and Q̄ HIGH immediately, overriding clock. Tie HIGH for normal operation.
S+_UROutputQ output. Stored state of the flip-flop. Updates only on CLK rising edge (or asynchronous PRE/CLR).
S+_LROutputQ̄ output. Always the logical complement of Q.
TX_UL-L / TX_LL-LInputUART transmit from Backend MCU (USART1/USART3).
RX_UL-L / RX_LL-LOutputUART receive from Upper-Left and Lower-Left connectors.
TX_UR-L / TX_LR-LInputUART transmit from Backend MCU (USART2/USART4).
RX_UR-L / RX_LR-LOutputUART receive from Upper-Right and Lower-Right connectors.
5V-ModulePower In5V5\,\mathrm{V} supply. Powers VCCV_{CC} of U1.
3V3Power In3.3V3.3\,\mathrm{V} logic rail for pull-up resistors R1R2 (4.7kΩ4.7\,\mathrm{k\Omega}).
GNDGroundCommon ground for all ICs and connectors.

7. Connection Guide & Common Errors

Correct power-up sequence:

  1. Connect GND first, shared across all modules on the common bus.
  2. Connect 5V-Module to a regulated 5V5\,\mathrm{V} source to power U1.
  3. Connect the 3V3 rail for the UART pull-up resistors.
  4. Drive PRE (S+_UL) and CLR (S-_UL) HIGH before applying any clock — this prevents spurious state changes during power-up. Both inputs must always be at a defined level (HIGH or LOW); never leave them floating.
  5. Optionally pulse CLR LOW briefly to initialize Q to a known LOW state, then return CLR HIGH.
  6. Apply the data input on S+_LL (D) and the clock signal on S-_LL (CLK). Q updates on the rising edge of CLK; Q̄ is always the logical inverse.

Logic-level reference at VCC=3.3VV_{CC} = 3.3\,\mathrm{V}: an input must rise above VIH=2.0VV_{IH} = 2.0\,\mathrm{V} to register as HIGH and fall below VIL=0.8VV_{IL} = 0.8\,\mathrm{V} to register as LOW. The flip-flop is level-triggered on the clock pin (any input crossing VIHV_{IH} from below counts as a rising edge), so clean, fast clock edges are recommended even though the device does not require a specific rise time.

Common wiring errors and consequences:

MistakeSymptomCorrection
PRE (S+_UL) or CLR (S-_UL) left floatingFloating CMOS input drifts; the asynchronous override may assert at random and toggle Q without a clock edgeAlways drive both PRE and CLR HIGH (e.g. through a pull-up to 3V3 or a logic HIGH source) when not actively asserting them. Never leave them floating.
PRE and CLR both asserted LOW simultaneouslyBoth Q and Q̄ are driven HIGH — a nonstable condition; the final state when they release is unpredictable if released at the same instantAvoid asserting PRE and CLR together. If unavoidable, ensure one is released cleanly before the other so the flip-flop settles to the corresponding defined state.
D (S+_LL) changes within the setup/hold window around CLK ↑Setup/hold violation — the flip-flop can enter a metastable state; Q may take an unbounded time to resolve to a valid logic levelKeep D stable for at least tsu=1.3nst_{su} = 1.3\,\mathrm{ns} before and th=1.2nst_h = 1.2\,\mathrm{ns} after the CLK rising edge (at VCC=3.3VV_{CC} = 3.3\,\mathrm{V}).
Clock pulse too narrow (high or low time below twt_w)The flip-flop may fail to register the edge, or the new Q value may not propagate cleanlyKeep both the HIGH and LOW phases of CLK at least tw=2.7nst_w = 2.7\,\mathrm{ns} wide at VCC=3.3VV_{CC} = 3.3\,\mathrm{V} (2ns2\,\mathrm{ns} at 5V5\,\mathrm{V}).
Clock frequency exceeds fmaxf_{max}Q fails to capture D correctly — missed transitions, glitchesKeep CLK below 175MHz175\,\mathrm{MHz} at 3.3V3.3\,\mathrm{V} or 200MHz200\,\mathrm{MHz} at 5V5\,\mathrm{V} (per TI SCES794G). Use a flip-flop chain or pipeline at higher frequencies.
Very slow input edges (slower than 10ns/V10\,\mathrm{ns/V} at VCC=3.3VV_{CC} = 3.3\,\mathrm{V})Operation outside the guaranteed input transition rate; CLK in particular may produce double-clocking or unstable QDrive CLK from a logic-level source (or a debounced/Schmitt-buffered button). Buffer slow analog-like signals before feeding them to D or CLK.
VCCV_{CC} to U1 exceeds 5.5V5.5\,\mathrm{V}U1 permanently damaged (absolute max 6.5V6.5\,\mathrm{V})Keep the 5V-Module rail 5.5V\leq 5.5\,\mathrm{V}.
Input signal on D, CLK, PRE, or CLR exceeds 5.5V5.5\,\mathrm{V}Input clamp current flows; permanent damage if IIKI_{IK} exceeds 50mA50\,\mathrm{mA}Inputs are 5.5V5.5\,\mathrm{V} tolerant — never exceed it. Add a series resistor if your source can swing higher.
Output Q or Q̄ driving load >50mA> 50\,\mathrm{mA}Continuous output current absolute max exceeded — U1 may overheat or failKeep IOI_O on each output within ±50mA\pm 50\,\mathrm{mA} absolute max. For sustained operation, design for ±24mA\pm 24\,\mathrm{mA} at 3V3\,\mathrm{V} or ±32mA\pm 32\,\mathrm{mA} at 4.5V4.5\,\mathrm{V}.
Powering D, CLK, PRE, or CLR while 5V-Module is OFFIoffI_{off} circuitry isolates U1 and prevents back-drive damage — designed-in safe condition, not a faultNo action needed; partial-power-down via IoffI_{off} is supported by the device.

How is this guide?

On this page