Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/guntas-13/mips-processor-basys3

Full FPGA Implementation of 32-bit FSM-based Multi-State MIPS Processor
https://github.com/guntas-13/mips-processor-basys3

mips-assembly mips-processor processor-architecture verilog

Last synced: 7 days ago
JSON representation

Full FPGA Implementation of 32-bit FSM-based Multi-State MIPS Processor

Awesome Lists containing this project

README

        

# mips-processor-basys3

# Team ALUminati - ES215 Computer Organization and Architecture

The processor is implemented on the **Basys3 FPGA board**. The datapath has been modified carefully to expand the ISA - allowing _recursive programs_ to run as well.

Check out the final report **[here](https://github.com/guntas-13/mips-processor-basys3/blob/master/Final%20Report%20Team22%20-%20ALUminati.pdf)** and the final presentation **[here](https://github.com/guntas-13/mips-processor-basys3/blob/master/Final%20Presentation%20Team22%20-%20ALUminati.pdf)**, it includes video demonstrations as well.

Some MIPS assembly codes are available in the **[codes](https://github.com/guntas-13/mips-processor-basys3/tree/master/codes)** directory. The **[utils](https://github.com/guntas-13/mips-processor-basys3/tree/master/utils)** directory contains a Python script to convert human-readable MIPS assembly code to machine code.

In the **`utils`** directory, write your human-readable MIPS assembly code in **`mips_instructions.txt`** run **`coe_generator.py`**:

```console
python3 ./utils/coe_generator.py
```

**`data.coe`** will be ready to be used in the FPGA and even the 32-bit machine code will be available in **`mips_machine_code.txt`**.

## Versions of the Processor

**`mips_v3.2`** is the stable and FPGA-implementation ready version of the MIPS processor.



## Modified Datapath



## The FSM



## The Complete ISA



## BRAM





## ALU










## Factorial Waveform