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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 706
» Latest member: rgorti
» Forum threads: 183
» Forum posts: 625

Full Statistics

Latest Threads
Post Synthesis Simulation...
Forum: PULP General questions
Last Post: vignajeth
04-07-2021, 06:22 PM
» Replies: 2
» Views: 72
pwd for the image example
Forum: PULP General questions
Last Post: akurth
04-07-2021, 09:06 AM
» Replies: 1
» Views: 52
Queries in FPU for cv32e4...
Forum: PULP General questions
Last Post: mlmram
04-05-2021, 05:34 AM
» Replies: 3
» Views: 961
Synthesis failed on ZedBo...
Forum: PULP General questions
Last Post: akurth
03-25-2021, 09:56 AM
» Replies: 5
» Views: 381
Pulp GNU ToolChain Not th...
Forum: PULP General questions
Last Post: meggiman
03-22-2021, 11:23 AM
» Replies: 3
» Views: 437
Need Up To Date COIN CBC ...
Forum: PULP General questions
Last Post: kgf
03-19-2021, 11:03 PM
» Replies: 1
» Views: 246
Pulpissimo on PYNQ-Z1 (Zy...
Forum: PULP General questions
Last Post: dah29
03-17-2021, 03:41 PM
» Replies: 2
» Views: 367
Simultaneously start all ...
Forum: PULP General questions
Last Post: nayan
03-17-2021, 11:57 AM
» Replies: 0
» Views: 188
Pulpissimo with IBEX Core...
Forum: PULP General questions
Last Post: vignajeth
03-13-2021, 07:57 AM
» Replies: 0
» Views: 254
I2C cannot write to TX_SA...
Forum: PULP General questions
Last Post: nikolas
03-10-2021, 06:02 PM
» Replies: 2
» Views: 902

 
Question Post Synthesis Simulation in ASIC
Posted by: vignajeth - 04-07-2021, 12:23 PM - Forum: PULP General questions - Replies (2)

Hi,
   I am trying to synthesize the pulpissimo, I don't find any documentation or specific script  for post-synthesis simulation but I have done the below steps

1) replaced the generic_memory, generic_rom with technology-related cells
2) synthesized soc_domain as top and have obtained synthesis netlist and its sdf file
3) I have replaced the soc_domain.sv with the synthesis netlist in sim/vcompile/rtl/pulpissimo.mk <-- all other files are same, not sure which files to keep and which one to remove 
3) I have added the CORE and CLK libs with -L option in sim/tcl_files/run.tcl

The modules gf2_fll , pulp_clock_gating , pulp_clock_mux2 , cluster_clock_gating , cluster_clock_inverter, pulp_clock_inverter are not synthesized, is any one these modules need to be synthesized for post-synthesis simulation?

what libraries should i need to keep in ./sim/tcl_files/config/vsim_ips.tcl ?

It will be great if someone can help me here

Vignajeth

Print this item

  pwd for the image example
Posted by: Lucas657 - 04-07-2021, 08:54 AM - Forum: PULP General questions - Replies (1)

I just took my first step in scientific research focused on Xilinx ZC706 Evaluation Boards. Recently I find your PULP website 
https://pulp-platform.org/hero/doc/downloads/images/zc706/ . I appreciate your sharing these files here, but when I downloaded them to SD card and started the development board, I found that you did not publish the system login account and password of this example image files.

So could you please send me the login and password of the image files in the website?Or send a new boot image for zc706? I would be sincerely appreciated if you could help . Smile
Thank you very much!

Print this item

  Synthesis failed on ZedBoard (riscv_ex_stage.sv)
Posted by: dah29 - 03-23-2021, 06:53 PM - Forum: PULP General questions - Replies (5)

Hi, I have some problems with the synthesis of Pulpissimo to ZedBoard target.

ERROR -> "an enum variable may only be assigned to same enum typed variable or one of its values [pulpissimo/ips/riscv/rtl/riscv_ex_stage.sv:445]"

I previously ran ./update-ips and and the ./generate-scripts. I'm running a webpack licensed 2020.2 version under Linux (Ubuntu 18.04). Do you know where is the problem? 

