Spike, a RISC-V ISA Simulator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Andrew Waterman 4ddd7773f8 don't forget to commit configure after autoconf! 15 years ago
riscv added #include <stdlib.h> to get rid of errors building with gcc-4.4 on ubuntu 15 years ago
scripts temporary undoing of renaming 15 years ago
softfloat temporary undoing of renaming 15 years ago
softfloat_riscv temporary undoing of renaming 15 years ago
.gitignore post-repo-split cleanup 15 years ago
COPYING temporary undoing of renaming 15 years ago
Makefile.in fixes to make disassembly work under macos (with macports binutils installed) 15 years ago
README temporary undoing of renaming 15 years ago
aclocal.m4 temporary undoing of renaming 15 years ago
config.h.in temporary undoing of renaming 15 years ago
configure don't forget to commit configure after autoconf! 15 years ago
configure.ac temporary undoing of renaming 15 years ago

README

==========================================================================
RISC-V ISA Simulator
==========================================================================
# Author : Andrew Waterman
# Date : June 19, 2011
# Version : (under version control)

The RISC-V ISA Simulator implements a functional model of one or more
RISC-V processors.

--------------------------------------------------------------------------
Build Steps
--------------------------------------------------------------------------

% mkdir build
% cd build
% ../configure
% make
% [sudo] make install

--------------------------------------------------------------------------
Usage
--------------------------------------------------------------------------

The riscv-isa-run program is not usually invoked directly; rather, fesvr, the
Front-End Server, invokes riscv-isa-run. fesvr and riscv-pk must be installed
to simulate a RISC-V user program using riscv-isa-run.

--------------------------------------------------------------------------
Compiling and Running a Simple C Program
--------------------------------------------------------------------------

Install riscv-isa-run (see Build Steps), then install the following additional
packages: riscv-fesvr, riscv-gcc, riscv-pk.

Write a short C program and name it hello.c. Then, compile it into a RISC-V
ELF binary named hello:

% riscv-gcc -o hello hello.c

Now you can simulate the program:

% riscv-fesvr hello

--------------------------------------------------------------------------
Simulating a New Instruction
--------------------------------------------------------------------------

Adding an instruction to the simulator requires two steps:

1. Describe the instruction's functional behavior in the file
riscv/insns/<new_instruction_name>.h. Examine other instructions
in that directory as a starting point.

2. Add the instruction to the riscv-opcodes package:

% cd ../riscv-opcodes
% vi opcodes // add a line for the new instruction
% make install

3. Rebuild the simulator.