The following warnings occurred:
Warning [2] Undefined variable $tcount - Line: 717 - File: portal.php PHP 8.3.12 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/portal.php 717 errorHandler->error_callback
Warning [2] Undefined variable $tcount - Line: 722 - File: portal.php PHP 8.3.12 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/portal.php 722 errorHandler->error_callback




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

Username
  

Password
  





Search Forums

(Advanced Search)

Forum Statistics
» Members: 428
» Latest member: willarnett
» Forum threads: 283
» Forum posts: 852

Full Statistics

Latest Threads
Some questions.
Forum: PULP General questions
Last Post: sungyong
11-12-2024, 03:31 PM
» Replies: 0
» Views: 14
what is meaning of ARA? (...
Forum: PULP General questions
Last Post: sungyong
11-12-2024, 01:17 AM
» Replies: 2
» Views: 42
i have some issue with si...
Forum: PULP General questions
Last Post: moustafa
11-10-2024, 12:56 PM
» Replies: 2
» Views: 799
librbs.so not found (Pulp...
Forum: PULP General questions
Last Post: bluewww
11-07-2024, 01:57 PM
» Replies: 1
» Views: 74
Fatal error: Broken assem...
Forum: PULP General questions
Last Post: Roogadget
10-31-2024, 03:12 PM
» Replies: 3
» Views: 231
Cheshire with two cores
Forum: PULP General questions
Last Post: kgf
10-30-2024, 11:14 AM
» Replies: 1
» Views: 110
mno pulp hwloop error
Forum: PULP General questions
Last Post: kgf
10-30-2024, 09:19 AM
» Replies: 6
» Views: 515
Pulp - make build
Forum: PULP General questions
Last Post: Roogadget
10-25-2024, 07:33 PM
» Replies: 0
» Views: 165
CV32E40P/RI5CY Setup
Forum: PULP General questions
Last Post: kgf
10-25-2024, 07:13 PM
» Replies: 1
» Views: 242
How to get more detailed ...
Forum: PULP General questions
Last Post: YiZhi_W
10-17-2024, 08:06 AM
» Replies: 2
» Views: 341

 
  Synthesis of ARA Vector Unit
Posted by: Tanishq S - 08-07-2024, 07:31 AM - Forum: PULP General questions - Replies (2)

Respected Moderator 


I am currently working on synthesizing the ARA architecture along with the CVA6 processor. I have been trying to perform top-down mapping of the files by designating ara_soc.sv as the top module and consolidating all related files into a single .sv file for synthesis.

Unfortunately, I have encountered difficulties in achieving a successful synthesis in Cadence Genus. I am concerned that my approach might be flawed, and I am seeking guidance on how to resolve this issue.

Could you please provide me with some advice or best practices for synthesizing the ARA and CVA6 design in Cadence Genus or any other tool like Vivado or Synopsis DC? Any insights or suggestions on how to effectively manage the integration of these components would be greatly appreciated.

Print this item

  Extension documentation and manual
Posted by: Guilherme Sequeira - 07-31-2024, 06:20 PM - Forum: PULP General questions - Replies (3)

Hello, when trying to ascertain the changes made to the pulp instructions for their core-v re-encoding (core-v.rst is the most detailed filed I've found) I found it was quite difficult to find what the original instructions actually were!
So far I've been basing my work on [1] and [2] and the file mentioned above. I've noticed the "pulp manuals" are mentioned at the beginning of [1], but the only thing that comes close to it is this datasheet, which appears to be in a somehow abandoned repository (still mentions the pulp riscv gnu toolchain in its readme), and only mentions some vector extension instructions.
For reference, I am looking for for information similar to the one in the core-v.rst file or the cv32e40p user's manual, and the information that can be extracted from [2].
Thank you! Smile

Print this item

  how can i occur fmadd instruction?
Posted by: sungyong - 07-29-2024, 08:08 AM - Forum: PULP General questions - Replies (1)

how can i occur the fmadd instruction with c code?

in regression examples
      for (t=0; t<T; t++) {
        for (i=2; i<N-1; i++) {
          for (j=2; j<N-1; j++) {
            b[i][j]= 0.2f*(a[i][j]+a[i][j-1]+a[i][1+j]+a[1+i][j]+a[i-1][j]);
            printf("caculate finished # i=%d j=%d \n",i,j);
          }
        }
      }
This example occurs fadd instrctions. 
then, how can i occur fmadd instrctions? is there any special condition for it?

Print this item

  handling custom opcodes (compiler)
Posted by: Roogadget - 07-24-2024, 01:52 PM - Forum: PULP General questions - Replies (2)

I'm doing some research to better understand how everything comes together when using pulpissimo.

I'm curious about the compiler and custom opcodes.

How and where does the compiler know how to handle these opcodes when compiling a program? Is it "Inline Assembly"?

I've found all the opcodes for the pulp0, pulp1..gap9...etc. Now I'm after looking for either "Machine Description Files", "target specific header files" or "Compiler Backend Code".

I'd like to add a custom opcode and have the compiler utilise that opcode in the future.

(I'm a complete compiler newbie.)

Thanks in advanced. Big Grin

Print this item

  The pulpino verification
Posted by: eureka - 07-21-2024, 02:47 PM - Forum: PULP General questions - Replies (2)

Hello! I'm a student who is learning the riscv arch and the pulpino core, and I wonder how the team of pulpino verify the RV32IM instruction set and the custome instruction set, are your team use the official riscv-tests, or use riscv emulators like qemu or spike as ref, or build your own test sets.

Thank you very much!

Print this item

  Pulpissimo block diagram
Posted by: Roogadget - 07-21-2024, 06:43 AM - Forum: PULP General questions - Replies (1)

I'm looking for a block diagram of a stock pulpissimo. 

Showing the blocks from the packages list with ports, wires..etc. is this something seen at the vivido synthesis stage? 

Thanks in advance.

Print this item

  axi_xbar integration issue
Posted by: malik775 - 07-12-2024, 05:46 PM - Forum: PULP General questions - Replies (1)

I am encountering an issue while using an AXI crossbar in my project, which has 2 slave ports and 1 master port. In the project, I have two DMAs accessing a single memory for read operations. I am using the PULP AXI_XBAR, and although it simulates, I am experiencing an error where the crossbar directs all request response data to one DMA. It correctly decodes read addresses from both DMAs but sends the response data to only one DMA. Can anyone guide me on this issue? Here is the crossbar configuration:
// AXI Configuration
localparam axi_pkg::xbar_cfg_t XbarCfg = '{
    NoSlvPorts: 2,
    NoMstPorts: 1,
    MaxMstTrans: 20,
    MaxSlvTrans: 10,
    FallThrough: 1'b0,
    LatencyMode: axi_pkg::CUT_ALL_AX,
    PipelineStages: 2,
    AxiIdWidthSlvPorts: 2,
    AxiIdUsedSlvPorts: 2,
    UniqueIds: 1'b0,
    AxiAddrWidth: AddrWidth,
    AxiDataWidth: DataWidth,
    NoAddrRules: 1
};

Print this item

  issue with pulp build
Posted by: sungyong - 06-27-2024, 11:24 AM - Forum: PULP General questions - Replies (1)

Hello, pulp community

i have some issue on build pulp, (i just succeed pulpissimo, then i'm trying to build pulp)

https://github.com/pulp-platform/pulp

i trying to build pulp with above link. But when i command "make build"

it makes error 

Makefile:30: warning: overriding recipe for target '/root/pulp/sim/tcl_files/config/vsim_ips.tcl'
Makefile:30: warning: ignoring old recipe for target '/root/pulp/sim/tcl_files/config/vsim_ips.tcl'
make -C sim all
make[1]: Entering directory '/root/pulp/sim'
make -C ../rtl/tb/remote_bitbang clean
make[2]: Entering directory '/root/pulp/rtl/tb/remote_bitbang'
rm -rf librbs.so remote_bitbang.o sim_jtag.o ./.d
make[2]: Leaving directory '/root/pulp/rtl/tb/remote_bitbang'
rm -r work
rm modelsim.ini
chmod: cannot access 'modelsim.ini': No such file or directory
make[1]: *** [Makefile:57: lib] Error 1
make[1]: Leaving directory '/root/pulp/sim'
make: *** [Makefile:120: build] Error 2



in some communities, they said commented "rm modelsim.ini"
so i make that code commented

then it has error 

# source compile.tcl
# Questa Intel Starter FPGA Edition-64 vlog 2023.3 Compiler 2023.07 Jul 17 2023
# ** Error (suppressible): (vlog-12110) All optimizations are disabled because the -novopt option is in effect. This will cause your simulation to run very slowly. If you are using this switch to preserve visibility for Debug or PLI features, please see the User's Manual section on Preserving Object Visibility with vopt. -novopt option is now deprecated and will be removed in future releases.
# Errors: 1, Warnings: 0
# 1
#  quit
vopt +acc=npr -o vopt_tb tb_pulp -floatparameters+tb_pulp -work work
Questa Intel Starter FPGA Edition-64 vopt 2023.3 Compiler 2023.07 Jul 17 2023
** Warning: (vopt-10587) Some optimizations are turned off because the +acc switch is in effect. This will cause your simulation to run slowly. Please use -access/-debug to maintain needed visibility.
Start time: 20:22:08 on Jun 27,2024
vopt "+acc=npr" -o vopt_tb tb_pulp -floatparameters+tb_pulp -work work

Top level modules:
        tb_pulp

Analyzing design...
** Error: (vopt-13130) Failed to find design unit 'tb_pulp'.
        Searched libraries:
            work
Optimization failed
End time: 20:22:08 on Jun 27,2024, Elapsed time: 0:00:00
Errors: 1, Warnings: 1
make[1]: *** [Makefile:41: opt] Error 2
make[1]: Leaving directory '/root/pulp/sim'
make: *** [Makefile:120: build] Error 2

how can i fix it? the error vlog-12110, i think its problem of questasim.

How about second one? why they find design unit tb_pulp?



Attached Files Thumbnail(s)
   
Print this item

  i have some issue with simulation examples.
Posted by: sungyong - 06-17-2024, 04:03 AM - Forum: PULP General questions - Replies (2)

Hello everyone

i just have started pulpissimo simulation examples "hello"

but when i simulate it, there's some error at last with illeagal instructions.

how can i fix it? is there any more ips that i didn't know?(because it doesn't acknowledge instruction)

# [PULP] 1110801ns - WRITE32 burst @1c000000 for        1024 bytes.
# [PULP] 1940901ns - WRITE32 burst @1c000400 for        1024 bytes.
# [PULP] 2771001ns - WRITE32 burst @1c000800 for        1024 bytes.
# [PULP] 3332301ns - WRITE32 burst @1c000c00 for        688 bytes.
# [PULP] 4162401ns - WRITE32 burst @1c008000 for        1024 bytes.
# [PULP] 4992501ns - WRITE32 burst @1c008400 for        1024 bytes.
# [PULP] 5822601ns - WRITE32 burst @1c008800 for        1024 bytes.
# [PULP] 6652701ns - WRITE32 burst @1c008c00 for        1024 bytes.
# [PULP] 7482801ns - WRITE32 burst @1c009000 for        1024 bytes.
# [PULP] 8312901ns - WRITE32 burst @1c009400 for        1024 bytes.
# [PULP] 9143001ns - WRITE32 burst @1c009800 for        1024 bytes.
# [PULP] 9973101ns - WRITE32 burst @1c009c00 for        1024 bytes.
# [PULP] 10169601ns - WRITE32 burst @1c00a000 for        232 bytes.
# [PULP] 10372501ns - WRITE32 burst @1c010000 for        240 bytes.
# [TB  ] 10374101ns - Resuming the CORE
# [TB  ] 10947601ns - retrying debug reg access
# [TB  ] 10976901ns - retrying debug reg access
# [TB  ] 11006201ns - retrying debug reg access
# [TB  ] 11035501ns - retrying debug reg access
# [TB  ] 11064801ns - retrying debug reg access
# [TB  ] 11094101ns - retrying debug reg access
# [TB  ] 11123401ns - retrying debug reg access
# [TB  ] 11152701ns - retrying debug reg access
# [TB  ] 11196701ns - Waiting for end of computation
# [STDOUT-CL31_PE0] [RT(31,0)] WARNING: Reached illegal instruction (PC: 0x1c008e2c, opcode: 0x20230001
# [TB  ] 12114201ns - Received status core: 0x7fffffff
# ** Note: $stop    : /pulpissimo/rtl/tb/tb_pulp.sv(776)
#    Time: 12114201 ns  Iteration: 0  Instance: /tb_pulp
# Break in Module tb_pulp at /pulpissimo/rtl/tb/tb_pulp.sv line 776
# Stopped at /pulpissimo/rtl/tb/tb_pulp.sv line 776
# End time: 11:56:12 on Jun 17,2024, Elapsed time: 0:11:17
# Errors: 0, Warnings: 10
Launching simulator with command:


=====added=======

i check the dump file with make dis
then i found that nop operation is illegal, how can i fix it?

1c008e20: 15a60613 addi a2,a2,346 # 1c00815a <udma_event_handler>
1c008e24: 00a250fb lp.setupi x1,10,1c008e2c <__rt_periph_init+0x1c>
1c008e28: 00c6a22b p.sw a2,4(a3!)
1c008e2c: 0001 nop
1c008e2e: 28072023 sw zero,640(a4)
1c008e32: 28072223 sw zero,644(a4)

thx!



Attached Files Thumbnail(s)
   
Print this item

  Is there any RTL generator for pulp platform?
Posted by: sungyong - 06-03-2024, 09:59 AM - Forum: PULP General questions - Replies (2)

helllo,

i just tried pulp platform and i've done simulation with pulp-sdk and pulp
By the way, i want to develop pulp cores. Is there any RTL generator? i've seen rocket chip with chisel language. 
Is there any same things like chisel in pulp-platform?

Then, if i want to modify some modules at pulp-platform, there's only way to do is modify system verilog code? 

Thanks for reading. Smile

Print this item