I attach the complete log file "vivado.txt"

Code:
Starting synth_design
Using part: xc7z020clg484-1
WARNING: [Vivado_Tcl 4-391] The following IPs are missing output products for Synthesis target. These output products could be required for synthesis, please generate the output products using the generate_target or synth_ip command before running synth_design.
/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard/ips/xilinx_clk_mngr/ip/xilinx_clk_mngr.xci
/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard/ips/xilinx_interleaved_ram/ip/xilinx_interleaved_ram.xci
/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard/ips/xilinx_private_ram/ip/xilinx_private_ram.xci
/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard/ips/xilinx_slow_clk_mngr/ip/xilinx_slow_clk_mngr.xci

WARNING: [Vivado_Tcl 4-391] The following IPs are missing output products for Implementation target. These output products could be required for synthesis, please generate the output products using the generate_target or synth_ip command before running synth_design.
/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard/ips/xilinx_clk_mngr/ip/xilinx_clk_mngr.xci
/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard/ips/xilinx_slow_clk_mngr/ip/xilinx_slow_clk_mngr.xci

Top: xilinx_pulpissimo
INFO: [Device 21-403] Loading part xc7z020clg484-1
WARNING: [Synth 8-2507] parameter declaration becomes local in hwpe_stream_merge with formal parameter declaration list [/home/diego/Documents/tfm/pulpissimo/ips/hwpe-stream/rtl/hwpe_stream_merge.sv:31]
WARNING: [Synth 8-2507] parameter declaration becomes local in hwpe_stream_split with formal parameter declaration list [/home/diego/Documents/tfm/pulpissimo/ips/hwpe-stream/rtl/hwpe_stream_split.sv:31]
WARNING: [Synth 8-2507] parameter declaration becomes local in hwpe_stream_split with formal parameter declaration list [/home/diego/Documents/tfm/pulpissimo/ips/hwpe-stream/rtl/hwpe_stream_split.sv:32]
WARNING: [Synth 8-2490] overwriting previous definition of module pulp_clock_mux2 [/home/diego/Documents/tfm/pulpissimo/ips/tech_cells_generic/src/deprecated/pulp_clk_cells_xilinx.sv:53]
WARNING: [Synth 8-2490] overwriting previous definition of module pulp_clock_gating [/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard/rtl/pulp_clock_gating_xilinx.sv:11]
ERROR: [Synth 8-1587] an enum variable may only be assigned to same enum typed variable or one of its values [/home/diego/Documents/tfm/pulpissimo/ips/riscv/rtl/riscv_ex_stage.sv:445]
INFO: [Synth 8-2350] module riscv_ex_stage ignored due to previous errors [/home/diego/Documents/tfm/pulpissimo/ips/riscv/rtl/riscv_ex_stage.sv:40]
Failed to read verilog '/home/diego/Documents/tfm/pulpissimo/ips/riscv/rtl/riscv_ex_stage.sv'
2 Infos, 7 Warnings, 0 Critical Warnings and 2 Errors encountered.
synth_design failed
ERROR: [Vivado_Tcl 4-5] Elaboration failed - please see the console for details
INFO: [Common 17-206] Exiting Vivado at Tue Mar 23 19:31:02 2021...
Makefile:11: recipe for target 'all' failed
make[1]: *** [all] Error 1
make[1]: Leaving directory '/home/diego/Documents/tfm/pulpissimo/fpga/pulpissimo-zedboard'
Makefile:52: recipe for target 'zedboard' failed
make: *** [zedboard] Error 2



Attached Files
.txt   vivado.txt (Size: 42.54 KB / Downloads: 0)
Print this item

  Need Up To Date COIN CBC With Pulp
Posted by: cswor - 03-19-2021, 10:55 PM - Forum: PULP General questions - Replies (1)

I notice that Pulp seems to ship with a 2015 version of COIN's CLP/CBC tools. Anyone have a good link showing how to update the COIN tools that ship with Pulp? I'm mostly on Win10.

Print this item

  Simultaneously start all timer units in apb advanced timer
