Interactive tools



Right-click and save to download the asm and circuit files.

Safari users: Safari sometimes changes file extensions. Do not trust it.

Numerical examples Shows and explains the ranges of the integer types in Java. Shows several bitwise operators and oddities. Bitsets are a way of treating the bits of an integer like a small array of booleans. Using bitwise operations to encode and decode colors. Shows some interesting examples of float bit patterns. Implementations of the exponential and linear time integer multiplication algorithms.
Combinational Circuits
splitter_bitfields.circ Using splitters to take apart/put together bitfields.
full_adder.circ A 1-bit full adder made of gates.
fast_mult_4x4.circ A fast (combinational) 4x4 multiplier.
Sequential Circuits
RS_latch.circ An RS latch made of NOR gates.
Circuit.js RS Latch Circuit.js can simulate it at a lower level, so you can see the current and voltages.
D_latch.circ A D latch made from an RS latch.
D_flipflop.circ A D flip-flop made from 2 D latches.
register_4bit.circ A 4-bit register made from D flip-flops.
simple_counter.circ A register paired with an adder can count up each clock tick.
fan_controller.circ A simple FSM for controlling a ceiling fan.
slow_mult_4x4.circ An FSM that multiplies numbers using the slow (sequential) method.
div_4x4.circ An FSM that divides two 4-bit numbers.