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



Search Forums

(Advanced Search)

Forum Statistics
» Members: 266
» Latest member: robin
» Forum threads: 75
» Forum posts: 248

Full Statistics

Latest Threads
Pulpissimo memory map gen...
Forum: PULP General questions
Last Post: Akim
10-08-2019, 11:52 AM
» Replies: 0
» Views: 47
Issues for pulp-sdk
Forum: PULP General questions
Last Post: MarekPikula
10-01-2019, 03:16 PM
» Replies: 1
» Views: 122
New SoC configuration for...
Forum: PULP General questions
Last Post: MarekPikula
10-01-2019, 09:19 AM
» Replies: 0
» Views: 93
how to manipulating of GP...
Forum: PULP General questions
Last Post: mapletree
09-30-2019, 02:24 PM
» Replies: 2
» Views: 185
Pulpissimo L2 memory acce...
Forum: PULP General questions
Last Post: meggiman
09-30-2019, 11:04 AM
» Replies: 8
» Views: 1,640
I2C on Pulpissimo
Forum: PULP General questions
Last Post: gideros
09-23-2019, 06:02 AM
» Replies: 6
» Views: 3,399
how to compile and run an...
Forum: PULP General questions
Last Post: mapletree
09-20-2019, 02:57 PM
» Replies: 5
» Views: 420
Detailed Documentation f...
Forum: PULP General questions
Last Post: kgf
09-12-2019, 12:31 PM
» Replies: 3
» Views: 360
Pulpissimo configuration ...
Forum: PULP General questions
Last Post: meggiman
09-03-2019, 06:31 PM
» Replies: 4
» Views: 683
Changing pulpissimo memor...
Forum: PULP General questions
Last Post: anfevp
08-27-2019, 09:45 AM
» Replies: 0
» Views: 268

  Pulpissimo memory map generation.
Posted by: Akim - 10-08-2019, 11:52 AM - Forum: PULP General questions - No Replies


We have been trying to understand how the Pulpissimo memory map is generated.
Our purpose is to add our own modules (ultra low power memory) to it and we would need to understand it.

We found that memories are defined in l2_ram_multi_bank.sv, but how to add new memory to it?

Please, can you clarify file names that need to be modified to change Pulpissimo memory map?


Print this item

  Issues for pulp-sdk
Posted by: MarekPikula - 10-01-2019, 12:30 PM - Forum: PULP General questions - Replies (1)

I can see that there is no Issues panel in pulp-sdk project on GitHub. I have some things to discuss regarding Ibex integration and I guess it would be much better place for this than this forum. In my opinion reliable SDK is one of the most important parts of the entire system, so maybe it would be nice idea to enable it for others to easily file issues and ask questions?

Print this item

  New SoC configuration for SDK
Posted by: MarekPikula - 10-01-2019, 09:19 AM - Forum: PULP General questions - No Replies

Hi, is there somewhere a guide how to create new SoC configuration for pulp-sdk? I'm basing on PULPissimo and just copied some files in `pulp-configs` to create custom configuration. I wonder though if there is some kind of recommended way of doing this and if there is some sort of documentation anywhere. I've seen different scripts (`pulp_chip_gen`, `pulp_soc_gen`, …), but there is no description which does what and in what scenarios one should be used.

Print this item

  how to manipulating of GPIOs on Pulpissino platform
Posted by: mapletree - 09-23-2019, 02:46 PM - Forum: PULP General questions - Replies (2)

I would like to do some manipulation of the user and general purchase I/Os of the pianissimo platform, for example to light up a user LED via pressing down a pushbutton.
I found the functions in the sdk runtime doc for configuring the gpio as a bus such as rt_gpio_init and rt_gpio_pin_configure etc, but I did not find any document mentioning the exact address/pin or registers that are corresponding to the LEDs or pushbuttons. I am wondering where to get the detailed info of such so that I can light up a user LED?


Print this item

  how to compile and run an application for Pulpissinio on FPGA
Posted by: mapletree - 09-12-2019, 03:47 PM - Forum: PULP General questions - Replies (5)

I have generated a Pulpissimo platform bitstream for Xilinx ZCU102 board. Now I am at the stage to compile a "hello world" example to try on the FPGA. I am having two problems here:

1. On the pulpissimo web page, after the instructions on how to create the .c file that includes the baudrate and frequency of the UART and the main() function, it gives instructions on how to compile an application by issuing " make clean all" command, but there is no corresponding Makefile, therefore, I got an error " No targets specified and no makefile found". I did all these in pulp-builder home directory. My questions are: a). is there an existing Makefile that I can borrow to compile my hello.c for RISCV?  b).  If I need to create my own Makefile, do I need to include the boot code? if so where to get the boot code (the same code in sim/boot directory)? It will be nice if there is an example Makefile that I can start with.

