Final project for the Advanced Microprocessor Architecture and Hardware Accelerators Lab Course
This project implements a Microcontroller Unit (MCU) architecture based on a MIPS CPU core.
The design includes peripherals such as a basic timer, GPIO, interrupt controller, and an optimized address decoder β all written in VHDL.
π For full documentation and RTL schematics, see the PDF Report.
Below is a list of the main VHDL modules with short functional descriptions:
MIPS.vhdβ The full MIPS CPU core: fetch, decode, execute, memory access, and writeback.IFETCH.vhdβ Instruction fetch stage.IDECODE.vhdβ Instruction decode and control signal generation.EXECUTE.vhdβ ALU logic, branch and jump decisions.CONTROL.vhdβ Generates control signals based on instruction opcode.DMEMORY.vhdβ Data memory access.
MCU.vhdβ Top-level design connecting CPU and peripherals.Optimized_Addr_Decoder.vhdβ Maps 5-bit address inputs to 12-bit chip select lines for peripherals.GPIO.vhdβ Drives LEDs and HEX displays; handles memory-mapped I/O.HexDecoder.vhdβ Converts 4-bit binary values to 7-segment display.BasicTimer.vhdβ Timer module with interrupt generation and PWM-style output.freqdiv.vhdβ Frequency divider generating mclk2, mclk4, and mclk8.InterruptController.vhdβ Manages multiple interrupt sources (timer, keys) with prioritization.
- Modular MIPS-based processor architecture
- Memory-mapped I/O (LEDs, switches, hex displays)
- Custom interrupt controller with hardware-generated signals
- Peripheral integration via chip-select decoding
- Signal-level simulation in ModelSim and real-time testing using Quartus SignalTap
- β Verified waveforms using ModelSim
- β Measured system response using Quartus SignalTap
- π Achieved expected
fmaxand identified the critical path from the MIPS core to the GPIO write logic