This document describes the design and implementation of a MIPS processor using Verilog. It begins with an overview of the MIPS architecture and instruction set. It then provides Verilog code for the top-level processor module, controller, datapath, register file, ALU, and other components. Diagrams of the processor microarchitecture and multicycle controller state machine are also shown. The document focuses on hierarchically designing the MIPS processor using a structural Verilog approach and parameterized modules.