Single Cycle MIPS Processor
A detailed overview of the Single Cycle MIPS Processor project.
Project Overview
This project involved the hardware implementation of a single cycle MIPS processor. The processor was designed to execute a subset of the MIPS instruction set and was tested for functionality using a variety of test programs. This Project was to design, develop and complete a single cycle microprocessor in Verilog. The microprocessor was to be programmed on an FPGA board so that I could write assembly code that would run on the processor and perform single cycle operations.
I took on the challenge of building a single-cycle processor for a digital design project. This processor operates by following five steps: fetching, decoding, executing, handling memory, and writing back. My specific task was to make it work as a level monitor. I tackled this project during a digital logic and computer organization course. The processor consisted of six crucial components, each written in Verilog: a Program Counter (PC) counter, Instruction RAM, Decoder, Register File, and a versatile Arithmetic Logic Unit (ALU) that could perform various operations. To control these operations, I designed a control unit that selected the necessary signals using multiplexers. In the end, I created an assembly program based on the class's instruction set, similar to MIPS. This program turned the processor into a practical level monitor. When implemented on an FPGA board, it made LEDs light up according to specific conditions. This project provided valuable insights into the real-world applications of computer architecture components. It emphasized the importance of careful project planning and step-by-step development to manage complexity effectively. Unfortunately, I can't share the project's code and designs, but I'm here to answer any questions about this fascinating journey into digital design.
Skills
- Verilog Programming
- Assembly Language
- FPGA Programming:
- Digital Logic Design:
- Computer Architecture:
- Hardware Simulation and Testing