2. When I tried to connect to the JTAG interface on the board(JTAG pins are allocated on PMOD) by issuing the openocd command, I got an error saying "embeddedConfusedtartup.tcl:21:Error: Unknown target type riscv". The command I issued: $openocd -f openocd-zcu102-digilent-jtag-hs2.cfg. The screenshot of the error massage and the openocd config file are attached.

Please help!


Attached Files Thumbnail(s)

.txt   openocd-zcu102-digilent-jtag-hs2.txt (Size: 667 bytes / Downloads: 1)
Print this item

  Detailed Documentation for PULPissimo
Posted by: AhmedZaky - 09-11-2019, 06:12 AM - Forum: PULP General questions - Replies (3)

Hi All, 

First of all thanks for sharing the PULPissimo source codes, however I have been looking for a somehow detailed documentation for PULPissimo but I couldn't found. 

Can anyone please point me to such a documentation if any ? 


Print this item

  Changing pulpissimo memory layout
Posted by: anfevp - 08-27-2019, 09:45 AM - Forum: PULP General questions - No Replies

Hello everyone,

I would like to ask you how to change memory layout of pulpissimo

My problem is that I need to use code that uses big vectors. Then, when  I run the program in the virtual platform I got:

3699418377: 147973: [/sys/board/chip/soc/fc/warning                   ] Invalid access (offset: 0x1bfffcd8, size: 0x4, is_write: 1)

Which is a problem of stack overflow. I could move big vectors to other memory sections but this implies to modify the code, which i shouldn't. Also, sometimes I got problems with the code size. So in general I would like to know how to modify the memory to be able to execute the code without modifications.

The problem can be reproduced with the following code:

#include <stdio.h>
void writefnctext();
void printVector(char *vector1, unsigned int len);
void fillVector(char *vector1, unsigned int len);
int main()
    char vector1[4096]; // Does not work, gets an invalid access.
    printf("Hello !\n");
    fillVector(vector1, 4096);
    printVector(vector1, 4096);
    return 0;
void writefnctext(){
    printf("Function has been called successfully");

void fillVector(char *vector1, unsigned int len){
    for (unsigned int i=0;i<len; i++ ){
void printVector(char *vector1, unsigned int len){
    for (unsigned int i=0;i<len; i++ ){
        printf("%d ", (int) vector1[i]);

Thanks in advance!!

Print this item

  Pulpissimo configuration issues and other bugs
Posted by: MikkeN - 08-23-2019, 11:36 AM - Forum: PULP General questions - Replies (4)


we have synthesized Pulpissimo with Vivado (2018.3) to FPGA and with Design Compiler (2018) to silicon technology.
Now Pulpissimo code has been changed so, that Design Compiler can't synthesize it anymore.
Vivado synthesize it without issues.

Module LZC gives syntax error from this statement:
assign cnt_o   = NUM_LEVELS > unsigned'(0) ? index_nodes[0] : $clog2(WIDTH)'(0);

Also there is number of bus with conflicts which are quite painful to correct by user.

Can you make code cleaning and check that it passes Design Compiler?
I am also worried about quality of results in FPGA, because Vivado has not seen issues which exist.

Print this item

  PULPino JTAG access
Posted by: MarekPikula - 08-22-2019, 02:15 PM - Forum: PULP General questions - No Replies

Currently I'm testing PULPino core on Altera DE10-Nano board. I want to use provided JTAG interface with Digilent HS-2 cable. There seem to be no documentation about connecting PULPino to OpenOCD anywhere so I thought to use slightly modified version of OpenOCD config from PULPissimo project as supposedly the debug interface is pretty much the same. Is it a valid assumption? So far I didn't get too far. In the attachment you can find my current OpenOCD config (I'm using your patched version based on PULPissimo README) and a log.
Is there some working solution so that it's possible to use PULPino with JTAG?


Attached Files
.txt   hs2-pulpino.cfg.txt (Size: 894 bytes / Downloads: 5)
.txt   openocd-log.txt (Size: 23.61 KB / Downloads: 6)
Print this item

Posted by: skor - 08-15-2019, 09:35 AM - Forum: PULP General questions - No Replies


What are the two registers REG_FCBOOT and REG_FCFETCH meant for? They are in Soc_control area. Basically in RTL code is said that they are not used, so because I would like to add a new register to soc_control area I was planning to use either of these . 
I would anyway like to make sure that I am not blocking anything that might be usefull later.



Print this item