Welcome, Guest |
You have to register before you can post on our site.
|
Latest Threads |
Post silicon analytics
Forum: PULP General questions
Last Post: kgf
03-22-2023, 07:04 AM
» Replies: 1
» Views: 44
|
OpenOCD Error with Nexys ...
Forum: PULP General questions
Last Post: ivanhira
03-13-2023, 06:36 PM
» Replies: 0
» Views: 39
|
Debug the simulated code
Forum: PULP General questions
Last Post: Cristiano
03-02-2023, 01:11 PM
» Replies: 2
» Views: 80
|
Issues booting HERO in ZC...
Forum: PULP General questions
Last Post: pedro.lobo
02-28-2023, 08:26 AM
» Replies: 0
» Views: 32
|
Status / roadmap of HERO ...
Forum: PULP General questions
Last Post: pedro.lobo
02-28-2023, 08:09 AM
» Replies: 2
» Views: 467
|
Which SDK to be used to c...
Forum: PULP General questions
Last Post: AhmedZaky
02-27-2023, 01:09 PM
» Replies: 0
» Views: 31
|
Docker image for the RISC...
Forum: PULP General questions
Last Post: Coderitter GmbH
02-14-2023, 08:46 AM
» Replies: 3
» Views: 3,000
|
PULPissimo FLL bypass
Forum: PULP General questions
Last Post: Happybug
02-06-2023, 02:00 PM
» Replies: 7
» Views: 9,186
|
Latest Pulpissimo RTL doe...
Forum: PULP General questions
Last Post: kgf
01-31-2023, 03:53 PM
» Replies: 3
» Views: 473
|
Can I remap Pulpissimo pa...
Forum: PULP General questions
Last Post: tparng
01-09-2023, 02:02 PM
» Replies: 2
» Views: 396
|
|
|
Role of gapy, list of peripherals and capabilities of gvsoc |
Posted by: nanoluka - 11-21-2022, 01:59 PM - Forum: PULP General questions
- Replies (6)
|
 |
Hello,
getting acquainted with PULP platform these last few weeks - so, first of all, a big thank you and a bigger congratulations to all the creators and contributors.
I haven't had prior experience with tools such gvsoc, so I am bit troubled by trying to wrap my head around where are its limits, actually - hence this post. Please, any clarifications in this discussion would be of great help.
First of all, I've seen the videos from pulp training:
- Understanding and working with PULP
- GVSoC / Dory Tutorial
- A Deep Dive into HW/SW Development with PULP
and I've downloaded the VM and played a bit, followed along the steps demonstrated in the GVSoC/Dory video. All works great - I got the instructions dissasembled, saw the waveforms.
Now, I am getting confused with gapy... what is that, actually? It is mentioned, listed as a tool, but its purpose eludes me... I tried looking for other resources online, but I couldn't form a picture. At first, I though that's a python library that serves as a sort of a glue between the RTL pieces... at some point in the video, it is spoken about python generators... is that it?
In the next video (A deep dive...), I see that IP dependencies are treated using a tool called IPApprox, however - that was back then, while today this is the task of bender, if I am correct. However, where is this list of IPs? In the video, there's a subdirectory IPs of the pulpissimo repo, but I don't see it there: https://github.com/pulp-platform/pulpissimo
Finally, this gvsoc - if I am getting the idea correctly, it is a cycle-accurate simulator, meaning that it can simulate execution of RISCV instructions on a PULP hardware and yield dissasembled instructions, signal waveforms and metrics, such CPI. However, is it a stone carved thing, in the sense that it can simulate only a predefined configuration of pulpissimo SoC? In other words, can it be changed without QuestaSim so that simulates execution of a PULP program on an SoC configuration with SPI and without UART, say?
I think I am pretty sure that, if I want to add novel, arbitrary RTL, then I must have QuestaSim. But if I want to play with pulpissimo SoC configuration (adding or removing some of the existing peripherals), can this be done without QuestaSim, just using gvsoc? It seemed to me that the part where (in the lecture GVSoC tutorial) it is shown how to run with and without cluster is the response to this, but - I didn't get how to exclude uart and then include spi, for example?
Thanks!
|
|
|
Error during building RTL |
Posted by: bgeorge - 11-18-2022, 10:49 AM - Forum: PULP General questions
- Replies (3)
|
 |
