User manual

Gatelab takes a Boolean function from algebra to a wired TTL circuit, and then checks that the circuit you built actually computes the function you derived. This is how to drive it.

Interactive Visual Quickstart

New to GateLab or exploring its digital logic design pipeline? Follow this 4-step tutorial demonstrating how algebraic derivation connects directly to 74xx breadboard construction and $2^n$ verification.

INTERACTIVE QUICKSTART4-Stage End-to-End Digital Logic Pipeline

From Boolean Algebra to a Verified 74xx Breadboard in 4 Steps

STAGE 01 VISUAL DEMOAlgebra · K-Map · Quine–McCluskey
K-MAP: F(A,B,C) = A'C + BCA \ BC000111100011010010Minimal SOPA'·C+B·C✓ 2 Prime Implicants→ 1× 7404, 1× 7408, 1× 7432Σm(1, 3, 7) → Build in Practical Lab →
Lab Tip:Notice a minimal SOP expression like F = A·C' + B·C? In the Lab Timing Panel, you'll see why discarding the consensus term A·B creates a static-1 hazard glitch!
Theory View — Derive & Minimize Boolean Functions
Start with a Boolean expression, minterm list, or interactive truth table (up to 8 variables), or design a synchronous sequential counter with J-K, D, or T flip-flop excitation tables.
1

Enter an Expression or Toggle Truth Table Rows

Type an expression such as F(A,B,C) = A'C + BC or Σm(1,3,5,7) + d(2), or click output cells in the Truth Table / K-map directly to cycle between 0, 1, and X (Don't-Care).

2

Inspect the K-Map & Quine–McCluskey Reduction

Switch between 'How it was derived', 'K-map' (color-coded prime implicant loops), and 'Tabular method' (step-by-step binary minterm grouping and essential prime implicant coverage).

3

Select Allowed Gate Constraints & Send to Lab

Click 'All parts' to restrict synthesis to NAND-only (7400), NOR-only (7402), or standard 74xx ICs, then click 'Build it' to synthesize and load the circuit into the Practical Lab.

Start here

The whole product is one loop, and it is worth doing once end to end before anything else:

  1. In Theory, write a function — say F(A,B,C) = A'B + BC. It is minimized as you type.
  2. Open the Build it tab in Theory (or navigate to /build) and press Build this circuit in the lab. Real 74xx chips appear, wired, with the power rails already connected.
  3. In the Lab, open Verify. It sweeps all 2ⁿ input combinations through the circuit and diffs the result against your algebra.
  4. Now break it on purpose — pull the wire off pin 14 — and watch the lab tell you exactly what you did.

You never have to go through Theory, though. The lab has its own From equation button, and you can wire a circuit up from nothing and verify it against a target you type in later.

Writing a function

Everything lands on the same function, whichever way you write it. The parser accepts all of the usual notations, so you can type what your textbook uses:

A' !A ~A ¬ANOT Aany of the four
AB A·B A*B A&BA AND Bjuxtaposition is AND
A + B A|BA OR B
A ^ B A⊕BA XOR B
0 1constantstie to GND / +5V
F(A,B,C) = Σm(1,3,7)sum of mintermsthe rows where F = 1
F(A,B,C) = Σm(1,3) + d(6,7)with don't-caresrows you are free to choose
F(A,B,C) = ΠM(0,2)product of maxtermsthe rows where F = 0

Juxtaposition is AND, so AB is A AND B. An apostrophe is NOT, so A' is NOT A.

The theory workspace

