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.
 
 
 
 
 
 
Yunsup Lee 5305250c1f fix gcc 4.8 build 12 years ago
riscv fix gcc 4.8 build 12 years ago
scripts temporary undoing of renaming 15 years ago
softfloat make NaN behavior consistent with hardfloat 14 years ago
softfloat_riscv fix double-precision NaNs 14 years ago
.gitignore post-repo-split cleanup 15 years ago
COPYING temporary undoing of renaming 15 years ago
Makefile.in change htif to link against libfesvr 13 years ago
README temporary undoing of renaming 15 years ago
aclocal.m4 temporary undoing of renaming 15 years ago
config.h.in change htif to link against libfesvr 13 years ago
configure change htif to link against libfesvr 13 years ago
configure.ac change htif to link against libfesvr 13 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.