Interactive tools



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

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

MIPS examples
fixed_point.asm Shows how to add, multiply, and divide 24.8 fixed-point numbers.
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.
splitter_bitfields.circ Using splitters to take apart/put together bitfields.
Combinational Circuits
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.
pc_fsm.circ The "MIPS" PC FSM I made in class, but cleaned up.
decoding.circ Some examples of decoding an instruction.