BlackParrot in Virtex ML 507

55 views
Skip to first unread message

Julio Sanchez

unread,
May 6, 2025, 11:09:06 PM5/6/25
to black-parrot
Hola,

I am running blackparrot-example in Virtex ML 507 board, I am getting following error:

mcause: ��������
mtval:  0x0000000000000004
mtval:  0xffffffe3dec0deeb
mepc:   0x0000000080004694

How to debug this?

Gracias,
J

Daniel Petrisko

unread,
May 7, 2025, 1:10:41 AM5/7/25
to Julio Sanchez, black-parrot
Hi Julio,

What program are you running? Do you see the same error in simulation? Do you see the same error with dromajo?

The printout seems odd, but mcause 4 is load address misaligned so could be a software error but will need more information to determine 


-Dan

On May 6, 2025, at 8:09 PM, Julio Sanchez <julio...@gmail.com> wrote:

Hola,
--
You received this message because you are subscribed to the Google Groups "black-parrot" group.
To unsubscribe from this group and stop receiving emails from it, send an email to black-parrot...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/black-parrot/46fee905-fdde-497a-9df4-f303d4274793n%40googlegroups.com.

Julio Sanchez

unread,
May 7, 2025, 2:17:06 AM5/7/25
to black-parrot
Hola Dan,

I am running hello word program (hello_world.nbf).  In VCS simulation I am getting correct result "Hello World!" I haven't used dromajo. I tested only on the board and in VCS. 

I did grep and  I found some info:

// This test triggers a load access fault by reading an invalid address. Correct
// behavior under perch is to print a message of the following form, before
// finishing:


But this file is not called/used in hello world program I guess.


Saludos,
-J

Dan Petrisko

unread,
May 7, 2025, 4:12:42 PM5/7/25
to Julio Sanchez, black-parrot
That's interesting. If it works in VCS and not hardware that's a bit trickier to debug. (don't worry about dromajo, that's for if VCS doesn't work). As first steps, I would:
- check for any critical warnings during bitstream generation
- print out AXI DRAM traces in VCS simulation. I don't think there's a builtin way to do this right now, but you can trivially add prints to the module itself 
- put an ILA tracer on the AXI DRAM accesses
- make sure the DRAM traces match
- Do the same thing for PC of BlackParrot which is in the path <path_to_core>/core_minimal/be/calculator/pipe_sys/csr/apc_r

Best,
-Dan



Julio Sanchez

unread,
May 7, 2025, 11:16:45 PM5/7/25
to black-parrot
Gracias Dan. I used loop example (loop.nbf), it worked. I guess the issue might be in software. I am also trying hammerblade-example,  the output is stuck at:

INFO:    ps.cpp: Starting BP i/o polling thread


I tried for hello.hello_world.nbf and hello.loop.nbf

But it is stuck at displaying above message.

Saludos,
-J

Julio Sanchez

unread,
May 11, 2025, 8:45:07 PM5/11/25
to black-parrot
Dan, can you please assist me with hammerblade-example?

Muchas Gracias,
-J

Message has been deleted

Julio Sanchez

unread,
May 27, 2025, 11:18:22 AM5/27/25
to black-parrot
Hi,

Can you please point out corresponding hardware/software logic of #441-443 in the code: https://github.com/black-parrot-hdk/zynq-parrot/blob/master/cosim/black-parrot-example/ps.cpp   I would like to know how or where 0x101000 is calculated.

Gracias,
-J

On Thursday, May 8, 2025 at 1:42:42 AM UTC+5:30 Dan Petrisko wrote:
Reply all
Reply to author
Forward
0 new messages