Hello,
I get this error while I am trying to build the RTL.
Code: ~/workspace/pulp$ make scripts
curl --proto '=https' --tlsv1.2 -sSf https://pulp-platform.github.io/bender/init \
| bash -s -- 0.25.2
bender-init: Warning: No release for platform 'x86_64-linux-gnu-ubuntu22.04' version '0.25.2' found, using latest.
bender-init: Failed to download 'https://github.com/pulp-platform/bender/releases/download/v0.26.1/bender-0.26.1-x86_64-linux-gnu-ubuntu22.04.tar.gz'!
make: *** [Makefile:247: bender] Error 1
Can you please let me know what I am doing wrong ?
Solution:
I must change the bash version in the Makefile.
Code: bender: ifeq (,$(wildcard ./bender))
curl --proto '=https' --tlsv1.2 -sSf https://pulp-platform.github.io/bender/init \
| bash -s -- 0.26.1
touch bender endif
|
|
|
Custom extensions to the RISC-V ISA |
Posted by: froggyhopper50 - 10-09-2022, 03:27 PM - Forum: PULP General questions
- Replies (1)
|
 |
Hello! I'm interested in creating custom extensions to the RISC-V ISA. The goal of these extensions would be to define instructions that perform specific operations (e.g., butterfly operations, twiddle factor generation, modular arithmetic) that I can use to implement various cryptographic primitives (e.g., NTT). I would then like to measure the speedup of these cryptographic primitives with my extensions enabled vs. with my extensions disabled.
What would be the best platform to achieve this goal?
I see one possibility, which is to take the CV32E40P core and extend it with custom functional units using SystemVerilog. I'd then have to find a way to get the compiler to take advantage of the new instructions that I've defined.
While I would be comfortable using SystemVerilog, I'm more interested in exploring the design space of possible instructions rather than attempting to debug a particular hardware design. For this reason, I'm curious if an architectural simulator / instruction set simulator would be more appropriate for my needs. Does PULP offer an architectural simulator / instruction set simulator? I found GVSoC, but I'm not sure if it's what I'm looking for.
Any advice would be greatly appreciated. Thank you!
|
|
|
PULP CORE TAPE OUT |
Posted by: giumaug - 09-29-2022, 08:09 AM - Forum: PULP General questions
- Replies (1)
|
 |
Hi,
looking at website, I see several cores have been taped out.
I'm trying to find more info in how tape out has been carried out.
Is the tape out flow fully based on the RTL of the cores (the one available on GitHub repos) or human circuit customization has been
performed ?
For example, looking at https://github.com/openhwgroup/cv32e40p core I see the register file is described at high level as a simple array.
When it comes to circuit implementation has the synthesis had free room to decide how to translate the RF in real digital circuit or some human
customization has been carried out?
|
|
|
Error run ./cmake_configure.riscv.gcc.sh |
Posted by: Ali77124 - 08-25-2022, 05:00 PM - Forum: PULP General questions
- No Replies
|
 |
Hello, good time!
I'm going to run PULPino and i used ri5cy_gnu_toolchain for this.
But when using the ./cmake_configure.riscv.gcc.sh command, I get the following error:
C compiler identification is unknown
System unknown to cmake, create:
Platform/Linux-CXX To use this system, please send your configuration file to cmake@www.cmake.org so it can be added to cmake.
Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please send that file to cmake@www.cmake.org.
CMake error in CMakeLists.txt:20 (enable_language):
No CMAKE_C_COMPILER found.
Tell CMake where to find the compiler by setting the environment
"CC" variable or CMake cache entry CMAKE_C_COMPILER to full path to
Compiler or named Compiler if it is in PATH.
The configuration is incomplete, errors have occurred!
See also "/home/ali/pulpino/sw/build/CMakeFiles/CMakeOutput.log".
See also "/home/ali/pulpino/sw/build/CMakeFiles/CMakeError.log".
Also, the PATH variable related to ri5cy as below in the bashrc file. I added:
export PATH=/home/ri5cy_gnu_toolchain/install/bin:$PATH
Thanks in advance for your help!
|
|
|
QuestaSim Installation for RTL Simulation |
Posted by: achen9 - 07-28-2022, 01:50 AM - Forum: PULP General questions
- Replies (9)
|
 |
Hello,
I am new to RTL simulations, and I noticed that many of the PULP platforms appear to require QuestaSim in order to conduct them, but I am not too familiar with RTL environment setups. Specifically, I am currently working with HERO and Pulpissimo.
I was wondering if anyone has any pointers or recommendations on where to look for instructions to set up a complete QuestaSim environment from scratch. The machine I am running on is CentOS 7.
Thank you very much in advance.
|
|
|
Creating new instructions in RISC-V |
Posted by: teotro - 07-06-2022, 12:35 PM - Forum: PULP General questions
- Replies (1)
|
 |
Hi everyone,
I am new in RISC-V and I am using Pulpissimo.
Is there somewhere a tutorial of how to create new custom instructions in RISC-V?
For instance, a "mod" instruction.
What are the steps to do it?
Thank you in advance,
Theodoros
|
|
|
|