Posted by: nayan - 03-17-2021, 11:57 AM - Forum: PULP General questions - No Replies

Is there a way to simultaneously start all timer units in apb advanced timer in pulpissimo?

Print this item

  Pulpissimo on PYNQ-Z1 (Zynq-7000) board
Posted by: dah29 - 03-16-2021, 04:48 PM - Forum: PULP General questions - Replies (2)

Hi,

I would like to know if anyone tried to synthesize the Pulpissimo SoC on a PYNQ-Z1 (Zynq-7000) board. The chip is almost the same that is in the zedboard (XC7Z020-1CLG400C) so I though that it would be relatively easy. If so, I would like to know what parameters or files I have to change or rewrite to achieve the compatibility, or how to proceed.  As you can see, I am a beginner on this project, Do you know where to start?

Thank you.

Print this item

  Pulpissimo with IBEX Core Error
Posted by: vignajeth - 03-13-2021, 07:57 AM - Forum: PULP General questions - No Replies

Hi,
    I want to use the IBEX core with pulpissimo. I was able to run Hello World example with default ri5cy core. I changed the following files by making CORE_TYPE as 1 to get the ibex core configured.

  • ./pulpissimo/rtl/pulpissimo/pulpissimo.sv
  • ./pulpissimo/rtl/pulpissimo/soc_domain.sv
  • ./pulpissimo/rtl/tb/tb_pulp.sv
  • ./pulpissimo/pulp_soc/rtl/fc/fc_subsystem.sv
  • ./pulpissimo/ips/pulp_soc/rtl/pulp_soc/pulp_soc.sv
  • ./pulpissimo/install/tb_pulp.sv
once the change was done i cleaned the pulpissimo libs with make clean and did make build

i also cleaned the pulp-sdk with 'make clean' and did

export PULP_CURRENT_CONFIG=pulpissimo_ibex@config_file=chips/pulpissimo/pulpissimo_ibex.json
source configs/pulpissimo_ibex.sh
make build env # to rebuild the pulp-sdk with ibex configs
source sourceme.sh # to set path of newly built sdk with ibex core


when I run the hello world example I get an error from the ID stage of the IBEX Core pipeline like


# ** Error: [ASSERT FAILED] [tb_pulp.i_dut.soc_domain_i.pulp_soc_i.fc_subsystem_i.FC_CORE.lFC_CORE.id_stage_i.IbexIdInstrKnownKnownEnable] IbexIdInstrKnownKnownEnable (../ips/ibex/rtl/ibex_id_stage.sv:1008)
#    Time: 11300580292 ps Started: 11300580292 ps  Scope: tb_pulp.i_dut.soc_domain_i.pulp_soc_i.fc_subsystem_i.FC_CORE.lFC_CORE.id_stage_i.IbexIdInstrKnownKnownEnable File: /mypath/untouched/pulpissimo/sim/../ips/ibex/rtl/ibex_id_stage.sv Line: 1008
# ** Error: [ASSERT FAILED] [tb_pulp.i_dut.soc_domain_i.pulp_soc_i.fc_subsystem_i.FC_CORE.lFC_CORE.id_stage_i.IbexIdInstrALUKnownKnownEnable] IbexIdInstrALUKnownKnownEnable (../ips/ibex/rtl/ibex_id_stage.sv:1012)


I have built the pulp gnu toolchain with multilib 

can someone help me out here.

Print this item

  Pulp GNU ToolChain Not throwing L2 Overflowed Error
Posted by: vignajeth - 03-12-2021, 04:52 PM - Forum: PULP General questions - Replies (3)

Hi,
   I am currently working with L2 Memories. I notice that even though the size of the stimuli file I have is larger than the total size of L2 private memory (0x1c010000). The compiler does not throw l2 overflowed by ... bytes error. i have not changed the /my-path/pulp-sdk/pkg/sdk/dev/install/rules/pulpissimo/link.ld file. 

This the command the make file of hello example uses to compile my code


