Logisim CPU Project Erty Seidel Spring Term 2011 Logisim • Logic Simulation Program – http://ozark.hendrix.edu/~burch/logisim/ – Cross-platform ( > Java 5) • • • • Recent Update Plugins and mods FOSS (GPL) [Demonstration] CPU Project • • • • • • About one month 60-100 Hours 5 Versions (1 rebuild) Still in development SVN repository Probably should have been doing homework Running a Program • • • • • • Consult MIPS instruction set Write out binary code Use windows calculator to convert to hex Write to a text document Load into I-mem and D-mem Run! What Works? • [See Excel spreadsheet] Big Problems? • No support for I-format arithmetic • Registers cannot write and read at the same time • Multiplication / Division are weird when working with highest-order bit • No branching • No exceptions • No forwarding / hazard detection The CPU • [Demonstration] Lessons Learned • CPUs are serious business • Simple pipelining is easy, anything more is very difficult • MIPS instructions are a bit arbitrary • The carry-in for signed subtraction must be 1 Thanks • Prof. Evans – Helped talk through problems • Jorge Seidel – Solved subtraction, mult/div issues