aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2019-03-30 15:24:54 -0700
committerAndrew Waterman <andrew@sifive.com>2019-03-31 02:06:23 -0700
commit1def9a46371afd20f1d357294e5823daae61400e (patch)
tree73f0e979e800724cedab99cca80083bcbd84348b /README.md
parentf49618ca9d674ec7e596118f85027c4b503862ac (diff)
downloadspike-1def9a46371afd20f1d357294e5823daae61400e.zip
spike-1def9a46371afd20f1d357294e5823daae61400e.tar.gz
spike-1def9a46371afd20f1d357294e5823daae61400e.tar.bz2
Version 1.0.0
Diffstat (limited to 'README.md')
-rw-r--r--README.md42
1 files changed, 35 insertions, 7 deletions
diff --git a/README.md b/README.md
index cd15898..1816633 100644
--- a/README.md
+++ b/README.md
@@ -5,21 +5,49 @@ About
-------------
Spike, the RISC-V ISA Simulator, implements a functional model of one or more
-RISC-V processors.
-
-Spike is named after the golden spike used to celebrate the completion of the
-US transcontinental railway.
+RISC-V harts. It is named after the golden spike used to celebrate the
+completion of the US transcontinental railway.
+
+Spike supports the following RISC-V ISA features:
+ - RV32I and RV64I base ISAs, v2.1
+ - Zifencei extension, v2.0
+ - Zicsr extension, v2.0
+ - M extension, v2.0
+ - A extension, v2.0
+ - F extension, v2.2
+ - D extension, v2.2
+ - Q extension, v2.2
+ - C extension, v2.0
+ - Conformance to both RVWMO and RVTSO (Spike is sequentially consistent)
+ - Machine, Supervisor, and User modes, v1.11
+ - Debug v0.14
+
+Versioning and APIs
+-------------------
+
+Projects are versioned primarily to indicate when the API has been extended or
+rendered incompatible. In that spirit, Spike aims to follow the
+[SemVer](https://semver.org/spec/v2.0.0.html) versioning scheme, in which
+major version numbers are incremented when backwards-incompatible API changes
+are made; minor version numbers are incremented when new APIs are added; and
+patch version numbers are incremented when bugs are fixed in
+a backwards-compatible manner.
+
+Spike's principal public API is the RISC-V ISA. _The C++ interface to Spike's
+internals is **not** considered a public API at this time_, and
+backwards-incompatible changes to this interface _will_ be made without
+incrementing the major version number.
Build Steps
---------------
We assume that the RISCV environment variable is set to the RISC-V tools
-install path, and that the riscv-fesvr package is installed there.
+install path.
$ apt-get install device-tree-compiler
$ mkdir build
$ cd build
- $ ../configure --prefix=$RISCV --with-fesvr=$RISCV
+ $ ../configure --prefix=$RISCV
$ make
$ [sudo] make install
@@ -33,7 +61,7 @@ Install bash, gmake, dtc, and use clang.
$ export CC=cc; export CXX=c++
$ mkdir build
$ cd build
- $ ../configure --prefix=$RISCV --with-fesvr=$RISCV
+ $ ../configure --prefix=$RISCV
$ gmake
$ [doas] make install