Type an expression at the top, or click outputs in the truth table or K-map. Every view updates as you type:

  • Truth table— click any output bit to cycle it through 0, 1 and X (don't care).
  • K-map — rendered with the prime implicants looped. The loops are not re-derived for the drawing; they are the Quine–McCluskey result, drawn.
  • Derivation — Quine–McCluskey step by step: grouping by number of 1s, matching terms that differ by one bit, and the prime implicant chart that picks the essential ones.
  • Canonical forms — minterm list (Σm), maxterm list (ΠM), and the numeric vectors.

Gate rules

“Implement this using NAND only” is not a suggestion — in a digital logic course it is the whole exercise. So the rule is chosen before you build:

No restriction7400, 7402, 7404, 7408, 7432, 7486, 7410, 7411, 7420, 7421, 7427, 7430, 7474, 74LS76A, 74LS107A, 74175, 74174

Every gate and every chip in the library.

Fundamental gates only7408, 7432, 7404

AND, OR, NOT — nothing else.

NAND only7400

One chip: the 7400.

NOR only7402

One chip: the 7402.

No XOR7400, 7402, 7404, 7408, 7432

Everything except XOR and XNOR.

Build from blocks7400, 7402, 7404, 7408, 7432, 7486, 7410, 7411, 7420, 7421, 7427, 7430, 7474, 74LS76A, 74LS107A, 74175, 74174

Compose bigger circuits out of half adders, muxes and decoders.

When a rule is active, the palette narrows to match — you cannot place gates you are not allowed to use — and the synthesizer is steered by it, so Build this circuit obeys the rule rather than apologizing for breaking it.

The power rails matter here. A constant 1 is not 0-preserving, so having +5V on the board makes {XOR, AND} universal when it would otherwise be useless.

The diagram editor

Diagramis a canvas. Drag a block out of the palette, drag from one of its pins to another block's pin to wire them, and drag the blocks around until it reads the way you want.

  • Drag a pin to a pin to wire them. Click a wire to select it.
  • Drag empty space to marquee-select. Hold ⌥ or drag with the middle button to pan; ⌘-scroll to zoom.
  • R rotates the selection a quarter turn, ⇧R the other way.
  • Arrow keys nudge one grid step, ⇧ and an arrow one pixel. Hold ⌘ while dragging to ignore the grid entirely.
  • ⌘Z / ⇧⌘Z undo and redo. ⌘D duplicates. ⌫ deletes.
  • Arrange tidies everything into left-to-right dataflow, and the result is still yours to move.

Getting the wires straight

A pin sits at a fraction of its block's height, and two different parts almost never line up — so a rough drag used to leave a small two-bend jog in the middle of a wire that plainly wanted to be straight. While you are dragging, a block within a few pixels of straightening one of its wires is now pulled the rest of the way, and a whole bus of them agrees on one shift.

Building bigger things

Select several blocks and press G. They fold into one block, which joins the palette and can be placed as many times as you like. Build a 4-bit adder once, group it, place it four times — that is a 16-bit adder, and it is how every real digital system is put together.

Exporting

SVG first, and deliberately. It is a vector, it stays sharp at any size, Word and Google Docs both accept it, and you can open it afterwards to add an annotation the tool did not think of. PNG is there at 1×, 2× and 4× for submission portals that refuse anything else, and File → Save as JSON keeps the editable document.

LaTeX is there for reports written in LaTeX, where a PNG of a circuit has the wrong fonts, the wrong line weights and goes soft in print. It writes a TikZ picture of the same drawing — download a standalone .tex you can compile on its own, or copy the figure straight into your document.

The lab

Drag parts from the palette. Click one pin, then another, to wire them — the wire routes itself around obstacles. Click a switch to toggle it.

Wire Selection & Routing Controls

Clicking any wire on the Schematic or Breadboard selects it:

  • Action HUD: A docked toolbar opens allowing you to recolor the wire across 8 distinct hues or delete it.
  • Horizontal Routing Handle: A circular white handle appears along the horizontal segment. Drag this handle up or down to adjust its Manhattan routing channel (snappedY) without moving the connected pins.
  • Quick Delete: Hold Alt and click a wire, or press Delete / Backspace while selected, to delete it instantly.

Logic is four-state: 0, 1, Z and X. Z is a floating, undriven net — not zero. X is a conflict or power-up indeterminate state. This is the difference between a simulator that tells you your circuit works and one that tells you the truth: a boolean simulator reads an unconnected input as false and stays quiet.

Wires are colored by net, cycling through eight hues, for the same reason real jumper wire is multicolored — so you can trace one. But Z and X keep their own unmistakable color and dashing. A broken wire must never be able to look like a working one.

X-Ray Mode (Hotkey X)

Press X in Breadboard view to reveal the live internal logic gate and flip-flop symbols inside every DIP package, color-coded by electrical state.

Airwires & Ravine Dragging

Press Ato show unrouted rat's-nest airwires. Drag any IC horizontally along the center ravine to re-seat it — attached strip jumpers automatically translate with the pins!

Presets & building blocks

The Presets menu is organized around one idea: complex circuits are built from simple ones.

  • Building blocks — half and full adders, comparators, multiplexers, decoders, priority encoders.
  • Hierarchical blocks — full adders wired from two half adders and an OR; 4:1 mux as a tree of three 2:1 muxes; 8:1 mux from two 4:1s and a 2:1.
  • Large circuits — 2-, 4-, 8- and 16-bit ripple-carry adders. Watch the top sum bit wait for the carry to walk all the way up.

Logic gates

The seven gates, what each one means, and the algebraic properties that decide how it behaves when you build with it.

Before the gates: the four values

0Low

A net driven to ground. In TTL, anything below about 0.8 V.

1High

A net driven to +5 V. In TTL, anything above about 2.0 V.

ZFloating

Nothing is driving this net at all. It is NOT 0 — a real TTL input left floating drifts HIGH and behaves unpredictably, so reading it as 0 is the worst available guess. Gatelab propagates it and raises a fault instead.

XConflict

Two drivers disagree — one is pulling the net to 0 while another pulls it to 1. On a real board this is a short, and it is the one that gets hot.

AND

Y = A · B740874117421

The output is 1 only when EVERY input is 1.

ABY
000
010
100
111
  • Commutative — A ∘ B = B ∘ A — the order of the inputs does not matter.
  • Associative — (A ∘ B) ∘ C = A ∘ (B ∘ C) — so it chains, and a wide version means what you expect.
  • Universal — This gate alone cannot express every function; it needs help.
  • Identity: 1 — A ∘ 1 = A — feeding a constant 1 leaves the other input untouched, which is how you disable an input you are not using.
  • Annihilator: 0 — A ∘ 0 = 0 — a single 0 decides the output on its own, whatever else is happening.

AND is a gate that asks 'are all of these true?'. Its controlling value is 0: a single 0 on any input forces the output to 0, whatever the others are doing — which is why AND(0, X) is 0 and not X.

OR

Y = A + B7432

The output is 1 when ANY input is 1.

ABY
000
011
101
111
  • Commutative — A ∘ B = B ∘ A — the order of the inputs does not matter.
  • Associative — (A ∘ B) ∘ C = A ∘ (B ∘ C) — so it chains, and a wide version means what you expect.
  • Universal — This gate alone cannot express every function; it needs help.
  • Identity: 0 — A ∘ 0 = A — feeding a constant 0 leaves the other input untouched, which is how you disable an input you are not using.
  • Annihilator: 1 — A ∘ 1 = 1 — a single 1 decides the output on its own, whatever else is happening.

The dual of AND. Its controlling value is 1: one input at 1 decides the output on its own, so OR(1, X) is 1 even with a floating second input.

NOT

Y = A′7404

The output is the opposite of the input.

AY
01
10
  • Involution — (A′)′ = A — invert twice and you are back where you started, which is why a double inverter is a buffer.
  • Universal — NOT alone cannot express every function — it cannot combine two signals at all.

An inverter. You rarely buy one: NOT is free inside a NAND or NOR package — tie both inputs together and NAND(a, a) = a′ — which is why a NAND-only design usually needs no 7404 at all.

NAND

Y = (A · B)′7400741074207430

AND, inverted. The output is 0 only when every input is 1.

ABY
001
011
101
110
  • Commutative — A ∘ B = B ∘ A — the order of the inputs does not matter.
  • Associative — (A ∘ B) ∘ C ≠ A ∘ (B ∘ C) — so a CHAIN of them is not the same as one wide gate. You cannot widen it by chaining; that is what the 7410 and 7420 are for.
  • Universal — Every Boolean function can be built from this gate alone.

UNIVERSAL: every Boolean function can be built from NAND alone. That, plus the fact that it is the cheapest gate to make in TTL, is why the 7400 is the most-produced logic chip in history.

NOR

Y = (A + B)′74027427

OR, inverted. The output is 1 only when every input is 0.

ABY
001
010
100
110
  • Commutative — A ∘ B = B ∘ A — the order of the inputs does not matter.
  • Associative — (A ∘ B) ∘ C ≠ A ∘ (B ∘ C) — so a CHAIN of them is not the same as one wide gate. You cannot widen it by chaining; that is what the 7410 and 7420 are for.
  • Universal — Every Boolean function can be built from this gate alone.

Also UNIVERSAL, and the dual of NAND. The Apollo Guidance Computer was built almost entirely from NOR gates — about 5,600 of them, and nothing else.

XOR

Y = A ⊕ B7486

The output is 1 when the inputs DIFFER.

ABY
000
011
101
110
  • Commutative — A ∘ B = B ∘ A — the order of the inputs does not matter.
  • Associative — (A ∘ B) ∘ C = A ∘ (B ∘ C) — so it chains, and a wide version means what you expect.
  • Universal — This gate alone cannot express every function; it needs help.
  • Identity: 0 — A ∘ 0 = A — feeding a constant 0 leaves the other input untouched, which is how you disable an input you are not using.

The difference detector, and the sum bit of an adder. It has NO controlling value — no single input can decide the output alone — so XOR(anything, X) is X. It is also affine, which is why a rule of 'XOR only' can never build an AND.

XNOR

Y = (A ⊕ B)′

The output is 1 when the inputs are the SAME.

ABY
001
010
100
111
  • Commutative — A ∘ B = B ∘ A — the order of the inputs does not matter.
  • Associative — (A ∘ B) ∘ C = A ∘ (B ∘ C) — so it chains, and a wide version means what you expect.
  • Universal — This gate alone cannot express every function; it needs help.
  • Identity: 1 — A ∘ 1 = A — feeding a constant 1 leaves the other input untouched, which is how you disable an input you are not using.

The equality detector. An n-bit comparator is n XNORs and an AND.

74xx chips & exceptions

The GateLab 74xx TTL integrated circuit catalog covers 17 standard DIP packages, transcribed directly from official Texas Instruments datasheets.

74xx TTL Integrated Circuit Catalog & Pinout Exceptions
Review power supplies, pinout layouts, and non-standard traps before wiring on the bench.
PartFunctionPackageVCC / GNDDatasheet Trap & Pinout Rule
7400 / 7408 / 7432 / 7486Quad 2-in NAND / AND / OR / XORDIP-14Pin 14 / Pin 7Standard pinout: Gates 1–4 inputs and outputs run in order (1,2→3; 4,5→6; 9,10→8; 12,13→11).
7402Quad 2-in NORDIP-14Pin 14 / Pin 7Output-First Trap: Left half puts outputs on Pins 1 and 4! Gate 1 is inputs (2, 3) → Pin 1 (1Y); Gate 2 is inputs (5, 6) → Pin 4 (2Y). Right half returns to Y on pins 10 and 13.
7404Hex Inverter (NOT)DIP-14Pin 14 / Pin 7Right-Half Reversed: Left side is 1→2, 3→4, 5→6. Right side reverses direction: Pin 8 is 4Y (input on Pin 9 = 4A), Pin 10 is 5Y, Pin 12 is 6Y.
7410 / 7411 / 7427Triple 3-in NAND / AND / NORDIP-14Pin 14 / Pin 7Wrapped Gate 1: Gate 1's pins wrap across the notch: inputs on Pins 1, 2, and 13 → output 1Y on Pin 12! Gate 2 is (3,4,5→6); Gate 3 is (9,10,11→8).
7420 / 7421Dual 4-in NAND / ANDDIP-14Pin 14 / Pin 7NC Pins: Pins 3 and 11 are No Connect (NC). Gate 1 is (1,2,4,5→6); Gate 2 is (9,10,12,13→8).
74308-input NANDDIP-14Pin 14 / Pin 7NC Pins & Opposite Output: Pins 9, 10, and 13 are NC. Eight inputs on Pins 1,2,3,4,5,6,11,12. The single output 1Y sits on Pin 8 directly opposite GND.
7474Dual D Flip-Flop (+Edge)DIP-14Pin 14 / Pin 7Active-low async CLR (pins 1, 13) and PRE (pins 4, 10) must be tied to +5V (VCC) for normal clocking. Powers up at X (unknown) until CLR is pulsed low.
74LS76ADual JK Flip-Flop (-Edge) with PRE/CLRDIP-16Pin 5 / Pin 13Non-Corner Center Supply Trap: 16-pin package where VCC is Pin 5 and GND is Pin 13 (Pin 16 is 1K, Pin 8 is 2CLR). Wiring it like a 7474 leaves it unpowered!
74LS107ADual JK Flip-Flop (-Edge)DIP-14Pin 14 / Pin 7Clear only (no preset). Classic ripple-counter part: tie J and K to +5V and pulse CLK. Pin 1 is 1J, Pin 7 is GND, Pin 14 is VCC.
74175Quad D Register (+Edge)DIP-16Pin 16 / Pin 816-pin corner supply (Pin 16 = VCC, Pin 8 = GND). Four D flip-flops sharing common CLK (Pin 9) and common active-low CLR (Pin 1). Both Q and Q̄ outputs.
74174Hex D Register (+Edge)DIP-16Pin 16 / Pin 816-pin corner supply (Pin 16 = VCC, Pin 8 = GND). Six D flip-flops sharing common CLK (Pin 9) and common active-low CLR (Pin 1). True Q outputs only (no Q̄).

7400

4 × 2-input NANDDIP-14

Quad 2-input NAND

  • 1A1
  • 1B2
  • 1Y3
  • 2A4
  • 2B5
  • 2Y6
  • GND7
7400
  • 14VCC
  • 134B
  • 124A
  • 114Y
  • 103B
  • 93A
  • 83Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7402

4 × 2-input NORDIP-14

Quad 2-input NOR

  • 1Y1
  • 1A2
  • 1B3
  • 2Y4
  • 2A5
  • 2B6
  • GND7
7402
  • 14VCC
  • 134Y
  • 124B
  • 114A
  • 103Y
  • 93B
  • 83A

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

Careful: the 7402 is not shaped like the 7400. Its gate 1 is inputs (2, 3) → output 1— the output comes first. Pattern-matching one chip's layout onto another is the classic way to wire a NOR chip backwards.

7404

6 × 1-input NOTDIP-14

Hex inverter

  • 1A1
  • 1Y2
  • 2A3
  • 2Y4
  • 3A5
  • 3Y6
  • GND7
7404
  • 14VCC
  • 136A
  • 126Y
  • 115A
  • 105Y
  • 94A
  • 84Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

The inverters reverse direction on the right-hand half of the package. Read the pin names, not the pattern.

7408

4 × 2-input ANDDIP-14

Quad 2-input AND

  • 1A1
  • 1B2
  • 1Y3
  • 2A4
  • 2B5
  • 2Y6
  • GND7
7408
  • 14VCC
  • 134B
  • 124A
  • 114Y
  • 103B
  • 93A
  • 83Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7432

4 × 2-input ORDIP-14

Quad 2-input OR

  • 1A1
  • 1B2
  • 1Y3
  • 2A4
  • 2B5
  • 2Y6
  • GND7
7432
  • 14VCC
  • 134B
  • 124A
  • 114Y
  • 103B
  • 93A
  • 83Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7486

4 × 2-input XORDIP-14

Quad 2-input XOR

  • 1A1
  • 1B2
  • 1Y3
  • 2A4
  • 2B5
  • 2Y6
  • GND7
7486
  • 14VCC
  • 134B
  • 124A
  • 114Y
  • 103B
  • 93A
  • 83Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7410

3 × 3-input NANDDIP-14

Triple 3-input NAND

  • 1A1
  • 1B2
  • 2A3
  • 2B4
  • 2C5
  • 2Y6
  • GND7
7410
  • 14VCC
  • 131C
  • 121Y
  • 113C
  • 103B
  • 93A
  • 83Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7411

3 × 3-input ANDDIP-14

Triple 3-input AND

  • 1A1
  • 1B2
  • 2A3
  • 2B4
  • 2C5
  • 2Y6
  • GND7
7411
  • 14VCC
  • 131C
  • 121Y
  • 113C
  • 103B
  • 93A
  • 83Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7420

2 × 4-input NANDDIP-14

Dual 4-input NAND

  • 1A1
  • 1B2
  • NC3
  • 1C4
  • 1D5
  • 1Y6
  • GND7
7420
  • 14VCC
  • 132D
  • 122C
  • 11NC
  • 102B
  • 92A
  • 82Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7421

2 × 4-input ANDDIP-14

Dual 4-input AND

  • 1A1
  • 1B2
  • NC3
  • 1C4
  • 1D5
  • 1Y6
  • GND7
7421
  • 14VCC
  • 132D
  • 122C
  • 11NC
  • 102B
  • 92A
  • 82Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7427

3 × 3-input NORDIP-14

Triple 3-input NOR

  • 1A1
  • 1B2
  • 2A3
  • 2B4
  • 2C5
  • 2Y6
  • GND7
7427
  • 14VCC
  • 131C
  • 121Y
  • 113C
  • 103B
  • 93A
  • 83Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7430

1 × 8-input NANDDIP-14

8-input NAND

  • 1A1
  • 1B2
  • 1C3
  • 1D4
  • 1E5
  • 1F6
  • GND7
7430
  • 14VCC
  • 13NC
  • 121H
  • 111G
  • 10NC
  • 9NC
  • 81Y

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: 1A, 1B are the inputs of gate 1 and 1Y is its output. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

7474

2 × D flip-flop, positive edgeDIP-14

Dual D flip-flop

  • 1CLR1
  • 1D2
  • 1CLK3
  • 1PRE4
  • 1Q5
  • 1Q̅6
  • GND7
7474
  • 14VCC
  • 132CLR
  • 122D
  • 112CLK
  • 102PRE
  • 92Q
  • 82Q̅

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: the leading digit is which flip-flop, so 1CLK clocks flip-flop 1 — and a name with no digit, like the '175's CLK, is shared by all of them. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

74LS76A

2 × J-K flip-flop, negative edgeDIP-16

Dual J-K flip-flop

  • 1CLK1
  • 1PRE2
  • 1CLR3
  • 1J4
  • VCC5
  • 2CLK6
  • 2PRE7
  • 2CLR8
74LS76A
  • 161K
  • 151Q̅
  • 141Q
  • 13GND
  • 122K
  • 112Q
  • 102Q̅
  • 92J

Power: pin 5 → +5V · pin 13 → GND

Pin names follow the datasheet: the leading digit is which flip-flop, so 1CLK clocks flip-flop 1 — and a name with no digit, like the '175's CLK, is shared by all of them. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

Careful: the supply is on pin 5 and pin 13, not the corners. Wire it like a 7474 and the chip simply never powers up.

74LS107A

2 × J-K flip-flop, negative edgeDIP-14

Dual J-K flip-flop

  • 1J1
  • 1Q̅2
  • 1Q3
  • 1K4
  • 2Q5
  • 2Q̅6
  • GND7
74LS107A
  • 14VCC
  • 131CLR
  • 121CLK
  • 112J
  • 102CLR
  • 92CLK
  • 82K

Power: pin 14 → +5V · pin 7 → GND

Pin names follow the datasheet: the leading digit is which flip-flop, so 1CLK clocks flip-flop 1 — and a name with no digit, like the '175's CLK, is shared by all of them. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

74175

4 × D flip-flop, positive edgeDIP-16

Quad D register

  • CLR1
  • 1Q2
  • 1Q̅3
  • 1D4
  • 2D5
  • 2Q̅6
  • 2Q7
  • GND8
74175
  • 16VCC
  • 154Q
  • 144Q̅
  • 134D
  • 123D
  • 113Q̅
  • 103Q
  • 9CLK

Power: pin 16 → +5V · pin 8 → GND

Pin names follow the datasheet: the leading digit is which flip-flop, so 1CLK clocks flip-flop 1 — and a name with no digit, like the '175's CLK, is shared by all of them. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

74174

6 × D flip-flop, positive edgeDIP-16

Hex D register

  • CLR1
  • 1Q2
  • 1D3
  • 2D4
  • 2Q5
  • 3D6
  • 3Q7
  • GND8
74174
  • 16VCC
  • 156Q
  • 146D
  • 135Q
  • 125D
  • 114D
  • 104Q
  • 9CLK

Power: pin 16 → +5V · pin 8 → GND

Pin names follow the datasheet: the leading digit is which flip-flop, so 1CLK clocks flip-flop 1 — and a name with no digit, like the '175's CLK, is shared by all of them. Numbering runs anticlockwise from the notch — down the left side, then back up the right.

Trainer chassis & breadboard

Switching from Schematic to Breadboard seats your components onto the MODEL 74XX-TTL · 5V BENCH Digital Logic Trainer, a high-fidelity virtual workbench with integrated power, pulsing, input switches, and logic indicators.

1. DC Power Supply (+5.0V & 0.0V GND)

Located top-left. Click the red +5.0V (VCC) or blue 0.0V (GND) banana socket and click any rail hole to supply power. Or click Auto-Power in the top toolbar to automatically wire and bridge supplies for all seated ICs.

2. Pulse / Clock Generator (PULSE, CLR, 1Hz–5Hz)

Wire the amber CLK OUT socket to flip-flop clock pins. Click PULSE for a clean 0 → 1 → 0 transition, CLR to reset flip-flops from power-up X to 0, or toggle 1Hz / 2Hz / 5Hz for continuous execution.

3. Logic Input Switches (Bottom Chassis)

Click the physical toggle bat lever on any switch to toggle its logic state between 1 (HIGH) and 0 (LOW). Click its blue OUT banana socket to route a jumper wire to the breadboard. Add more switches with + Input.

4. Logic Indicators (Top-Right Chassis)

Each LED displays a real-time 4-state digital readout badge (0, 1, Z floating, or X conflict). Click the small lens dot beside any LED label to cycle across 7 lens colors (Green, Red, Amber, Blue, Cyan, Purple, White).

Three Physical Breadboard Rules Modelled Strictly by GateLab:

  • 5-Hole Vertical Terminal Strips: In each column (1–63), holes A–E short together, and holes F–J short separately. They never meet across the center ravine.
  • One Leg or Jumper Per Hole: An IC leg occupies row E (pins 1..N/2) and row F (pins N/2+1..N). Jumper wires must plug into the remaining 4 free holes (A–D or G–J) in that column.
  • Midpoint Power Rail Split: Like physical 63-column breadboards, the +top, -top, +bottom, and -bottom rails break between Column 32 and Column 33. Bridge the split with jumper wires or click Auto-Power when placing ICs on the right half.

Flip-flops, clocks and counters

Combinational outputs depend solely on current inputs. Flip-flops introduce memory: their outputs change only at clock edges.

Why Flip-Flops Power Up at X (Unknown State)

Real bistable multivibrators power up in an indeterminate state dictated by transistor mismatch. GateLab reflects physical reality: newly placed flip-flops start at X, and clocking X propagates X. You must click CLR on the Trainer Clock module (or Clear in the Clock Drawer) to initialize flip-flops to 0 before pulsing the clock!

7474

Dual D flip-flop, positive edge, with asynchronous preset and clear.

The workhorse. Vcc on 14, GND on 7, like the gates.

74LS76A

Dual J-K flip-flop, negative edge, with preset and clear.

Vcc is pin 5 and GND is pin 13 — not the corners. Wire it like a 7474 and the chip never powers up. (The plain 7476 shares this pinout but is pulse-triggered rather than edge-triggered; the edge-triggered part is the one modelled, so it is the one named.)

74LS107A

Dual J-K flip-flop, negative edge, clear only — no preset.

The usual ripple-counter part: tie J and K high and it toggles.

74175

Quad D flip-flop with one shared clock and one shared clear — a 4-bit register.

The shared clock is the point. Wire each Q to the next D and the same chip is a shift register.

74174

Hex D flip-flop, shared clock and clear. A 6-bit register.

No complementary outputs — Q only.

Faults

The Faults panel runs as a separate pass from value resolution. The simulator always produces a value so the board stays usable; the fault panel separately alerts you to real physical wiring errors:

UNPOWERED_IC

A chip has no +5V on pin 14 (or pin 5/16), or no GND on pin 7 (or pin 13/8).

Wire the rails or click Auto-Power. An unpowered TTL chip drives nothing — its outputs sit at Z, and the whole downstream circuit floats. This is the single most common bench mistake, and it is why the fault exists.

FLOATING_INPUT

A gate input is connected to nothing.

A real TTL input left floating drifts HIGH, unreliably. Gatelab refuses to guess: it propagates X. Tie the input to +5V or GND, or wire it to a valid signal source.

OUTPUT_SHORT

Two gate outputs are wired to each other and disagree.

On a real board this is a short between a totem-pole HIGH and a totem-pole LOW, and it is the one that gets hot. Delete one of the wires.

OUTPUT_DRIVES_RAIL

A gate output is wired directly to +5V or GND.

The rail always wins and the gate is fighting it. You almost certainly meant to wire an INPUT to the rail.

RAIL_SHORT

+5V and GND are on the same net.

Dead short across the power supply. Find and delete the jumper that bridges the positive and negative rails.

OSCILLATION

A feedback loop never settles — an odd number of inversions round a ring.

Combinational logic must be acyclic. Break the loop, unless a ring oscillator is what you wanted.

UNUSED_GATE

Some gates in a package are not used.

Not an error — just a note. On a real board you would tie their inputs to a rail rather than leave them floating.

Verification

The Verification Bridge sweeps all $2^n$ input combinations through your wired circuit and diffs the results against your algebraic Boolean specification.

  • Variable-Label Alignment: Input switches match Boolean variables by exact label name (e.g. A, B, C or S, D0, D1), not array order, supporting up to 16 variables.
  • Tarjan SCC Feedback Detection:Netlists are checked with Tarjan's Strongly Connected Components algorithm; any combinational feedback loops or unclocked latches are caught and flagged as non-combinational memory.
  • 5 Automated Fault Hypotheses: When verification fails, GateLab tests root-cause hypotheses:
    • UNPOWERED_IC: IC supply pins missing +5V or GND.
    • FLOATING_INPUT: Gate inputs disconnected and drifting to X.
    • output-inverted: Circuit output is the exact complement of target (e.g. NAND used for AND).
    • output-stuck: Circuit output is permanently stuck at 0 or 1.
    • inputs-swapped: Tests if swapping any two input signals (e.g. A ↔ B) produces a 100% match.

Timing and hazards

The GateLab Timing Drawer houses a Dual Timing Engine designed for both combinational hazard analysis and sequential clock debugging:

1. Combinational Unit-Delay Engine

Drives inputs in a forward-then-reverse Gray-code sequence (changing 1 bit per step) with configurable unit gate delays (1, 2, or 3 ticks). By changing only one variable at a time, it isolates true static and dynamic logic hazards from unavoidable function hazards. Capped at 7 inputs (256 held steps).

2. Clocked Sequential Engine

Drives 18 continuous clock cycles while holding input switches constant. Plots flip-flop state transitions, propagation ripple delay, and register waveforms.

Remember: minimal is not hazard-free. The redundant consensus term that Quine–McCluskey discards during minimization is precisely the term that prevents a static-1 glitch. Add it back to eliminate the spike!

The report

Report assembles the whole derivation into one printable page: truth table, K-map, tabular reduction, schematic/breadboard snapshot, and the row-by-row verification matrix.

Print it with your browser (⌘P / Ctrl-P) and “Save as PDF”. It outputs vector SVG elements so figures stay crisp and publication-ready.

Shortcuts & gestures

Click wireSelect wire (opens HUD for color/delete & exposes draggable routing handle)
Alt+Click wireDelete wire instantly
Delete / BackspaceDelete selected wire or component
Drag white handleAdjust wire horizontal Manhattan routing channel (snappedY)
Click pin, click pinWire two pins or breadboard holes together
Click switch lever / SpaceToggle logic switch between 0 (LOW) and 1 (HIGH)
PULSE buttonFire a complete 0 → 1 → 0 clock pulse (advances rising & falling edge ICs)
CLR buttonReset sequential flip-flops from power-up X to 0
XToggle DIP internal gate / flip-flop X-Ray view on breadboard
AToggle unrouted schematic Airwires rat's nest guide
FToggle Zen fullscreen mode
[ or BToggle Parts palette sidebar
]Toggle Faults & Verification inspector
R / Shift+RRotate selected gate or IC 90° CW / CCW
H / VFlip selected gate horizontally / vertically
G / Shift+GGroup selection into reusable IC / Ungroup (Diagram workbench)
EscCancel wire drawing or clear active selection
Tab / Shift+TabFocus next / previous component or control
Space / EnterSelect focused part or toggle focused switch
⌘Z / Ctrl-ZUndo
⇧⌘Z / Ctrl-Shift-ZRedo
Scroll / pinchZoom canvas (anchored to cursor or touch center)
Drag backgroundPan canvas with velocity inertia

GateLab runs 100% in your browser. All designs and states are saved locally in localStorage with zero server uploads.

Terms & system check

Client-Side Execution Terms & Hardware Diagnostics
GateLab runs 100% in your local browser sandbox. Review our execution terms or run an automated system capability diagnostic at any time.

Our 4-clause terms guarantee that all Boolean derivations, 74xx delta-cycle simulations, and $2^n$ verification sweeps run entirely client-side using TypedArrays and web workers. Zero schematics, formulas, or personal telemetry are uploaded to external servers.

Contact

Found a wrong answer, a bad pinout, or something that should exist and does not? That is the most useful thing you can send.

Get in touch
@thehav0k