Welcome, Guest |
You have to register before you can post on our site.
|
Latest Threads |
Pulpissimo bitstream gene...
Forum: PULP General questions
Last Post: zealshah29
Yesterday, 06:41 AM
» Replies: 13
» Views: 39,481
|
Help to run Hello Example
Forum: PULP General questions
Last Post: zealshah29
Yesterday, 06:31 AM
» Replies: 5
» Views: 10,289
|
Compiling and running app...
Forum: PULP General questions
Last Post: zealshah29
Yesterday, 06:13 AM
» Replies: 5
» Views: 18,245
|
How do I get the files ne...
Forum: PULP General questions
Last Post: NEO
02-29-2024, 12:36 AM
» Replies: 0
» Views: 136
|
Understanding the TCDM in...
Forum: PULP General questions
Last Post: zealshah29
02-13-2024, 10:34 AM
» Replies: 7
» Views: 14,493
|
Error while updating IPs
Forum: PULP General questions
Last Post: zealshah29
02-08-2024, 06:03 AM
» Replies: 4
» Views: 9,516
|
Snitch cluster: make bin/...
Forum: PULP General questions
Last Post: ashuthosh
02-07-2024, 07:38 AM
» Replies: 1
» Views: 281
|
Synthesizable Version of ...
Forum: PULP General questions
Last Post: cykoenig
01-16-2024, 10:52 AM
» Replies: 2
» Views: 552
|
RISC V proyect research
Forum: PULP General questions
Last Post: kgf
12-29-2023, 01:09 PM
» Replies: 1
» Views: 613
|
PULPino Boot ROM Address ...
Forum: PULP General questions
Last Post: kgf
12-29-2023, 12:54 PM
» Replies: 1
» Views: 592
|
|
|
Pulpissimo- errors during FPGA synthesis. |
Posted by: plumerai - 09-25-2020, 04:23 PM - Forum: PULP General questions
- Replies (2)
|
|
I am trying to synthesize Pulpissimo with Vivado 2019.2 for nexys A7-100. I get the following errors:
Code: [Place 30-69] Instance i_pulpissimo/pad_frame_i/padinst_bootsel/iobuf_i/IBUF (IBUF driven by I/O terminal i_pulpissimo/pad_frame_i/padinst_bootsel/iobuf_i/IO) is unplaced after IO placer
[Place 30-68] Instance i_pulpissimo/pad_frame_i/padinst_bootsel/iobuf_i/IBUF (IBUF) is not placed
[Place 30-99] Placer failed with error: 'IO Clock Placer failed'
Please review all ERROR, CRITICAL WARNING, and WARNING messages during placement to understand the cause for failure.
[Common 17-69] Command failed: Placer could not place all instances
I didn't modify a bit after cloning the repo.
|
|
|
Adding custom instructions into RI5CY core |
Posted by: plumerai - 09-25-2020, 09:04 AM - Forum: PULP General questions
- Replies (4)
|
|
We are currently evaluating the RI5CY core for our project and the possibility of adding custom instructions is important for us. Some other cores (Sifive E31, Vexriscv) have simple and documented ways to do this, but I couldn't find the information about RI5CY. HWPEs are great but we may need a true custom instruction support for our needs.
|
|
|
FPGA: Printing UART on minicom possible? |
Posted by: LPLA - 09-23-2020, 03:42 PM - Forum: PULP General questions
- No Replies
|
|
Hello,
while looking at the pulp-rt-examples I found the uart examples and I was wondering if it's possible to print the contents of the buffer to minicom using the rt_uart_write function.
I have already tested the hello example on ZedBoard and the printf works just fine with minicom.
Now I was wondering if it's possible to write the same Hello! to minicom using the rt_uart_write function.
If I run the send example I don't get any output on minicom or in RTL simulation.
Same if I put a string in the buffer instead of the loop that is used in the example.
Shouldn't it be possible to get something on minicom with this method somehow?
I also played around with the RTS and CTS signals as i didn't want to have them float, even tho it worked with the normal hello example, but it didn't help with the above method.
Does anyone have any experience with this?
Edit: I managed to make it work. It was an issue in the code of the app I tried to run.
Thank you,
LPLA
|
|
|
Memset in the disassembly section |
Posted by: RiscV - 09-11-2020, 12:09 PM - Forum: PULP General questions
- Replies (5)
|
|
Hi,
I am trying to compile a simple code which has global arrays. I have initialized all the global arrays to make sure the compiler does not generate the code to initialize them to 0. However, I am still getting these "memset" calls in the _start section of the assembly.
Code: Disassembly of section .text:
1c000000 <_start>:
1c000000: 00001197 auipc gp,0x1
1c000004: 18018193 addi gp,gp,384 # 1c001180 <__global_pointer$>
1c000008: 00001517 auipc a0,0x1
1c00000c: 95850513 addi a0,a0,-1704 # 1c000960 <__FRAME_END__>
1c000010: 00001617 auipc a2,0x1
1c000014: 97060613 addi a2,a2,-1680 # 1c000980 <completed.1>
1c000018: 40a60633 sub a2,a2,a0
1c00001c: 00000593 li a1,0
1c000020: 1a8000ef jal ra,1c0001c8 <memset>
1c000024: 00000517 auipc a0,0x0
The program is not return to start section after executing till 1C0001f8
Code: 1c0001c8 <memset>:
1c0001c8: 00f00313 li t1,15
1c0001cc: 00050713 mv a4,a0
1c0001d0: 02c37e63 bgeu t1,a2,1c00020c <memset+0x44>
1c0001d4: 00f77793 andi a5,a4,15
1c0001d8: 0a079063 bnez a5,1c000278 <memset+0xb0>
1c0001dc: 08059263 bnez a1,1c000260 <memset+0x98>
1c0001e0: ff067693 andi a3,a2,-16
1c0001e4: 00f67613 andi a2,a2,15
1c0001e8: 00e686b3 add a3,a3,a4
1c0001ec: 00b72023 sw a1,0(a4)
1c0001f0: 00b72223 sw a1,4(a4)
1c0001f4: 00b72423 sw a1,8(a4)
1c0001f8: 00b72623 sw a1,12(a4)
1c0001fc: 01070713 addi a4,a4,16
1c000200: fed766e3 bltu a4,a3,1c0001ec <memset+0x24>
1c000204: 00061463 bnez a2,1c00020c <memset+0x44>
What should I do to load complete hex file to my verilator model? how can I get rid of this memset? I tried with
PHP Code: -fno-zero-initialized-in-bss
in my gcc, but not solved my issue. Currently using riscv gnu toolchain 10.1.0.
|
|
|
Error while building SDK |
Posted by: Victor - 09-11-2020, 01:27 AM - Forum: PULP General questions
- Replies (4)
|
|
Hello! I checked existing threads but did not find a solution for my problem.
I've already installed simple runtime and executed expample "hello" successfully.
While I was installing SDK, I had some problems. I just follow the steps in
GitHub and run the "make build-pulp-sdk" and some errors just came out.
Environment:
CentOS-7
gcc 4.8.3
python 3.6.8
Following is some of the configuration in my ".bashrc".
export PATH=$PATH:$HOME/mylib/v1.0.16-pulp-riscv-gcc-centos-7/:/tools/linux/mentor/modelsim/10.6a/modeltech/
I wrote this "source_pulp.sh" and source it once before I start building SDK.
PULP_HOME=$HOME/pulpissimo
export PULP_RISCV_GCC_TOOLCHAIN=$HOME/mylib/v1.0.16-pulp-riscv-gcc-centos-7
export VSIM_PATH=$PULP_HOME/sim
export CPLUS_INCLUDE_PATH=/usr/local/include/ImageMagick-6
source $PULP_HOME/pulp-runtime/configs/pulpissimo.sh
source $PULP_HOME/setup/vsim.sh
source $PULP_HOME/pulp-sdk/configs/pulpissimo.sh
source $PULP_HOME/pulp-sdk/configs/platform-rtl.sh
1. I've already installed configparser at /usr/local/lib/python3.6/site-packages.
But "No module named configparser" shows up from time to time. Should I install
configparser with another method or just run several times to ignore the error?
2. I've installed ImageMagick at /usr/local/include. When I use ImageMagick-7 as
the library, this error occurs.
sdk:dpi-models:build: make build install
make[2]: Entering directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models'
make -C models build
make[3]: Entering directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models/models'
g++ camera/camera.cpp -o /users/student/mr109/cyyang20/pulpissimo/pulp-sdk/build/sdk/dpi-models/models/camera.so -I/usr/include/GraphicsMagick -D__MAGICK__ -MMD -MP -O2 -g -fpic -std=c++11 -I/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/pkg/sdk/dev/install/ws/include -Werror -Wfatal-errors -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=0 -lGraphicsMagick++ -lGraphicsMagick -O2 -g -shared -L/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/pkg/sdk/dev/install/ws/lib -Werror -Wfatal-errors
camera/camera.cpp:82:3: error: 'PixelPacket' does not name a type
PixelPacket *image_buffer;
^
compilation terminated due to -Wfatal-errors.
make[3]: *** [/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/build/sdk/dpi-models/models/camera.so] Error 1
make[3]: Leaving directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models/models'
make[2]: *** [build] Error 2
make[2]: Leaving directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models'
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed
make[1]: *** [all] Error 255
make[1]: Leaving directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk'
make: *** [pulp-sdk] Error 2
But after I choose ImageMagick-6 as the library, this error occurs.
sdk:dpi-models:build: make build install
make[2]: Entering directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models'
make -C models build
make[3]: Entering directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models/models'
g++ camera/camera.cpp -o /users/student/mr109/cyyang20/pulpissimo/pulp-sdk/build/sdk/dpi-models/models/camera.so -I/usr/include/GraphicsMagick -D__MAGICK__ -MMD -MP -O2 -g -fpic -std=c++11 -I/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/pkg/sdk/dev/install/ws/include -Werror -Wfatal-errors -DMAGICKCORE_QUANTUM_DEPTH=16 -DMAGICKCORE_HDRI_ENABLE=0 -lGraphicsMagick++ -lGraphicsMagick -O2 -g -shared -L/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/pkg/sdk/dev/install/ws/lib -Werror -Wfatal-errors
In file included from /usr/include/GraphicsMagick/magick/render.h:14:0,
from /usr/include/GraphicsMagick/magick/draw.h:31,
from /usr/local/include/ImageMagick-6/magick/annotate.h:21,
from /usr/local/include/ImageMagick-6/magick/MagickCore.h:80,
from /usr/local/include/ImageMagick-6/Magick++/Include.h:45,
from /usr/local/include/ImageMagick-6/Magick++.h:10,
from camera/camera.cpp:24:
/usr/include/GraphicsMagick/magick/type.h:87:21: error: 'MagickPassFail' does not name a type
extern MagickExport MagickPassFail
^
compilation terminated due to -Wfatal-errors.
make[3]: *** [/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/build/sdk/dpi-models/models/camera.so] Error 1
make[3]: Leaving directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models/models'
make[2]: *** [build] Error 2
make[2]: Leaving directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk/platform/dpi_models'
Reached EOF with exit status 2
FATAL ERROR: the command 'build' has failed
make[1]: *** [all] Error 255
make[1]: Leaving directory `/users/student/mr109/cyyang20/pulpissimo/pulp-sdk'
make: *** [pulp-sdk] Error 2
I would like to know whether I installed ImageMagick correctly. If there's
anything needed to help me deal with these problems, please let me know!
Thanks a lot!
|
|
|
Access Stack Pointer in RiscV Pulp |
Posted by: RiscV - 08-22-2020, 10:32 AM - Forum: PULP General questions
- Replies (1)
|
|
Hi ,
I am trying C to hex conversion for a simple (addition) program. My disassembly code is as follows:
Code: 00010000 <main>:
10000: fe010113 addi sp,sp,-32
10004: 00812e23 sw s0,28(sp)
10008: 02010413 addi s0,sp,32
1000c: 00a00793 li a5,15
10010: fef42623 sw a5,-20(s0)
10014: 00500793 li a5,5
10018: fef42423 sw a5,-24(s0)
1001c: fec42703 lw a4,-20(s0)
10020: fe842783 lw a5,-24(s0)
10024: 00f707b3 add a5,a4,a5
10028: fef42223 sw a5,-28(s0)
1002c: 00000793 li a5,0
10030: 00078513 mv a0,a5
10034: 01c12403 lw s0,28(sp)
10038: 02010113 addi sp,sp,32
1003c: 00008067 ret
I used elf2hex for getting hex file. Hex files are generated successfully. I am using Riscv Pulppissimo testbench, and using readmemh for reading the generated hex file. My issue is after generating the .vcd file (gtkwave) I am not getting the result of addition. As per the disassembly section the result will go to the stack pointer, But how can I access SP in .vcd file.
In my vcd file regfile_alu_wdata loading the input values ie;5 and F but the result getting is 000102CE. I am getting the same result for other input values too.......
|
|
|
Error while updating IPs |
Posted by: LPLA - 08-19-2020, 12:34 PM - Forum: PULP General questions
- Replies (4)
|
|
Hello,
yesterday I had an error while executing the ./update-ips command.
Code: Updating ip 'apb_fll_if'...
Traceback (most recent call last):
File "./update-ips", line 47, in <module>
ipdb.update_ips()
File "ipstools/ipstools/IPDatabase.py", line 525, in update_ips
ValueError: invalid literal for int() with base 10: b'
I don't know why I got this error because I didn't change anything on my system, in fact I didn't even use this particular computer at all in the last few weeks.
What I did was get a fresh PULPissimo installation.
So I cloned from the GitHub and updated the ips.
Everything worked fine and the error was gone.
Currently I am trying to generate the bitstream for the Zedboard.
So when I run make zedboard I get the following error:
Code: ERROR: [Vivado 12-172] File or Directory '/local/lpla/pulpissimo/fpga/pulpissimo-zedboard/ips/xilinx_clk_mngr/ip/xilinx_clk_mngr.xci' does not exist
I then tried to update the ips again.
But now I get the same error again:
Code: Updating ip 'apb_fll_if'...
Traceback (most recent call last):
File "./update-ips", line 47, in <module>
ipdb.update_ips()
File "ipstools/ipstools/IPDatabase.py", line 525, in update_ips
ValueError: invalid literal for int() with base 10: b''
I have been trying to generate the bitstream for the Zedboard for a few days now but I run from one error into another.
As mentioned just yesterday I freshly pulled PULPissimo and updated the ips without any problems.
I didn't do pull anything else or manipulate any of the files or scripts.
Still I get the error again. Also it says that my local repo is already up-to-date.
Does anyone have an idea why this keeps happening?
All I'm trying to do is create the bitstream for the Zedboard following all the steps mentioned in the GitHub.
Edit: I just did a fresh install of PULPissimo again and this time it worked. Still it's weird that I got that error twice for no obvious reason. Maybe someone has an idea what happened...
Thank you,
LPLA
|
|
|
Simple RISC-V Assembly Instructions Verification |
Posted by: ufsahu - 08-19-2020, 07:48 AM - Forum: PULP General questions
- Replies (2)
|
|
Hello,
I am new to RISC-V and PULPissimo. So far, using the following Makefile, I have been able to generate C based test cases for verifying general C commands:
PULP_APP = test
PULP_APP_FC_SRCS = test.c
PULP_APP_HOST_SRCS = test.c
PULP_CFLAGS = -O3 -g
include $(PULP_SDK_HOME)/install/rules/pulp_rt.mk
When I am trying to add basic asm code as inline assembly in the C test, it provides error on those specific commands.
I added the following code in the test.c file:
asm( "mov r0, r0\n\t"
"mov r0, r0\n\t"
"mov r0, r0\n\t"
"mov r0, r0" );
I received the following errors:
test.c: Assembler messages:
test.c:15: Error: unrecognized opcode mov r0,r0'
test.c:16: Error: unrecognized opcodemov r0,r0'
test.c:17: Error: unrecognized opcode mov r0,r0'
test.c:18: Error: unrecognized opcodemov r0,r0'
Is there a simple way of adding inline assembly in C test cases, and verifying for example load and store instructions, or more instruction types? The compiler is able to run test.c file using the above Makefile method and I was hoping to keep that constant and work it around the inline assembly in a simple way.
|
|
|
Error while running helloworld in PULPino |
Posted by: Tresa Febina Francis - 08-12-2020, 05:06 PM - Forum: PULP General questions
- No Replies
|
|
root@tresa-Inspiron-5567:~/pulpino/sw/build1# make helloworld
[ 0%] Built target bench
[ 0%] Building C object CMakeFiles/crt0.dir/ref/crt0.riscv.S.o
/root/pulpino/sw/ref/crt0.riscv.S:17:3: error: expected identifier or '(' before '.' token
.section .text
^
/root/pulpino/sw/ref/crt0.riscv.S:84:3: error: unknown type name 'addi'
addi x10, x0, 0
^
/root/pulpino/sw/ref/crt0.riscv.S:84:17: error: expected identifier or '(' before numeric constant
addi x10, x0, 0
^
/root/pulpino/sw/ref/crt0.riscv.S:89:3: error: unknown type name 'mv'
mv a0, s0
^
/root/pulpino/sw/ref/crt0.riscv.S:91:3: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'jal'
jal x1, exit
^
/root/pulpino/sw/ref/crt0.riscv.S:254:5: error: invalid preprocessing directive #These
# These don't have to do anything since we use init_array/fini_array.
^
/root/pulpino/sw/ref/crt0.riscv.S:254:14: warning: missing terminating ' character
# These don't have to do anything since we use init_array/fini_array.
^
/root/pulpino/sw/ref/crt0.riscv.S:265:3: error: expected identifier or '(' before '.' token
.org 0x00
^
CMakeFiles/crt0.dir/build.make:81: recipe for target 'CMakeFiles/crt0.dir/ref/crt0.riscv.S.o' failed
make[3]: *** [CMakeFiles/crt0.dir/ref/crt0.riscv.S.o] Error 1
CMakeFiles/Makefile2:3980: recipe for target 'CMakeFiles/crt0.dir/all' failed
make[2]: *** [CMakeFiles/crt0.dir/all] Error 2
CMakeFiles/Makefile2:5086: recipe for target 'apps/helloworld/CMakeFiles/helloworld.dir/rule' failed
make[1]: *** [apps/helloworld/CMakeFiles/helloworld.dir/rule] Error 2
Makefile:720: recipe for target 'helloworld' failed
make: *** [helloworld] Error 2
Got this error while running helloworld.
Kindly look into this error and help me out.
Thanks in advance!
|
|
|
|