Skip to content

aschombe/microRISC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

microRISC

microRISC is a easy to understand CPU architecture implemented in Logisim.

Features

  • Detailed Manual here
  • 32 32-bit General Purpose Registers
  • SP Register (Stack Pointer)
  • LR Register (Link Register)
  • 32-bit Instructions
  • Multitude of operations (check manual for specifics):
    • Arithmetic
    • Logical
    • Memory
    • Control Flow
  • Simple Instruction Set and Assembly Language
  • Easy to use Assembler

Usage

  1. Clone the repository
  2. Open a terminal and navigate to the root of the repository
  3. Run the assembler with the following command:
python3 assembler/main.py <input_file_name>

This will generate two files in the directory of where you ran the command:

  • instructions.hex which contains the machine code of the program
  • ram.hex which contains the data section of the program (if you declared one)
  1. Open Logisim and load the microRISC.circ file
  2. Load instructions.hex into the Instruction Memory, ram.hex into the Data Memory (if you declared a data section)
  3. Run the simulation

TODO List

  • Manual
    • Introduction
    • Architecture
    • Instruction Set
    • Assembly Language
    • Assembler
    • Examples
  • Design the architecture/spec
  • Define the instruction set
  • Implement the architecture in Logisim
    • PC
    • RegFile
    • ALU
    • Control Unit
    • Memory Unit
    • Pipeline
  • Write an assembler
    • Label resolution
    • Data and control hazard resolution
    • Make MOV a psuedo instruction

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages