Skip to content

wolframalexa/MIPSProcessor

Repository files navigation

MIPSProcessor

Useful links:

Online cross-compiler

Stanford Verilog Reference

MIPS instruction set with verilog translation

https://www.eecs.harvard.edu/~cs161/notes/mips-part-I.pdf

Assignment:

Part 1

Provide an overview of MIPS and ARM based processors. Discuss: architectural fundamentals and functional blocks, performance, and applications.

Part 2

Design a 32-bit MIPS processor implementing at least the following functional blocks: Program Counter, Instruction memory, Control, Registers, ALU, and data memory. Based on the implemented functional blocks, determine the subset of the core instructions that can be performed. Perform the following:

a. Develop an appropriate testbench to test your modules in simulations

b. Synthesize and implement your design on the FPGA. Develop a methodology to test the functionality of the design and compare with simulation results.

c. Discuss the FPGA utilization.

d. Attempt to increase throughput by the inclusion of pipelining

You may choose to design an ARM processor instead.

Part 3

Be prepared to give an in-class 10-15 min presentation discussing the above parts including a demo.

About

Final project for Hardware Design - designing a MIPS processor in Verilog.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •