Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 571
» Latest member: kennamorgan
» Forum threads: 298
» Forum posts: 893

Full Statistics

Latest Threads
Running HERO polybench te...
Forum: PULP General questions
Last Post: marktuan
09-19-2026, 04:54 AM
» Replies: 1
» Views: 521
Running snitch matmul wit...
Forum: PULP General questions
Last Post: esillars
09-16-2026, 04:40 PM
» Replies: 0
» Views: 86
__builtin_pulp
Forum: PULP General questions
Last Post: eatcrumpled
09-10-2026, 07:29 AM
» Replies: 1
» Views: 4,668
Default qemu login?
Forum: PULP General questions
Last Post: ajgaspar
06-24-2026, 10:23 PM
» Replies: 0
» Views: 926
I2C cannot write to TX_SA...
Forum: PULP General questions
Last Post: anhnt
06-22-2026, 10:40 AM
» Replies: 3
» Views: 14,685
Unable to compile and run...
Forum: PULP General questions
Last Post: Garrett Gay
06-12-2026, 04:51 AM
» Replies: 5
» Views: 11,008
Multi Core PULP first tim...
Forum: PULP General questions
Last Post: calimi
06-09-2026, 07:17 AM
» Replies: 2
» Views: 8,521
missing package in pulp-s...
Forum: PULP General questions
Last Post: marktuan
05-07-2026, 01:02 PM
» Replies: 4
» Views: 10,401
HERO: Compiling OpenMP ex...
Forum: PULP General questions
Last Post: Ahenett
03-25-2026, 08:31 AM
» Replies: 2
» Views: 9,330
Help with llvm/clang comp...
Forum: PULP General questions
Last Post: ernalcohol
02-26-2026, 07:22 AM
» Replies: 6
» Views: 12,883

 
  Running snitch matmul with gvsoc
Posted by: esillars - 09-16-2026, 04:40 PM - Forum: PULP General questions - No Replies

Hello, I have a modified version of this matrix multiplication on the snitch repo that I have been running with verilator, but I'd like to use gvsoc since it is faster.

So far, I mave made gvsoc a submodule in my fork of the snitch repo, and built gvsoc for the snitch target and then tried to run my .elf file with

Code:
make all TARGETS=snitch
./gvrun --target snitch --work-dir "placeholder" --param chip/soc/binary="$myElf" run

but I get the following error:
Code:
1642800000: 16428: [/chip/soc/cluster_0/cluster_registers/trace                              ] Accessing invalid register (offset: 0x11a8, size: 0x4, is_write: 0)
Input error: Platform returned an error (exitcode: 1)

I think this means the version of snitch I compiled for is different from the one gvsoc was built to model. I know from the snitch repo that all my hardware configurations come from this json file, but I don't know how to find the equivalent configuration settings when building gvsoc.

1. Is it very hard to get this matmul running with gvsoc? Should I be approaching it this way (adding gvsoc as a submodule in the snitch repo) or would it be easier to use Deeploy? 


2. How do I know which snitch configurations are used when I build with TARGETS=snitch?

Any advice would would be greatly appreciated!

Print this item

  Running HERO polybench tests with larger datasets
Posted by: ajgaspar - 08-05-2026, 09:39 PM - Forum: PULP General questions - Replies (1)

When running the polybench 2mm test with the default HERO setup, the EXTRAMINI and MINI datasets both run without issue after defining them in the 2mm.h file. However, any size larger than those results in some kind of silent erroring out, where there is no output after "[0,0] ---> omp_set_default_device" and the run seemingly ends without executing the calculation or producing any error message. Is there a memory parameter or something I need to change in order to get the larger datasets to run?

Print this item

  Default qemu login?
Posted by: ajgaspar - 06-24-2026, 10:23 PM - Forum: PULP General questions - No Replies

I followed along with the steps for the "QEMU RISC-V" section, and upon running the boot command, I'm prompted to enter a qemu login. I've tried using both "root" and "hero" as the login with an empty password, as well as "root" and "hero" as the passwords, but am still given the "Login incorrect" message. I didn't see the default login information when I read the documentation, so is it defined somewhere else? Thanks.

Print this item

  Understanding HWPE integration in PULPissimo
Posted by: sillycorn - 06-05-2025, 06:45 AM - Forum: PULP General questions - No Replies

Hello,

I'm currently learning how to use the PULP platform and experimenting with pulp-platform/pulpissimo at v7.0.0 (v7.0.0). 
As someone with limited SoC experience, I'm trying to understand how HWPE integration works in practice.

