kentang-mit / MIPS32_PipelineCPU

A MIPS32 CPU project with five-stage pipeline.(EI332 Course Project 3)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MIPS32_PipelineCPU

A MIPS32 CPU project with five-stage pipeline.

Update on Jun. 14:

Add L1-cache support. View the with-cache directory to see the details.

I implemented a L1 instruction cache of block size 4 Byte(1 word) and block number 64; and a L1 data cache of block size 4 Byte(1 word) and block number 64 and write-through, write-allocate policy(though this combination is not so common). The miss cost for both caches are 6 cycles, and both are direct-mapping cache.

The cache implementation is inspired by Prof. Yamin Li(Hosel Univ.)'s book Computer Principles and Design in Verilog HDL.

Currently the cache version has been simulated under icarus-verilog, to run the simulation you can just type in

iverilog -o test -c compile_list.txt
./test

in your terminal and open test.vcd using gtkwave to see the result.

Note that the no-cache version has been simulated under ModelSim 10.1 and has been tested on Altera DE1-SOC FPGA.

About

A MIPS32 CPU project with five-stage pipeline.(EI332 Course Project 3)


Languages

Language:Verilog 100.0%