Go to file
2022-04-09 12:31:54 +02:00
.settings Adapted generated code to support translation block linking 2018-05-15 18:50:11 +02:00
cmake cleanup 2020-05-30 14:18:28 +02:00
dbt-rise-core@df21ba7836 changed submodule references 2022-04-09 12:31:54 +02:00
dbt-rise-riscv@140a397549 changed submodule references 2022-04-09 12:31:54 +02:00
etc update project settings 2020-12-21 07:02:36 +00:00
external [WIP] integrate tcc via conan pkg 2020-04-10 17:15:35 +02:00
html Back-ported DVCon turorial changes 2018-11-12 19:36:44 +01:00
platform adapt to changes in scc 2021-08-26 17:28:34 +02:00
scc@1b28dadcb3 adapt to changes in scc 2021-08-26 17:28:34 +02:00
.clang-format Added clang-format formatting 2017-09-25 22:29:21 +02:00
.cproject update project settings 2020-12-21 07:02:36 +00:00
.gitignore [WIP] implement basic infrastructure 2020-04-12 12:46:20 +02:00
.gitmodules changed submodule references 2022-04-09 12:31:54 +02:00
.project update project settings 2020-12-21 07:02:36 +00:00
build.sh Moved to cmake4eclipse builder 2018-04-06 01:44:07 +02:00
CMakeLists.txt changed submodule references 2022-04-09 12:31:54 +02:00
conanfile.txt fix remote setting for minres conan repo 2021-09-18 12:23:35 +02:00
cycles.txt Made plugin call configurable 2018-04-24 23:12:07 +02:00
Jenkinsfile update Jenkinsfile 2021-09-18 16:39:06 +02:00
LICENSE Initial commit 2017-08-27 13:04:48 +02:00
README.md adapt to changes in scc 2021-08-26 17:28:34 +02:00
system.json Changed name to get consistent 2018-11-12 19:36:44 +01:00

RISCV-VP

An instruction set simulator based on DBT-RISE implementing the RISC-V ISA. The project is hosted at https://git.minres.com/VP/RISCV-VP.

RISCV-VP README

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 https://git.minres.com/DBT-RISE/DBT-RISE-RISCV 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 (https://github.com/vsergeev/libGIS) as well as ELFIO (http://elfio.sourceforge.net/), 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 https://artifactory.minres.com/artifactory/api/conan/oss"
  • 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
compiler.libcxx=libstdc++11

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 https://git.minres.com/VP/HIFIVE1-VP.git

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