I tried running the 'accelerator/hwme' example from the pulp-platform/pulp-rt-examples repository, using Questa for simulation. 
In 'pulpissimo/rtl/pulpissimo/pulpissimo.sv', I set the 'USE_HWPE' parameter to 1 to enable the HWPE.

When I check the waveform, the HWPE RTL module does get instantiated, but signals do not propagate from it — no activity appears on the TCDM side or the peripheral interconnect. 
It seems the HWPE is instantiated but not functionally connected to the rest of the system.

I'd like to better understand:

- How is HWPE typically connected within PULPissimo?
- What are the required steps to make it operational (CSR map, memory access, stream data)?
- How customizable is HWPE integration — for example, if I wanted to plug in a new accelerator?

I read through the hands-on tutorials and code, but couldn’t find detailed documentation on these aspects.

If there are any materials or example projects that go deeper into HWPE integration, I'd really appreciate a pointer. 
Thanks in advance!

Print this item

  missing package in pulp-sdk
Posted by: yoss - 03-27-2025, 04:07 PM - Forum: PULP General questions - Replies (4)

Hi

I am trying to run pulp-nn-mixed test and I am getting the following error:

Traceback (most recent call last):
  File "pulp-sdk/tools/gapy/gapy", line 26, in <module>
    from errors import FatalError, InputError
  File "pulp-sdk/tools/gapy/errors.py", line 21, in <module>
    import common
  File "pulp-sdk/tools/gapy/common.py", line 34, in <module>
    from tools.runner.runner import Runner
ModuleNotFoundError: No module named 'tools'

it seems the pulp-sdk repo is missing the tools file/package or maybe i did something wrong

thanks in advance

Print this item

  Unable to compile and run applications on Zedboard with Pulpissimo
Posted by: victorgervasio - 03-16-2025, 09:44 PM - Forum: PULP General questions - Replies (5)

Hello,

I'm a beginner and for the past two weeks I've been trying to compile applications on Zedboard (Pulpissimo), but I was unable to execute the "make" command for the pulp-sdk without getting errors.

I've tried to build the pulp-sdk commit 3256fe7, since newer commits apparently don't support board_targets anymore and tried to build the pulp-sdk on both Ubuntu 16.04 (fresh distribution, on VM using VirtualBox, as recommended in pulp-sdk's git commit id 3256fe7 Readme) and Ubuntu 18.04 (fresh distribution, on VM using VirtualBox, after changing my default gcc, gcc-7, to gcc-5, as recommended in pulp-sdk's git commit id 3256fe7 Readme an with conda environment with python3.5 and correspondent version pip installed).

I've successfully built the pulp-riscv-gnu-toolchain (the toolchain's version referenced by the pulp-sdk's git commit id 3256fe7 Readme) and I've also been able to generate and flash the Pulpissimo bitstream to the Zedboard. However, I can't make the SDK work, which I assume is the only supported way to compile applications on the FPGA with Pulpissimo.

On Ubuntu 16.04, this is the error message that keeps showing after "make all" for pulp-sdk (on root shell, since it's installation path is /opt/riscv, which lacks writing permissions unless I'm root):

Traceback (most recent call last):
  File "./pulp-tools/bin/plpbuild", line 3, in <module>
    import plptools as plp
  File "/opt/riscv/pulp-sdk/pulp-tools/bin/plptools.py", line 23, in <module>
    import plptools_builder
  File "/opt/riscv/pulp-sdk/pulp-tools/bin/plptools_builder.py", line 19, in <module>
    from twisted.internet import protocol, reactor, endpoints
  File "/usr/local/lib/python3.5/dist-packages/twisted/__init__.py", line 10, in <module>
    from twisted._version import __version__ as version
  File "/usr/local/lib/python3.5/dist-packages/twisted/_version.py", line 8, in <module>
    from incremental import Version
  File "/usr/local/lib/python3.5/dist-packages/incremental/__init__.py", line 469
    opt_in: bool
          ^
SyntaxError: invalid syntax
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 1

On Ubuntu 18.04, this is the error message that keeps showing after "make all" for pulp-sdk (also on root shell):

