From 1def9a46371afd20f1d357294e5823daae61400e Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Sat, 30 Mar 2019 15:24:54 -0700 Subject: Version 1.0.0 --- README.md | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) (limited to 'README.md') 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 -- cgit v1.1