[Tutorial] Pulpissimo install & pulp-runtime
카테고리 없음 2024. 7. 2. 12:53Started by this github page, but something has different on 2024, so i write a tutorial for it.
https://github.com/pulp-platform/pulpissimo
GitHub - pulp-platform/pulpissimo: This is the top-level project for the PULPissimo Platform. It instantiates a PULPissimo open-
This is the top-level project for the PULPissimo Platform. It instantiates a PULPissimo open-source system with a PULP SoC domain, but no cluster. - pulp-platform/pulpissimo
github.com
-Ubuntu 20.04
-python3.8.10
There are two toolchains
one for pulp-riscv-gnu-toolchain and riscv-gnu toolchain
https://github.com/pulp-platform/pulp-riscv-gnu-toolchain
GitHub - pulp-platform/pulp-riscv-gnu-toolchain
Contribute to pulp-platform/pulp-riscv-gnu-toolchain development by creating an account on GitHub.
github.com
https://github.com/pulp-platform/riscv-gnu-toolchain
GitHub - pulp-platform/riscv-gnu-toolchain: GNU toolchain for PULP and RISC-V
GNU toolchain for PULP and RISC-V. Contribute to pulp-platform/riscv-gnu-toolchain development by creating an account on GitHub.
github.com
but, riscv-gnu-toolchain is more latest, and when i click the link at pulpissimo github, link goes to riscv-gnu-toolchain
so, i install the riscv-gnu-toolchain
This repository uses submodules. You need the --recursive option to fetch the submodules automatically
git clone --recursive https://github.com/pulp-platform/riscv-gnu-toolchain.git
install dependency
sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
then, go to pulpissimo directory
cd pulpissimo
./configure --prefix=/opt/riscv --with-arch=rv32imfcxpulpv3 --with-abi=ilp32 --enable-multilib
make
when you command "make" almost 1hour to install it. if you want to shorten the installation, use -j options to use more core. Below is the example.(you can use -j and any integer, 16 is just example)
make -j16
[Note] : you can change the options for configure, "--with-arch=" means ISA, so you can change like rv32imc, rv32im etc..
Download git
git clone https://github.com/pulp-platform/pulpissimo.git
env settings
export PULP_RISCV_GCC_TOOLCHAIN=<YOUR_PULP_TOOLCHAIN_PATH>
export PATH=$PULP_RISCV_GCC_TOOLCHAIN/bin:$PATH
if you just using original ubuntu20.04, Toolcahin will be install in "/opt/riscv"
so, in my example, i set env like below.
export PULP_RISCV_GCC_TOOLCHAIN=/opt/riscv
export PATH=$PULP_RISCV_GCC_TOOLCHAIN/bin:$PATH
then make checkout
it will update latest IPs
make checkout
after checkout, build the pulpissimo platform
make build
if you build corretly it will shows with message contain "vopt_tb"(soon, i will add the photo of it)
Plulp has two software simulation tools, one for pulp-runtime, the other is pulp-sdk
however, pulp-sdk does not support pulpissimo anymore. if you want to use sdk, you need to user oldest version
so, in this time, we use pulp-runtime instead. it is already install in pulpissimo git. so you don't need to download new things.
go to pulpissimo diretory and command
cd sw/pulp-runtime
source configs/pulpissimo_cv32.sh
this settings make pulp-runtime build with pulpissimo, there are lots of options in config folder. you can switch it freely
then make build again at pulpissimo directory
make build
then at the sw/pulp-runtime directory
git clone https://github.com/pulp-platform/pulp-runtime-examples.git
in this git, there are several examples for it.
when you enter the pulp-runtime-examples. cd hello to try simulation
cd hello
make clean
make all
make run
if you type above command, you can simulation with pulpissimo platform
[Note] : you need to install questasim to simulation.
Questa*-Intel® FPGAs Pro Edition Software Version 24.1
Questa*-Intel® FPGAs Pro Edition Software Version 24.1 B115
www.intel.com
you can download questasim starter/pro version in above link. you need to license of it to simulation
if you compeletly install questa, command "vsim", then questasim will be opened in gui
any other questions, please take comment below.