The final project for the semester is to implement in software the single cycle machine discussed in Chapter Five of the textbook. The simulation should have all of the datapath and control features discussed. Once the simulation is loaded and running, it should be able to fetch instructions from instruction memory, decode them, and execute them through the datapath. The simulation must include memory, registers, program counter, etc. The simulation must also be constructed from first principles. Your code should contain and gates, or gates, etc. and the ALU should be constructed from these primitives.
It is recommended that you restrict your attention to R-format, lw, sw, beq. Other instructions may be added later, and additional credit given for their successful implementation.
If you have any questions concerning what is and is not contained in the simulation, please contact your instructor.
Upon completion, the project must be demonstrated to your instructor in person in a one-on-one session. The drop-dead completion day for this work is the day of the final examination. No discussions will be held after the final has been given.