Circuit Simulator

A component-level logic simulator: switches, gates, named nets, LEDs, displays and probes, wired on a canvas and run live as you flip the inputs. Build by hand, from an expression, or from an example, then make the circuit’s truth table and get the parts to build it with. The tabs are Bench, Truth table, Materials and Saved.

Open Circuit Simulator

Inputs

A circuit’s inputs are the poles of the switch bank on the canvas, one letter each. The input stage beside it lights an LED for each switch and puts every input and its complement on the bus by name — A and A′, B and B′ — so any circuit on the board can read them with a Bus read.

  • The Inputs panel flips each switch, and its − and + step through every combination, with the value in binary, decimal and hex.
  • Add an input puts the next letter on the bank; Remove the last takes the last one off, with its LED, inverter and bus names. There is no fixed number: up to 26, one per letter.
  • Typing an expression that reads a new letter adds it as an input on its own.

Examples

The Examples panel builds a small circuit to explore: a half adder, a full adder, a 2-to-4 decoder, a 2-to-1 multiplexer, a 2-bit comparator and 4-bit parity. Each lands below what is already on the board, with an LED on every output, and its inputs join the switch bank. Click it again to take it off. A new design starts on the full adder.

The largest example, a five-bit multi-base decoder, shows five switches at once in decimal, octal, hexadecimal, BCD, Gray code and Base32. It is built section by section; Share terms chooses whether a product term is built once per section or once for the whole board.

Simulating

  • Flip a switch on the canvas or in the Inputs panel, or throw a 1/0 toggle. There is no clock: everything downstream settles immediately.
  • A wire carrying 1 turns green; a net nobody drives, or one caught in a loop, goes red and carries X.

Building by hand

Drag parts from Components onto the canvas: gates, a switch bank, bus reads and bus drives, VCC and GND, manual 1/0 toggles, LEDs, probes, text in three sizes, and 7- and 14-segment displays (common cathode or common anode).

  • Wire two ways. Drag from a pin to another and the router lays the wire. Or click a pin and draw it yourself, as in Breadboard Simulator: the wire follows the pointer with one square corner, each click fixes a corner, and clicking a pin ends it. Click another wire instead to join its net, marked with a dot. / turns the corner the other way, Backspace takes the last one back, Esc cancels. A drawn wire keeps its shape, and its ends follow the pins when parts move.
  • The grid. Parts snap so their pins sit on grid points, and every wire, drawn or routed, runs along the grid with square corners, the way Breadboard Simulator lays its board. The dots mark every second grid point.
  • Drag a wire's run to bend it; Auto-route hands a hand-drawn wire back to the router.
  • Bus taps are the one thing that is not point to point: every tap sharing a name is one node. A drive puts a signal on a name; reads take it off anywhere. Shift-click a tap to box every tap with its name and light the wires on that net — the quick way to find where a name goes.
  • Select with a click, Shift-click to add, Shift-drag (or Drag: select) to box a group, Ctrl+A for everything.
  • Edit: R turns the selection 90°, Ctrl+C Ctrl+X Ctrl+V copy, cut and paste, Ctrl+D duplicates, Ctrl+Z undoes and Ctrl+Shift+Z redoes, Delete removes, Esc deselects. Clear canvas, in the toolbar, takes everything off; Ctrl+Z brings it back.
  • Look around: the wheel zooms, dragging the grid pans, Fit frames everything, Full screen gives the board the window.
  • Trace a signal: Ctrl-click a pin, a wire or a part to light every wire its signal travels to get there, back to the switches; the same click again clears it. Shift-click a pin to ring every pin on its net.
  • Reading the wires. Two different signals never run along the same line — they only cross, and a crossing joins nothing. One signal splitting to several places shares one run, and a dot marks each split. A dot means connected; no dot means not.
  • The side panel’s sections fold from their headings, so the palette can have the room.

Expressions and simplifying a net

In the Expression input panel, set the NET name (F by default) and the FORM — AND–OR or NAND only — type an expression and press Build circuit (or Enter). The smallest circuit for that function is built where you are looking, with a bus drive of that name. What lands is not a transcription: the expression is evaluated, minimized and factored first, so AB + AC and A(B + C) build the same two gates. Any letter it reads that is not an input yet is added to the switch bank.

Select a bus drive and the inspector says what its net costs now, what the minimal and factored forms would cost, and whether it is already simplified. Simplify this net rebuilds it.

The builder, the probes and the truth table step through every combination of the inputs, so they work on up to 12 inputs (4,096 combinations).

The truth table

The Truth table tab steps the switch bank through every combination and writes down what every output does: each LED, each bus name a circuit drives, each probe, and each display (read back as the character it shows). A card per output says how often it is high and the minimal sum of products it works out to, and the table below lists every row. An output nothing drives shows X.

Analysis probes

Wire a probe to any net and it reports what that net does over every combination of the switches — measured from the circuit:

  • Truth-table probe — every row, with the 1-rows picked out (up to 6 inputs on the canvas; the Truth table tab has the rest).
  • Karnaugh-map probe — the same function as a map, up to 5 inputs.
  • Expression probe — the minimized sum of products, with its term and literal counts.

Materials and breadboards

The Materials tab counts everything off the canvas as it stands: the logic packages (part, gates used, packages needed), the displays, LEDs, resistors and decoupling capacitors, a rough supply draw, and the breadboards to build on, with a to-scale plan. Switch between 830-point and 400-point boards and a free row between chips or packed tight.

Saving

Press Save at the top right (or Ctrl+S) to save now; a design still called “Untitled” is asked for a name first. After that it also saves itself a couple of seconds after each change, and the top bar says where it stands: Not saved yet, Saving… or Saved with the time. A new design is not kept until you save it or change it. The Saved tab lists your designs: click one to open it, edit the name to rename the open one, New design and Duplicate start another, and × moves one to the deleted folder.

From Boolean algebra to breadboard.

The simulators carry one function from an expression to a circuit you can build. Free, in your browser.