Exercises

Reference

Examples

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

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

MIPS examples
goto in C C has goto. Here's a dumb way to write a for loop. Looks a lot like asm...
01_variables.asm Declaring and accessing variables.
02_arrays.asm Different ways to declare arrays, and using a for loop to modify one.
key_test.asm Test for key combinations in the display plugin.
Numerical examples
Bitwise.java Shows several bitwise operators and oddities.
Bitfields.java Using shifting, masking, and ORing to encode colors.
Bitflags.java Bitflags are a special case of bitfields. They're like a set or array of booleans.
Logisim Basics
constant_gates.circ Constants going into gates are pointless! Simplify!
tunnel_tutorial.circ Why you should use tunnels. THEY'RE GOOD OKAY
splitter_tricks.circ Using splitters more effectively.
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.
alu.circ The (simple) ALU I made in class.
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.
slow_mult_4x4.circ An FSM that multiplies numbers using the slow (sequential) method.
fan_controller.circ A simple FSM for controlling a ceiling fan.
reg_file.circ The (tiny) register file I made in class.