make[2]: /opt/riscv/pulp-sdk/pkg/pulp_riscv_gcc/1.0.13/bin/riscv32-unknown-elf-gcc: Command not found
/opt/riscv/pulp-sdk/build/sdk/pulp-rt/pulpissimo/__rules.mk:58: recipe for target '/opt/riscv/pulp-sdk/build/sdk/pulp-rt/pulpissimo/rt/fc/kernel/init.o' failed
make[2]: *** [/opt/riscv/pulp-sdk/build/sdk/pulp-rt/pulpissimo/rt/fc/kernel/init.o] Error 127
make[2]: Leaving directory '/opt/riscv/pulp-sdk/runtime/pulp-rt'
Makefile:115: recipe for target 'build_all' failed
make[1]: *** [build_all] Error 2
make[1]: Leaving directory '/opt/riscv/pulp-sdk/runtime/pulp-rt'
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 255

I'd like to know if it is still possible nowadays to compile and run applications for the Zedboard with Pulpissimo and, if so, I'd like some advice on what I'm doing wrong.

Thanks in advance!

Print this item

  __builtin_pulp
Posted by: yoss - 02-18-2025, 04:31 PM - Forum: PULP General questions - Replies (1)

Hi everyone

I am looking for the repo which contains the functions in the headline. I think they are in c code.
I would be grateful if someone can provide me with this repo

thanks in advance

Print this item

  XpulpNN march
Posted by: yoss - 02-06-2025, 09:04 AM - Forum: PULP General questions - Replies (5)

Hi everyone,
I am trying to find the compiler toolchain for the XpulpNN micro architecture.
Has anyone ever dealt with this micro architecture before?
Thanks in advance, and have a great day!

Print this item

  Help with llvm/clang compiler for Snitch Cluster simulation (-mcpu=snitch Issue)
Posted by: ThomasMuyal - 01-23-2025, 06:28 PM - Forum: PULP General questions - Replies (6)

Hello, everyone!

I've been trying to simulate a Snitch cluster, and I'm currently facing an issue while compiling software to execute with snitch_cluster.vsim. Specifically, the clang compiler doesn't seem to recognize the -mcpu=snitch option.

This leads me to believe that my llvm for PULP platform build wasn't successful. Here's an overview of what I've done so far:

  1. I cloned the LLVM repository at https://github.com/pulp-platform/llvm-project 
  2. Built LLVM and clang with the following options:

    Code:
    cmake \
        -DCMAKE_BUILD_TYPE="Release" -DLLVM_ENABLE_ASSERTIONS=ON \
        -DCMAKE_INSTALL_PREFIX=${INSTALLPREFIX} \
        -DLLVM_ENABLE_PROJECTS="clang" \
        -DLLVM_TARGETS_TO_BUILD="RISCV" \
        -DLLVM_DEFAULT_TARGET_TRIPLE="riscv32-unknown-elf" \
        -DLLVM_APPEND_VC_REV=OFF \
        -G "Unix Makefiles" ../llvm

  3. Updated my PATH to include the /build/bin directory, the build itself and clang seems to be working properly.

However, when I try to use the -mcpu=snitch flag during my Snitch cluster make all, I get the following error message:

clang-12: warning: argument unused during compilation: '-mcpu=snitch' [-Wunused-command-line-argument]
as well as others indicating that Snitch related clang builtins are not working properly.

Could someone guide me on the correct steps for building LLVM and Clang to include support for the Snitch cluster?

Any help or advice would be greatly appreciated!
Thanks in advance!

Print this item

  Doubts regarding I2S model and udma interface
Posted by: Zyb - 01-09-2025, 11:56 AM - Forum: PULP General questions - No Replies

Hi I would like to know about the i2s model and interface used in pulpissimo.Im using the I2s vip with the RTL at RTL github and the reference manual at  Doc .I had configured the i2s vip as master (using the i2c)that transmits the data and udma as slave to receive it.
Upon observation ,I noticed that :
The I2s vip  transmits data but starts the ws line after the first word.causing the udma i2s to only start receiving data from the second word (the first word is lost).Is this a problem with the i2s vip or due to design considerations involving the i2s protocol.

Some further doubts on :
1)What is the function of snap enable in the i2s vip .
2)How do I enable pdm mode in the i2s receiver udma side.There seems to be working registers for it and configuration wires for it but the documentation is not very clear.
Is it functional and can the i2s interface be configured to accept data in pdm mode?
Does it require only two lines ,the clk and data ?
Also the register documentation seems incomplete with a pdm enable bit that's not in the reference manual with regards to the i2s pdm setup register on page 91 of the manual.

Print this item