Skip to content

Latest commit

 

History

History
85 lines (55 loc) · 2.67 KB

File metadata and controls

85 lines (55 loc) · 2.67 KB

GVSoC

GVSoC is the PULP chips simulator that is natively included in the Pulp SDK and is described and evaluated fully in Bruschi et al. [arXiv:2201.08166v1].

GVSoC Tutorial

If you want to learn more about GVSoC, get started through the tutorial available here. This tutorial provides hands-on practice on building systems on GVSoC and extracting the performance results.

OS Requirements installation

These instructions were developed using a fresh Ubuntu 22.04 (Jammy Jellyfish).

The following packages needed to be installed:

sudo apt-get install -y build-essential git doxygen python3-pip libsdl2-dev curl cmake gtkwave libsndfile1-dev rsync autoconf automake texinfo libtool pkg-config libsdl2-ttf-dev

These are the packages neded on a Fedora:

sudo dnf install -y make gcc cmake ninja-build.x86_64 g++ pip lz4-devel ccache glibc-devel.i686 zlib-ng-compat-devel.i686 SDL2 SDL2-devel SDL2_ttf-devel.x86_64 SDL2_image-devel.x86_64

Please also check any README.md in the submodules for target-specific requirements, like for example pulp/README.md.

Python requirements

Additional Python packages are needed and can be installed with the following commands from root folder:

git submodule update --init --recursive -j8
pip3 install -r core/requirements.txt
pip3 install -r gapy/requirements.txt

Installation

Get submodules and compile GVSoC with this command:

make all

It will by default build it for generic targets rv32 and rv64. You can build it for another target with this command:

make all TARGETS=pulp-open

On ETH network, please use this command to get the proper version of gcc and cmake:

CXX=g++-11.2.0 CC=gcc-11.2.0 CMAKE=cmake-3.18.1 make all TARGETS=pulp-open

Usage

The following example can be launched on pulp-open:

./install/bin/gvsoc --target=pulp-open --binary examples/pulp-open/hello image flash run

Citing

If you intend to use or reference GVSoC for an academic publication, please consider citing it:

@INPROCEEDINGS{9643828,
	author={Bruschi, Nazareno and Haugou, Germain and Tagliavini, Giuseppe and Conti, Francesco and Benini, Luca and Rossi, Davide},
	booktitle={2021 IEEE 39th International Conference on Computer Design (ICCD)},
	title={GVSoC: A Highly Configurable, Fast and Accurate Full-Platform Simulator for RISC-V based IoT Processors},
	year={2021},
	volume={},
	number={},
	pages={409-416},
	doi={10.1109/ICCD53106.2021.00071}}

Using GVSoC with DRAMsys

If you want to use DRAMsys with GVSoC follow the steps mentioned in DRAMsys.md