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.
Stanislaw Kaushanski 9248b7f246 update README 7 months ago
.settings Adapted generated code to support translation block linking 3 years ago
cmake cleanup 1 year ago
dbt-core@d87dfff430 build on ubuntu20.04 11 months ago
etc Updated submodules 1 year ago
external [WIP] integrate tcc via conan pkg 1 year ago
html Back-ported DVCon turorial changes 2 years ago
platform replace selfmade seasocks package with official one 11 months ago
riscv@18976e2ce4 update submodules 1 year ago
scc@529cb29a48 add backend selection and improve logging 1 year ago
.clang-format Added clang-format formatting 3 years ago
.cproject update to Boost 1.70 via conan 11 months ago
.gitignore [WIP] implement basic infrastructure 1 year ago
.gitmodules Reorganized repo layout 2 years ago
.project Adapted to latest changes in SCC and DBT_RISE(-RISCV) repos 1 year ago
CMakeLists.txt update to Boost 1.70 via conan 11 months ago
Jenkinsfile add ubuntu-20.04 in Jenkins setup 11 months ago
LICENSE Initial commit 3 years ago update README 7 months ago Moved to cmake4eclipse builder 3 years ago
conanfile.txt replace selfmade seasocks package with official one 11 months ago
cycles.txt Made plugin call configurable 3 years ago
system.json Changed name to get consistent 2 years ago


An instruction set simulator based on DBT-RISE implementing the RISC-V ISA. The project is hosted at


This is work in progress, so use at your own risk. Goal is to implement an open-source ISS which can easily embedded e.g. into SystemC Virtual Prototypes. It uses code generation to allow easy extension and adaptation of the used instruction. Please see also The RISC-V ISS reaches about 65MIPS running on a decent Intel Processor.

The implementation is based on LLVM > v4.0. Eclipse CDT 4.7 (Oxygen) is recommended as IDE.

RISCV-VP uses libGIS ( as well as ELFIO (, both under MIT license

Quick start

    pip install conan
  • setup conan to use the minres repo:
    conan profile new default --detect --force
    conan profile update settings.compiler.libcxx=libstdc++11 default
    conan remote add minres
    conan remote add bincrafters
  • if you encounter issues when linking wrt. c++11 symbols you might have run into GCC ABI incompatibility introduced from GCC 5.0 onwards. You can fix this by adding '-s compiler.libcxx=libstdc++11' to the conan call or changing compiler.libcxx to

in $HOME/.conan/profiles/default

Detailed Setup steps

prepare Ubuntu 18.04/20.04

    sudo apt-get install -y git python3-pip build-essential cmake libloki-dev zlib1g-dev libncurses5-dev \	
        libboost-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev llvm-dev llvm-doc
    pip3 install --user conan

prepare Fedora 28

    #prepare system
    dnf install @development-tools gcc-c++ boost-devel zlib-devel loki-lib-devel cmake python2 python3 llvm-devel llvm-static
    #install conan
    pip3 install --user conan
    export PATH=${PATH}:$HOME/.local/bin

Build the ISS

    # checkout source from git: 
    git clone --recursive

    # build ISS:
    cd HIFIVE1-VP
    mkdir build;cd build
    MAKE_FLAGS="-j4" cmake ..
    make -j4