/my_path/project/gnu_toolchain/bin/riscv32-unknown-elf-gcc -march=rv32imfcxpulpv2 -mfdiv -D__riscv__ -MMD -MP -o /my_path/pulp-rt-examples/hello/build/pulpissimo/test/test /my_path/pulp-rt-examples/hello/build/pulpissimo/test/fc/test.o /my_path/pulp-rt-examples/hello/build/pulpissimo/test/fc//my_path/pulp-rt-examples/hello/build/pulpissimo/rt_conf.o /my_path/pulp-rt-examples/hello/build/pulpissimo/test/fc//my_path/pulp-rt-examples/hello/build/pulpissimo/rt_pad_conf.o  -nostartfiles -nostdlib -Wl,--gc-sections -L/my_path/untouched/pulpissimo/pulp-sdk/pkg/sdk/dev/install/rules -Tpulpissimo/link.ld -L/my_path/untouched/pulpissimo/pulp-sdk/pkg/sdk/dev/install/lib/pulpissimo -L/my_path/untouched/pulpissimo/pulp-sdk/pkg/sdk/dev/install/lib/pulpissimo/pulpissimo -lrt -lrtio -lrt -lgcc

pulp-run --config-file=pulpissimo@config_file=chips/pulpissimo/pulpissimo.json  --config-opt=platform=rtl --dir=/my_path/pulp-rt-examples/hello/build/pulpissimo --binary=test/test prepare
pulp-run --config-file=pulpissimo@config_file=chips/pulpissimo/pulpissimo.json  --config-opt=platform=rtl --dir=/my_path/pulp-rt-examples/hello/build/pulpissimo --binary=test/test
Launching simulator with command:


I notice the pulp_tap exceeding the maximum address of the L2 memory
 [pulp_tap_if] WRITE32 burst @1c00f800 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c00fc00 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c010000 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c010400 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c010800 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c010c00 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c011000 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c011400 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c011800 for        1024 bytes.
# [pulp_tap_if] WRITE32 burst @1c011c00 for        1024 bytes.



Any idea why the pulp_gnu_toolchain did not throw any error. does the pulp_gnu_toolchain should be rebuilt because i am playing by extending the Private memory sizes although the above error was produced with no change in the pulpissimo or pulp-sdk code

Print this item

  compile without RISC-V PULP specific extensions
Posted by: naprpo - 03-08-2021, 01:37 PM - Forum: PULP General questions - Replies (2)

Hello,

I am trying to compile GPIO test without pulp specific instructions.
https://github.com/pulp-platform/pulp-rt...put/test.c

I modified the make file as follows:

Code:
PULP_APP = test
PULP_APP_FC_SRCS = test.c
PULP_CFLAGS = -O3 -g
PULP_FC_ARCH_CFLAGS = -march=rv32imc



include $(PULP_SDK_HOME)/install/rules/pulp_rt.mk

failed with following errors:

Code:
pulpissimo/pulp-rt-examples/gpio/input/build/pulpissimo/test/fc/test.o: In function `rt_gpio_set_dir':
pulpissimo/pulp-rt-examples/gpio/input/test.c:13: undefined reference to `__builtin_pulp_OffsetedRead'
pulpissimo/pulp-rt-examples/gpio/input/test.c:13: undefined reference to `__builtin_pulp_OffsetedWrite'
pulpissimo/pulp-rt-examples/gpio/input/test.c:13: undefined reference to `__builtin_pulp_OffsetedRead'
pulpissimo/pulp-rt-examples/gpio/input/test.c:13: undefined reference to `__builtin_pulp_OffsetedWrite'
pulpissimo/pulp-rt-examples/gpio/input/build/pulpissimo/test/fc/test.o: In function `main':
pulpissimo/pulp-rt-examples/gpio/input/test.c:13: undefined reference to `__builtin_pulp_OffsetedRead' collect2: error: ld returned 1 exit status

Any suggestion if it is possible use API without pulp specific instructions? or any work around ?
Thank you..

Br, naprpo

Print this item

  Question about Pulpissimo memory
Posted by: zorrolee777 - 03-06-2021, 02:50 AM - Forum: PULP General questions - Replies (1)

Could anyone help me clarify whether the memory is single-port or dual-port? I didn't find the information in the documentation. Thanks in advance!

Zorro

Print this item