README 1.32 KB
Newer Older
1 2
cMIPS

Roberto Hexsel's avatar
Roberto Hexsel committed
3
cMIPS is a synthesizable VHDL model for the 5-stage pipeline, MIPS32r2 core.
4

Roberto Hexsel's avatar
Roberto Hexsel committed
5
The VHDL model mimics the pipeline design described in Patterson & Hennessy's
Roberto Hexsel's avatar
Roberto Hexsel committed
6 7
book (Computer Organisation and Design) and is a complete implementation
of the MIPS32r2 instruction set.
Roberto Hexsel's avatar
Roberto Hexsel committed
8

9
The model was synthesized for an Altera EP4CE30F23.  The model runs at 50 MHz
10 11
(top board speed) and uses up 22% of the combinational blocks, 9% of the
logic registers, and 33% of the memory bits on the FPGA.
Roberto Hexsel's avatar
Roberto Hexsel committed
12

Roberto Hexsel's avatar
Roberto Hexsel committed
13 14
The processor model runs C code, compiled with GCC;  there are scripts to
compile and assemble code to run on the simulator or for sythesis.
15

Roberto Hexsel's avatar
Roberto Hexsel committed
16 17
The core has all forwarding paths and is fully interlocked for data and
control hazards.
Roberto Hexsel's avatar
Roberto Hexsel committed
18

Roberto Hexsel's avatar
Roberto Hexsel committed
19 20 21
Coprocessor0 supports six hardware interrupts + NMI in "Interrupt
Compatibility Mode" and an 8-way fully associative TLB.  The control
instructions break, syscall, trap, mfc0, mtc0, eret, ei, di, ll, sc
22
are fully implemented.
Roberto Hexsel's avatar
Roberto Hexsel committed
23

Roberto Hexsel's avatar
Roberto Hexsel committed
24 25
Partial-word loads and stores (word, half-word, byte, lwl,lwr,swl,swr) are
implemented.
Roberto Hexsel's avatar
Roberto Hexsel committed
26

Roberto Hexsel's avatar
Roberto Hexsel committed
27
A simulation testbench includes processor, RAM, ROM and (simulator) file I/O.
28

Roberto Hexsel's avatar
Roberto Hexsel committed
29 30
Top level file for synthesis includes processor, RAM, ROM, LCD display
controller, 2x7segment LED display, keypad and UART.  SDRAM controller,
Roberto Hexsel's avatar
Roberto Hexsel committed
31 32 33
VGA interface and Ethernet port are in the works.

See docs/cMIPS.pdf for a more complete description.