Chip Hippo ← Back to site

Running a Simulation

Once a circuit is wired up, Run hands it to the simulation engine, which traces power from every supply, resolves the electrical state of every net, and settles the circuit — LEDs light, chips report their health, and the probe and logic analyzer come alive. This page covers the transport (Run, Pause, Step, speed), what the signal levels mean, what triggers a re-settle, and what you can still interact with while the circuit runs.

A running circuit with lit LEDs

Run & Stop

Press Run in the header toolbar — or the shortcut Space / Cmd+R (Ctrl+R on Windows/Linux) — to start the simulation. The button becomes Stop, editing locks (you can't move parts, place new ones, or lay wires while running), and the engine cold-starts: it settles the circuit once from scratch and begins driving live views from the result.

Press Stop (same shortcut) to freeze the simulation and return to editing. Stopping clears all run-volatile state — net levels, chip health badges, any sequential state (counter values, shift-register contents, clock phase), and over-voltage chip damage, so a chip you burnt out is whole again the moment you stop. Nothing that happens during a run outlives it.

Space is disabled while a placement, wire, or bus tool is armed (it might want the key for its own gesture) or while a text field has focus — use Cmd/Ctrl+R in that case, or just click Run.

Signal levels: H, L, Z, X

Every point in the circuit — a hole, a pin, a wire — settles to one of four levels. The probe tool and the logic analyzer both speak this same vocabulary (see Probing & Net Names):

You don't need to know how the engine computes these to use the app, but recognizing X on a probe reading is the fastest way to spot a wiring mistake.

What re-settles the circuit

The circuit isn't a one-shot calculation — anything that could change what a net carries triggers a fresh settle while you're running:

Each re-settle starts from the previous stable state rather than from scratch — this warm start is what lets a cross-coupled latch or a counter hold its value across small changes instead of resetting every time you touch something.

The transport — Pause, Step & speed

For circuits with a clock source, the toolbar grows a small transport cluster next to Run the moment you start:

Timers keep simulated time, and the transport owns it. A 555 or a CD4000 timer is told how long the circuit has been running — real seconds since Run, scaled by the speed. Pause stops that clock along with the clock bricks, so a pulse in progress is frozen where it is; Speed scales it, so a 1 Hz 555 blinks four times a second at ×4; and Step moves it on with the clocks — by the fastest clock's half-period, or, with no clock brick on the desk, straight to the next moment a timer's output changes, so a circuit built round a 555 can be single-stepped edge by edge too.

See Power & Clock Sources for placing and configuring a clock brick, and Logic Analyzer & Timing for capturing what these edges actually do to your signals over time.

What lights up while running

Live views render entirely from the settled simulation state — nothing is computed by the views themselves:

Interacting live

Switches, push buttons, and clock bricks stay fully interactive while running — click a slide switch to flip it, hold a push button or a tactile button to press it, click a DPDT push switch to latch or release it, click one position of a DIP switch bank to open or close it, or click a manual clock to pulse it by hand. Each of these is exactly the kind of input event described above: it doesn't just update its own view, it triggers a fresh settle of the whole circuit, so downstream LEDs and chips react immediately.

Everything that edits the circuit's topology — placing, moving, or deleting a part, board, or wire — is locked out until you Stop. Part state (a switch position, a button press, a clock's phase) is not topology, so it stays live the whole time you're running.

Oscillations & conflicts

"The circuit settles" just means: the engine keeps re-evaluating every net and chip, feeding each result back in, until nothing changes anymore. Most circuits reach that fixed point in a handful of passes, faster than you can perceive.

Two things can go wrong:

Either way, the affected nets read X on the probe and in the logic analyzer, which is your cue to go find the wiring mistake causing it.

Mixing logic families

A 74LS (TTL) chip and a CD4000 (CMOS) chip can share a board, and at 5 V they can share signals — but the two were not designed to the same voltages, and Chip Hippo says so where it matters. None of these changes a level; each is a warning naming the net, with the fix:

One difference works the other way. A standard CD4000 output is too weak to burn an LED: at 5 V it can push only about 4 mA through one, a fifth of what an LED is rated for, so an LED wired straight onto a CD4000 output with no resistor lights — on the desk as on a bench. The same goes for an LED fed through a CD4066B or CD4051B/52B/53B switch at 5 V, whose on-resistance (about 470 Ω) does the limiting. Above 5 V it stops being true: at 9 V the output would pass about 15 mA and overheat the chip, and at 12–15 V the LED too, so there the LED burns as it would off a 74LS output. Two parts are built to drive hard and burn an LED at any supply: the CD4049UB/CD4050B buffers when their output is LOW, and the CD4511B's segment outputs. A resistor is still good practice.

A more electrical simulation

Everything on this page is the standard engine: every net is a clean logic level and every change arrives instantly. Settings ▸ Spice Lite switches on a second engine with time, charging capacitors, current limits on outputs and supplies, and the resistance of the wires. See Spice Lite.


Next: Power & Clock Sources for supply voltages, the over-voltage damage rule, and clock bricks in depth, or Probing & Net Names to read exactly what's happening on any net.