Skip to content
DLVSDigital Logic Visualizing System
Inputs
Outputs
Gates
Wide gates
Select
Arithmetic
Memory
Counters
Registers
Hardware
00
100%

Select a device to read how it works, see its truth table and, for adders, decoders, multiplexers, latches, flip-flops, counters and registers, the gates inside it.

Drag the background to pan, Ctrl/⌘ + scroll or pinch to zoom. Drag from an output pin to an input pin (or tap one, then the other) to wire.

Tutorials

1. Wire your first circuit

  1. Tap a switch to flip it between 0 and 1 and watch the wires turn gold when they carry a 1.
  2. Add a new gate from the palette. Drag it by its body to move it; it snaps to the grid.
  3. Wire it: press an output pin (filled dot) and drag to an input pin, or tap one pin and then the other. Tap a wire to remove it.
  4. Select any device to read about it and see its truth table under the canvas.

2. Remember a bit with a latch

  1. This loop of two NOR gates has feedback. Turn S on then off: Q stays 1.
  2. Turn R on then off: Q goes to 0 and stays there. That is one bit of memory.
  3. Turn S and R on together and release both: the result is unpredictable on real hardware, that is the forbidden state.
  4. Try the D latch (NAND gates) example next: it adds an enable so you can load data safely.

3. Count with flip-flops

  1. Press Run. The clock drives the first T flip-flop; each following stage divides by two.
  2. Open the Timing diagram to see CLK and every LED as waveforms.
  3. Pause and use Step ½ to move the clock one edge at a time and see exactly where each flip-flop changes.
  4. Change the speed menu to slow it down or speed it up.

4. Store data in RAM

  1. The first block is the address, the second is the data. Both are 4-bit switch blocks: tap a bit to flip it.
  2. Switch WE on and press the button: the data is written at the address on the rising edge.
  3. Change the address and the display shows the other words; go back to read the stored value.
  4. Select the RAM to see all sixteen words and edit them directly.

5. Build your own chip

  1. Build any circuit from switches (inputs) and LEDs (outputs). Switches and LEDs are ordered top to bottom.
  2. Type a name and press Save as chip. It appears under Chips in the palette and works like any other gate.
  3. Chips can be nested inside other chips. They cannot contain memory or feedback loops yet.
  4. Export the circuit as a file or copy a share link to send it to a friend.

The canvas is unbounded: pan and zoom freely. Drag from an output pin to an input pin to wire, tap a wire to remove it, and hold Shift (or turn on Box select) to drag a selection box. Shift-click adds to the selection; Ctrl/⌘ + Z, Y, C, V, D and A undo, redo, copy, paste, duplicate and select all, and the arrow keys nudge the selection. Switches toggle on tap, buttons are held, 4-bit blocks flip one bit per tap, clocks run at the chosen speed (Pause, Step ½ and Step 1 move them by hand). Feedback loops such as an S-R latch built from NOR gates are simulated and remember their state. Clocked devices need a Clock or Button on their CK pin; address pins are least significant first. ROM and RAM hold 16 words of 4 bits that you edit by selecting them. The 7-segment display reads its four pins as a binary number, top pin lowest bit. Saving makes the whole circuit a chip whose switches and LEDs, top to bottom, become its pins; chips can’t contain memory or loops. Your work is autosaved in this browser, and you can keep named circuits, export or import a file, or copy a share link.