Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
bb1f0b5
Patches for rtl build in compute
Jun 13, 2025
9001350
Further patches for compute
Jun 13, 2025
a83aa78
Various updates for iDMA integration and pulp cluster bumping
Jun 30, 2025
2747c3b
Updated connection for base_addr_i in pulp_cluster instance
Jun 30, 2025
0ffe2f3
Added bender-common.mk for useful defs
Jul 3, 2025
1f30cd5
Updated bender.yml for SOC (now referring to 4.4.0_modified) and for …
Jul 3, 2025
ac9cb7b
Replacing Snitch icache with hier_icache + related changes + updated …
Jul 18, 2025
167f468
Added CLUSTER_ALIAS define to bender-common.mk for SDK testing + adde…
Jul 18, 2025
a05bbca
Cleaned Bender.lock: removed paths with working_dir
Jul 21, 2025
47665a8
Updated pulp_soc version: now checking out to V3_0_1_modified: droppe…
Jul 22, 2025
3bfb303
Updated sdk branch in top makefile rule
Aug 26, 2025
a70d3b9
Added choice for QuestaOne flow or traditional Modelsim
Sep 16, 2025
9854c5c
Added rules for QuestaLint and QuestaCDC tools
Sep 16, 2025
7e39a92
Updated pulp-runtime commit for new Siemens options
Sep 16, 2025
cd40096
Add synthesis flags to lint compile flow
Sep 16, 2025
7c615ed
Updated rule for Questa CDC in sim/Makefile
Sep 24, 2025
dc5c430
Passing TCDM_SIZE to cluster config as parameter from pulp top
Oct 3, 2025
5759d66
Few modifications to cdc rule as suggested by Siemens support
Oct 10, 2025
fb4a72f
Updated pulp_cluster commit to include updated Questa flows and cfg f…
Oct 10, 2025
f371704
Updated Bender.lock with newer pulp cluster commit
Oct 10, 2025
b60964b
Updated Bender yml and lock with updated cluster and soc repositories
RiccardoGandolfi Oct 10, 2025
98d2933
Updated makefile with new repositories for pulp-runtime, regression-t…
RiccardoGandolfi Oct 10, 2025
1acec3e
Updated Makefile for gvsoc standalone + minor clean-up
Oct 14, 2025
94879e6
Updated Makefile with new gvsoc and pulp-sdk commits
Oct 15, 2025
0292f4b
Updated bendere entries after cluster re-alignment + Added rules to s…
Oct 16, 2025
363447a
Update Makefile
RiccardoGandolfi Oct 17, 2025
83b8590
Updated Bender.yml with latest iDMA and Cluster + Added rule to gener…
Oct 17, 2025
76a1995
Minor clean-up
Oct 17, 2025
8fd6dfb
Updated cluster entry: same update for generating iDMA rtl before com…
Oct 17, 2025
2d96ca8
Fixed typo in Bender.lock
Oct 17, 2025
b508d5a
Merge pull request #1 from FondazioneChipsIT/pulp_open_revival
RiccardoGandolfi Oct 28, 2025
d23f867
Integrate Deeploy as a pulp dependency (#2)
RiccardoGandolfi Nov 21, 2025
3ff6354
Fix deeploy flow (#3)
RiccardoGandolfi Dec 31, 2025
a4c8ac8
Update cluster and idma (#4)
RiccardoGandolfi Jan 27, 2026
ad9f65a
Updated hci commit in Bender.lock --> checkout to yt/opentitan branch
RiccardoGandolfi Jan 29, 2026
3551e72
Update pulp-sdk commit + fixes for bender newer versions + fast_prelo…
RiccardoGandolfi Apr 23, 2026
d3b51ac
Update Deeploy commit: support for iDMA clock gating and fixes for Nu…
RiccardoGandolfi Apr 28, 2026
528028c
[iDMA TEST] Update pulp-sdk commit in Makefile: fix for idma_2d multi…
RiccardoGandolfi May 4, 2026
731c888
[README] Update README with make init command
RiccardoGandolfi Sep 8, 2026
29fb0fe
[iDMA & CLUSTER_PERIPHERALS] Update commits in bender.lock
RiccardoGandolfi Sep 8, 2026
bf854ce
Updates for VCU118 Flow + CI Setup for RTL & FPGA bistream generation…
RiccardoGandolfi Sep 17, 2026
249997a
fix (CI): shift "manual" attribute and remove "allow_failure" rule. (…
yvantor Sep 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: gitlab-ci

on: [ push, pull_request, workflow_dispatch ]

jobs:
gitlab-ci:
runs-on: ubuntu-latest
steps:
- name: Check Gitlab CI
uses: pulp-platform/pulp-actions/[email protected] # update version as needed, not autoupdated
# Skip on forks or pull requests from forks due to missing secrets.
if: github.repository == 'FondazioneChipsIT/pulp' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository)
with:
domain: gitlab.chips.it
repo: digitalresearchline/githubmirrors/pulp
token: ${{ secrets.GITLAB_TOKEN }}
39 changes: 39 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
/tests/*/
/pulp-runtime
/regression_tests
nonfree

# Bender
/bender
Expand All @@ -16,3 +17,41 @@
/sim/transcript
/sim/work
/working_dir

# logs
*.log
*.db
*.bin
.qsim
sim/**/*.txt

# External SDKs / tools checked out locally
/Deeploy/
/gvsoc/
/pulp-sdk/

# Simulation outputs
/sim/stdout/
/sim/vectors/
/sim/*.vstf

# Waveform / EDA artifacts
*.vcd
*.fst
*.wdb
*.jou
*.str

# Python
*.pyc
*.egg-info/

# Editor / OS
.DS_Store
*.swp
*~

# other tools
.vscode
.claude

232 changes: 30 additions & 202 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,209 +12,37 @@
# See the License for the specific language governing permissions and
# limitations under the License.


variables:
PATH: "/home/gitlabci/bin:/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/local/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/condor/bin:/usr/sepp/bin:/usr/local/anaconda3/bin:/var/lib/snapd/snap/bin"
before_script:
- pwd
- echo "$PATH"

# after_script:
# - echo "stage finished"

stages:
- fetch
- build_and_test_boot
- build_and_test
- build_and_test_vips
- build_and_test_psram
- build_fpga
- sim_questa_multivers


fetch_std:
stage: fetch
script:
- echo "Fetching regression tests"
- make test-checkout-gitlab
- mkdir -p regression_tests/riscv_tests_soc
- cp -r regression_tests/riscv_tests/* regression_tests/riscv_tests_soc
- mkdir regression_tests/hellospi
- cp -r regression_tests/hello/* regression_tests/hellospi/
- mkdir regression_tests/hellohyper
- cp -r regression_tests/hello/* regression_tests/hellohyper/
- source setup/vsim.sh
- echo "Fetching IPs"
- make checkout
- echo "Fetching vips"
- ./rtl/vip/get-vips.sh --yes --gitlab
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- .bender/*
- bender
- Bender.lock
- sim/*
- rtl/vip/*
- regression_tests/*

b&t_rtl_std:
stage: build_and_test
before_script:
- echo "Generate scripts without DPI and VIP support"
- make scripts
- echo "Compiling RTL model and DPI libraries"
- make build
- echo "Fetching Runtime"
- make pulp-runtime
- echo "Source and exports"
- source pulp-runtime/configs/pulp.sh;
- export PULP_RISCV_GCC_TOOLCHAIN=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/
- export PATH=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/bin/:$PATH
script:
- echo "Running software test"
- make test-fast-regressions
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- .bender/*
- bender
- Bender.lock
- regression_tests/*
- tests/*
- sim/*
- rtl/*
reports:
junit: regression_tests/simplified-runtime.xml

- nonfree
- PULP_CI

b&t_rtl_vip:
stage: build_and_test_vips
before_script:
- echo "Generate scripts with DPI and VIP support"
- make scripts-vips
- echo "Compiling RTL model and DPI libraries"
- make build
- echo "Fetching Runtime"
- make pulp-runtime
- echo "Source and exports"
- source pulp-runtime/configs/pulp.sh;
- export PULP_RISCV_GCC_TOOLCHAIN=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/
- export PATH=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/bin/:$PATH
script:
- echo "Running software test"
- make git-ci-periphs-regs
init:
stage: nonfree
script: make pulp_nonfree_init
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- .bender/*
- bender
- Bender.lock
- regression_tests/*
- sim/*
- rtl/*
reports:
junit: regression_tests/simplified-periph-runtime.xml

b&t_rtl_boot:
stage: build_and_test_boot
before_script:
- echo "Generate scripts with DPI and VIP support"
- make scripts-vips
- echo "Compiling RTL model and DPI libraries"
- make build
- echo "Fetching Runtime"
- git clone https://github.com/pulp-platform/pulp-runtime.git -b boot_code_update
- echo "Source and exports"
- source pulp-runtime/configs/pulp.sh;
- export PULP_RISCV_GCC_TOOLCHAIN=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/
- export PATH=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/bin/:$PATH
script:
- echo "Running software test"
- make git-boot
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- .bender/*
- bender
- Bender.lock
- regression_tests/*
- sim/*
- rtl/*
reports:
junit: regression_tests/boot-runtime.xml


b&t_rtl_psram:
stage: build_and_test_psram
before_script:
- echo "Generate scripts with DPI and VIP support"
- make scripts-psram
- echo "Compiling RTL model and DPI libraries"
- make build
- echo "Fetching Runtime"
- make pulp-runtime
- echo "Source and exports"
- source pulp-runtime/configs/pulp.sh;
- export PULP_RISCV_GCC_TOOLCHAIN=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/
- export PATH=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/bin/:$PATH
script:
- echo "Running software test"
- make git-ci-psram
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- .bender/*
- bender
- Bender.lock
- regression_tests/*
- sim/*
- rtl/*
reports:
junit: regression_tests/simplified-psram-runtime.xml

build_fpga:
stage: build_fpga
before_script:
- echo "Generate scripts for FPGA"
- make scripts
script:
- echo "Building for zcu102"
- make -C fpga zcu102 VIVADO='vivado-2019.1.1 vivado'
artifacts:
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- fpga/*

sim_questa_multivers:
stage: sim_questa_multivers
allow_failure: true
when: always
parallel:
matrix:
- QUESTA_PREFIX:
- 'questa-2019.3'
- 'questa-2020.1'
- 'questa-2021.3'
before_script:
- export VSIM="$QUESTA_PREFIX vsim"
- export VLOG="$QUESTA_PREFIX vlog"
- export VOPT="$QUESTA_PREFIX vopt"
- export VLIB="$QUESTA_PREFIX vlib"
- export VMAP="$QUESTA_PREFIX vmap"
- export VCOM="$QUESTA_PREFIX vcom"
- export PULP_RISCV_GCC_TOOLCHAIN=/usr/pack/pulpsdk-1.0-kgf/artifactory/pulp-sdk-release/pkg/pulp_riscv_gcc/1.0.16/
- git clone https://github.com/pulp-platform/pulp-runtime.git -b v0.0.15
- mkdir hello
- printf "#include <stdio.h>\nint main(){\n printf(\"Hello World\\\n\");\n return 0;\n}\n" > hello/hello.c
- printf "PULP_APP = hello\nPULP_APP_FC_SRCS = hello.c\nPULP_APP_HOST_SRCS = hello.c\nPULP_CFLAGS = -O3 -g\n\ninclude \$(PULP_SDK_HOME)/install/rules/pulp_rt.mk\n" > hello/Makefile
script:
- make scripts
- make clean build
- source setup/vsim.sh
- source pulp-runtime/configs/pulp.sh
- make -C hello clean all run
dependencies:
- fetch_std
needs:
- fetch_std
- nonfree/.gitlab-ci.yml
- nonfree/.gitlab-ci_fpga.yml

subpipe_rtl:
stage: PULP_CI
needs: [ init ]
variables:
PARENT_PIPELINE_SOURCE: $CI_PIPELINE_SOURCE
trigger:
include:
- artifact: nonfree/.gitlab-ci.yml
job: init
strategy: depend

subpipe_fpga:
stage: PULP_CI
needs: [ init ]
when: manual
variables:
PARENT_PIPELINE_SOURCE: $CI_PIPELINE_SOURCE
trigger:
include:
- artifact: nonfree/.gitlab-ci_fpga.yml
job: init
strategy: depend
Loading
Loading