9
Logisim CPU Project Erty Seidel Spring Term 2011

Logisim CPU Project Erty Seidel Spring Term 2011

Embed Size (px)

Citation preview

Page 1: Logisim CPU Project Erty Seidel Spring Term 2011

Logisim CPU Project

Erty SeidelSpring Term 2011

Page 2: 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]

Page 3: Logisim CPU Project Erty Seidel Spring Term 2011

CPU Project

• About one month• 60-100 Hours• 5 Versions (1 rebuild)• Still in development• SVN repository• Probably should have been doing homework

Page 4: Logisim CPU Project Erty Seidel Spring Term 2011

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!

Page 5: Logisim CPU Project Erty Seidel Spring Term 2011

What Works?

• [See Excel spreadsheet]

Page 6: Logisim CPU Project Erty Seidel Spring Term 2011

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

Page 7: Logisim CPU Project Erty Seidel Spring Term 2011

The CPU

• [Demonstration]

Page 8: Logisim CPU Project Erty Seidel Spring Term 2011

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

Page 9: Logisim CPU Project Erty Seidel Spring Term 2011

Thanks

• Prof. Evans– Helped talk through problems

• Jorge Seidel– Solved subtraction, mult/div issues