Go to file
Eyck Jentzsch 90a536d849 updates CMakeLists.txt with new FW repo 2024-04-15 14:09:03 +02:00
.launch updates CMakeLists.txt with new FW repo 2024-04-15 14:09:03 +02:00
.vscode initial commit 2022-04-11 09:22:28 +02:00
fw updates submodules and adapts design to changes 2023-06-28 09:03:30 +02:00
pysysc initial commit 2022-04-11 09:22:28 +02:00
scc@1e7db7caf1 updates submodules and adapts to changes there 2023-12-17 12:24:55 +01:00
src updates submodules and adapts to changes there 2023-12-17 12:24:55 +01:00
tgc-iss updates submodules and adapts to changes there 2023-12-17 12:24:55 +01:00
vpvper@0b2dba5820 updates submodules and adapts to changes there 2023-12-17 12:24:55 +01:00
.clang-format updates submodules and does some cleanup if directory structure 2023-10-21 17:26:51 +02:00
.cproject update tracer setup 2023-11-20 17:45:27 +01:00
.envrc updates project setup and launch configs 2023-10-21 21:30:48 +02:00
.gitignore updates submodules to latest 2023-11-20 16:08:22 +01:00
.gitmodules initial commit 2022-04-11 09:22:28 +02:00
.gitpod.Dockerfile initial commit 2022-04-11 09:22:28 +02:00
.gitpod.yml conan inline does not support connan version 2.0 2023-03-13 10:48:13 +00:00
.project initial commit 2022-04-11 09:22:28 +02:00
.pydevproject initial commit 2022-04-11 09:22:28 +02:00
CMakeLists.txt updates CMakeLists.txt with new FW repo 2024-04-15 14:09:03 +02:00
Jenkinsfile corrects upper-/lower-case 2023-12-02 14:32:05 +01:00
LICENSE initial commit 2022-04-11 09:22:28 +02:00
Modulefile updates CMakeLists.txt with new FW repo 2024-04-15 14:09:03 +02:00
README.md initial commit 2022-04-11 09:22:28 +02:00

README.md

TGC-VP

The Scale4Edge ecosystem VP using VP-VIBES peripherals.

This VP is based in MINRES TGC series cores and uses CoreDSL to generate the concrete ISS of a particular ISA + extensions. The generator approach makes it very flexible and adaptable. Since the CoreDSL description is used to generate RTL as well as verification artifacts it provides a comprehensive and consistent solution to develop processor cores.

Ultra Quick start

Using gitpod you can run the VP in the cloud. Just visit Gitpod.io and follow the instructions. After the build finished you can run


build/src/tgc-vp -f fw/hello-world/prebuilt/hello.elf

or use ctest:


cd build
ctest

You will see on console the prints of the hello world firmware at fw/hello-world/hello.c

Open in Gitpod

Quick start

  • you need to have a C++14 capable compiler, make, python, and cmake installed

  • install conan.io (see also http://docs.conan.io/en/latest/installation.html):

    
    pip3 install --user conan
    
    

    It is advised to use conan version 1.36 or newer. In case of an older version please run

    
    pip3 install --user --upgrade conan
    
    

    Installing conan for the first time you need to create a profile:

    
    conan profile create default --detect
    
    
  • checkout source from git

    
    git clone --recursive -b develop https://github.com/Minres/TGC-VP.git 
    
    
  • start an out-of-source build:

    
    cd TGC-VP
    mkdir build
    cd build
    cmake ..
    make -j tgc-vp
    
    
  • run the VP with pre-built firmware

    
    ctest
    
    

    or

    
    src/tgc-vp -f ../fw/hello-world/prebuild/hello.elf 
    
    

To rebuild the firmware you need to install a RISC-V toolchain like https://github.com/riscv/riscv-tools.

Windows/Visual Studio build

TGC-VP supports VS2019/MSVC 16 and has been tested only with this version

Prerequisites

You need to have to following installed:

  • Visual Studio 2019 (community edition is sufficient) with C/C++ support
  • Python 3.6 or newer
  • SystemC 2.3.3 and SystemC-CCI 1.0.0. Both should be installed into the same location and the environment variable SYSTEMC_HOME should point to it
  • Conan (https://conan.io/) version 1.36 or newer. If python is installed this can be installed using pip (see above in Quick start)

build step

Create a project at the location of the git workarea. This can be done


devenv <path to checkout>

The build steps are as described in the VS documentation for CMake based projects.