Skip to content

Latest commit

 

History

History
21 lines (18 loc) · 1.31 KB

File metadata and controls

21 lines (18 loc) · 1.31 KB

Project-SimpleRISC-CPU-Microarchitecture-Design

  • Designed and implemented a microarchitecture for a SimpleRISC CPU that supports a subset of instructions including add, sub, cmp, ld, st, beq, call, ret, nop, and halt.
  • Used a combination of combinational and ROM-based control units to generate control signals for the datapath.
  • Successfully implemented load and store instructions, adding a data memory and modifying the writeback path.
  • Added support for branch and call instructions, implementing beq with a simplified format and adding a ra register for call and ret.
  • Implemented nop and halt instructions, modifying control signals for nop and stopping PC increment for halt.
  • Wrote a small test program to verify the functionality of all instructions.
  • Extended the design to support and, or instructions without hardware modifications.
  • Integrated input and output devices (keyboard and TTY) using MMAPPED_IO, enabling user interaction.
  • Wrote a program to read a string of characters and print it out in reverse, demonstrating the ability to process user input.

Skills Demonstrated:

  • Microarchitecture design
  • Combinational and ROM-based control logic
  • Datapath design and implementation
  • Instruction set architecture (ISA) understanding
  • Assembly language programming
  • I/O interfacing
  • Debugging and testing