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



Search Forums

(Advanced Search)

Forum Statistics
» Members: 359
» Latest member: dbroy
» Forum threads: 111
» Forum posts: 381

Full Statistics

Latest Threads
Yet another Pulpissimo (o...
Forum: PULP General questions
Last Post: stefanct
Yesterday, 02:42 PM
» Replies: 6
» Views: 352
Loading Flash via JTAG
Forum: PULP General questions
Last Post: LPLA
Yesterday, 02:25 PM
» Replies: 0
» Views: 10
GCC Compiler output
Forum: PULP General questions
Last Post: HariniM
01-14-2020, 11:29 AM
» Replies: 0
» Views: 32
Monitoring Memory Request
Forum: PULP General questions
Last Post: masoud
01-08-2020, 09:02 PM
» Replies: 0
» Views: 64
Problems with the bootrom
Forum: PULP General questions
Last Post: Jakob
01-07-2020, 03:07 PM
» Replies: 0
» Views: 80
Problem in building Pulp-...
Forum: PULP General questions
Last Post: ziang87
01-03-2020, 03:27 AM
» Replies: 3
» Views: 270
Problem installing PULP-S...
Forum: PULP General questions
Last Post: jmmarostegui
12-31-2019, 12:41 PM
» Replies: 7
» Views: 968
reg test case failed
Forum: PULP General questions
Last Post: HariniM
12-27-2019, 06:18 AM
» Replies: 0
» Views: 146
how to manipulating of GP...
Forum: PULP General questions
Last Post: bunohdwnl
12-17-2019, 10:18 AM
» Replies: 3
» Views: 867
[Pulpissimo]where are the...
Forum: PULP General questions
Last Post: bunohdwnl
12-17-2019, 10:10 AM
» Replies: 6
» Views: 521

  Loading Flash via JTAG
Posted by: LPLA - Yesterday, 02:25 PM - Forum: PULP General questions - No Replies


I have already created an Issue regarding this topic but i thought also creating a topic here might reach more people.
After some testing regarding JTAG i wanted to know if it is possible to write into Spansion s25fs256s flash via JTAG.
According to this Issue it's not possible, but that was over a year ago and things might have changed.

At first i thought that writing into flash via JTAG works pretty much like writing into L2 via JTAG.
It seems that things are a bit more complicated.
I tried figuring out the address of the flash to create a little test file with custom data and use the load_L2 task from the jtag_pkg.sv to load that data into flash, just like you would load data into L2 via JTAG.
Now as you can guess that didn't work out because the flash isn't memory mapped (and maybe further reasons).

So right now the only way (that i know of) to load data into flash (obviously we don't want to use preload!) is to load data into L2 using JTAG, write a program that tells the flash to load that data from L2, load that program into L2 via JTAG and then execute it.

If you know of a more elegant and/or efficient way to do this i would love to know about it.


Print this item

  GCC Compiler output
Posted by: HariniM - 01-14-2020, 11:29 AM - Forum: PULP General questions - No Replies

Can anyone help me to find the output file(executable binary file)/folder of the C compiler when we try to execute the testcase files (testUART.c , testI2C.c, testGPIO.c).

Print this item

  Monitoring Memory Request
Posted by: masoud - 01-08-2020, 09:02 PM - Forum: PULP General questions - No Replies


I need to monitor and the connectivity and signal transitions from the processor to the TCDM when there is a memory request, to understand the timing and how communication works.

On this page :

For hardware debugging, it asks to copy the generated .slm files. I have no .slm files nor the folder " build/system-bigpulp*/ in after installing the pulp SDK and running OpenMP examples.


I would be thankful to get some help.

Print this item

  Problems with the bootrom
Posted by: Jakob - 01-07-2020, 03:07 PM - Forum: PULP General questions - No Replies

Hello, I did some changes to the Ariane core (mainly in the frontend) and tried to boot the provided Linux version again. Unfortunately, the bootrom does not work anymore, such that I don't get the first 'Hello World!' output.

But if I build the bootrom (with the provided makefile) and load the resulting bootrom.elf in gdb, then everything works just fine and in the simulation it also looks quite good. Without the changes to the Ariane core Linux boots as well.

Any idea why this happens? I currently don't have any idea where to begin searching for the problem.

I made significant changes to frontend.sv, instr_queue.sv and instr_scan.sv and minor changes to branch_unit.sv and controller.sv. Neither of these changes should affect the fetching of the first instruction.

Thank you very much!

Print this item

  Problem in building Pulp-SDK("make all" error)
Posted by: ziang87 - 12-28-2019, 06:58 AM - Forum: PULP General questions - Replies (3)


I'm going to create the pulp platform.When I followed the instructions to building the SDK, an error occurred.I found on the forums that some people had similar problems, but their solutions didn't solve mine.
I started by installing the new Ubuntu 16.04, in the sequence of steps:

1.root@cp1-VirtualBox:/home/cp1# mkdir riscv
2.root@cp1-VirtualBox:/home/cp1/riscv# git clone https://github.com/pulp-platform/pulp
3.Connecting to GitHub with SSH successfully
4.sudo apt install git python3-pip python-pip gawk texinfo libgmp-dev libmpfr-dev libmpc-dev swig3.0 libjpeg-dev lsb-core doxygen python-sphinx sox graphicsmagick-libmagick-dev-compat libsdl2-dev libswitch-perl libftdi1-dev cmake scons libsndfile1-dev
5.sudo pip3 install artifactory twisted prettytable sqlalchemy pyelftools openpyxl xlsxwriter pyyaml numpy configparser pyvcd
6.sudo pip2 install configparser
root@cp1-VirtualBox:/home/cp1# pip --versionpip 19.3.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)
root@cp1-VirtualBox:/home/cp1# python3 --versionPython 3.5.2
7.root@cp1-VirtualBox:/home/cp1/riscv# git clone --recursive https://github.com/pulp-platform/pulp-ri...-toolchain
8.sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev
9.root@cp1-VirtualBox:/home/cp1/riscv/pulp-riscv-gnu-toolchain# ./configure --prefix=/opt/riscv --with-arch=rv32imc --with-cmodel=medlow --enable-multilib
11.root@cp1-VirtualBox:/home/cp1/riscv/pulp-riscv-gnu-toolchain# export PULP_RISCV_GCC_TOOLCHAIN=/home/cp1/riscv/pulp-riscv-gnu-toolchain
12.root@cp1-VirtualBox:/home/cp1/riscv/pulp# export VSIM_PATH=/home/cp1/riscv/pulp/sim
13.root@cp1-VirtualBox:/home/cp1/riscv# git clone https://github.com/pulp-platform/pulp-sdk.git -b master
14.export PULP_GITHUB_SSH=1
15.root@cp1-VirtualBox:/home/cp1/riscv/pulp-sdk# source configs/platform-rtl.sh
16.make all

Submodule path 'pulp-tools': checked out 'aa9ad5cd9f6fa75b80cbc91a4c2c8e5db737d7ce'
source init.sh && ./pulp-tools/bin/plpbuild --p sdk checkout build env --stdout
Configuring Pulp project at /home/cp1/riscv/pulp-sdk
Traceback (most recent call last):
  File "./pulp-tools/bin/plpbuild", line 3, in <module>
    import plptools as plp
  File "/home/cp1/riscv/pulp-sdk/pulp-tools/bin/plptools.py", line 27, in <module>
    from plpobjects import *
  File "/home/cp1/riscv/pulp-sdk/pulp-tools/bin/plpobjects.py", line 32, in <module>
    from openpyxl import Workbook
  File "/usr/local/lib/python3.5/dist-packages/openpyxl/__init__.py", line 6, in <module>
    from openpyxl.workbook import Workbook
  File "/usr/local/lib/python3.5/dist-packages/openpyxl/workbook/__init__.py", line 4, in <module>
    from .workbook import Workbook
  File "/usr/local/lib/python3.5/dist-packages/openpyxl/workbook/workbook.py", line 7, in <module>
    from openpyxl.worksheet.worksheet import Worksheet
  File "/usr/local/lib/python3.5/dist-packages/openpyxl/worksheet/worksheet.py", line 392
    return f"{get_column_letter(min_col)}{min_row}:{get_column_letter(max_col)}{max_row}"
SyntaxError: invalid syntax
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 1

Thank you so much for your prompt answer.
best wishes,

Print this item

  reg test case failed
Posted by: HariniM - 12-27-2019, 06:18 AM - Forum: PULP General questions - No Replies

I tried running interfaced GPIO with the test cases given in PULPino environment. after running testcases I am getting has test case  failed. why test failed occurs.

** Warning: NUMERIC_STD."=": metavalue detected, returning FALSE
#    Time: 0 ps  Iteration: 0  Instance: /tb/top_i/peripherals_i/apb_uart_i/UART_RXFF
# ** Warning: NUMERIC_STD."=": metavalue detected, returning FALSE
#    Time: 0 ps  Iteration: 0  Instance: /tb/top_i/peripherals_i/apb_uart_i/UART_TXFF
# Using MEMLOAD method: PRELOAD
# Using      ri5cy core
# [SPI] Enabling QPI mode
# [adv_dbg_if] AXI4 WRITE         32 burst @1a107008 for           4 bytes.
# Preloading memory
# Preloading instruction memory from slm_files/l2_stim.slm
# Preloading data memory from slm_files/tcdm_bank0.slm
# [TRACER] Output filename is: trace_core_00_0.log    
#[SPI] Received 00000003
#[SPI] Test  Failed
# **Note :$Stop   

please respond
thanks in advance.

Print this item

  Yet another Pulpissimo (on Zedboard) bring-up thread
Posted by: stefanct - 12-20-2019, 03:58 PM - Forum: PULP General questions - Replies (6)


I don't want to hijack one of the other current threads on getting started with Pulpissimo and my problem does not seem to be related to any of them anyway.
I am trying to get Pulpissimo to run on a Zedboard and would like to ask anybody who successfully done this to share his/her exact git revisions of the various related repositories. I think this might be the cause of my problems.

What (presumably) works:

  1. Synthesis: I was able to synthesize the design and download it to the zedboard. When I do so the hardware sets the LD0 LED.
  2. Compilation: I have built the PULP-SDK and I am able to compile binaries using pulp-rt. So far I have only tested the hello pulp-rt-example.
  3. Debugging: Since I don't have the Digilent JTAG adapter I am using an old Altera USB Blaster attached to the PMOD pins. I have changed the OpenOCD configuration accordingly and are able to connect, load and control execution of the RISC-V core with GDB. On first connect it is stopped at 0x1c008080, i.e. _start.
*However*, when I load and run the application that way, it does not work as expected. If we assume that we can trust the debugger then it seems like it gets stuck in rt_user_alloc(). pt and  size get initialized to 0 and 144 (0x90), respectively. Thus, the function returns to rt_alloc() where it is retried. On the second, try pt gets initialized to 0x4c4b40 because a equals the address of __rt_freq_domains and it tries to get its first_free field which is completely bogus!?

Since rt_event_alloc() uses the result of rt_cluster_id() for the values eventually ending up in rt_user_alloc() I presume this might be one of the problems that changing the core ID has as discussed in https://github.com/pulp-platform/pulpissimo/issues/107


Print this item

  [PULPissimo] How to resize memory correctly
Posted by: gideros - 12-16-2019, 02:21 AM - Forum: PULP General questions - No Replies


I'm working on a design based on PULPissimo and we're about to tape-out a test chip. But the technology that we're working on is pretty "big" (HC90L from SK Hynix), thus 512KB of total memory takes way too much area. Therefore I wanna reduce the total size of memory into half (256KB). 

In order to do that, I modified these:
- pulp_soc.sv (half size for both L2_BANK_SIZE and L2_BANK_SIZE_PRI).
- fpga_settings.mk (for a test build on FPGA)
- soc_interconnect.sv (for memory address, reduce PER_END_ADDR of PRI_L2_CH1, PRI_L2_CH0 and TCDM_END_ADDR).
- pulp-configs/configs/chips/pulpissimo/pulpissimo.json (memory size for sdk I guess)
The result is pretty bad. Simulation shows lots of "a request with unknown address". I guess I was wrong somewhere, or missed something.

And  since I disable FPU to reduce SoC size (I don't really need it), I also change ri5ky_v2_fpu_1_10 to a custom core that doesn't have FPU arguments.
-   "isa" from "rv32imfcXpulpv2" to "rv32imcXpulpv2"
- Remove "--fpu", "--fpud" and "--shared-fpu" from "gv_isa"
- Remove "compiler_args"
Eventhough, the final binary generated by SDK still has FPU related instruction, which will resulted in "Illegal instruction" exception while execute the program. 

Can you please help me out with above issues? Thank you very much in advance.

Print this item

  ubuntu 16.04
Posted by: cello - 12-15-2019, 09:04 AM - Forum: PULP General questions - Replies (2)

Hi, can I use ubuntu 16.04 LTS application on windows10 to install files from pulp platform? Or do I need completely ubuntu operating system on my pc?

Print this item

Question [Pulpissimo]where are the <board_target>.sh ?
Posted by: bunohdwnl - 12-13-2019, 07:41 AM - Forum: PULP General questions - Replies (6)

Hello, in the  Pulpissimo's README.md,it says 

Quote:Supported Boards
At the moment the followin g boards are supported:

  Digilent Genesys2
  Xilinx ZCU104
  Xilinx ZCU102
  Digilent Nexys Video

  In the  section  Compiling Applications for the FPGA Target, it  says  

Quote:To run or debug applications for the FPGA you need to use a recent version of the PULP-SDK (commit id 3256fe7 or newer.'). Configure the SDK for the FPGA platform by running the following commands within the SDK's root directory:

  source configs/pulpissimo.sh
  source configs/fpgas/pulpissimo/<board_target>.sh
 Question:   When I git clone the pulp-sdk.git and changed directory to  pulp-sdk/configs/fpgas/pulpissimo/, I  only found the genesys2.sh. Now I am using Digilent Nexys Video Board, but there is no nexys_video.sh . What should I do?

Print this item