VCU118 Prototype Tutorial Trouble Booting

594 views
Skip to first unread message

John Deppe

unread,
Apr 25, 2023, 7:04:45 PM4/25/23
to Chipyard
Hello Chipyard community!

I'm trying to follow the VCU118 FPGA prototype tutorial at https://fires.im/isca22-slides-pdf/05_fpga_prototyping.pdf, but with Chipyard 1.9.0. I've gotten as far as trying to boot from the PMOD microSD card, but I'm getting strange results.

One problem seems to be that the version of screen provided by chipyard's conda environment doesn't seem to... work? I run:

screen -S FPGA_UART_CONSOLE /dev/ttyUSB1 115200

and I instantly get back:

[screen is terminating]

however if I use:

sudo screen -S FPGA_CONSOLE_UART /dev/ttyUSB1 115200

then at least screen stays open. However, I'm getting mangled output. Things like:

|CMD0
ERROR

OpenSBI v0.8
   ____                    _____ ____ _____
  /

or

CMD41                                                                                               |
OpenSBI v0.8
   ____                    _____ ____ _____
  /rm Name       : freechips,rocketchip-unknown
Platform Features ersion : 0.2

MIDELEG : 0x0000000000000222
MEDELEG : 0x000000


And then the output just stops. Any suggestions? I've tried mashing CPU_RESET, swapping the USB cable, regenerating the SD-card (following instructions here), reprogramming the bitstream. Still persists. I got the whole OpenSBI logo once, but that seems to have been a fluke and then the system didn't continue. I gave up after fifteen minutes. It looked like this:

LOADING 0x01e00000B PAYLOAD
LOADING  
BOOT

OpenSBI v0.8
   ____                    _____ ____ _____
  / __ \                  / ____|  _ \_   _|
 | |  | |_ __   ___ _ __ | (___ | |_) || |
 | |  | | '_ \ / _ \ '_ \ \___ \|  _ < | |
 | |__| | |_) |  __/ | | |____) | |_) || |_
  \____/| .__/ \___|_| |_|_____/|____/_____|
        | |
        |_|

Platform Name       : freechips,rocketchip-unknown
Platform Features   : timer,mfdeleg
Platform HART Count : 1
Boot HART ID        : 0
Boot HART ISA       : rv64imafdcsu
BOOT HART Features  : pmp,scounteren,mcounteren
BOOT HART PMP Count : 16
Firmware Base       : 0x80000000
Firmware Size       : 96 KB
Runtime SBI Version : 0.2

MIDELEG : 0x0000000000000222
MEDELEG : 0x000000000000b109
PMP0    : 0x0000000080000000-0x000000008001ffff (A)
PMP1    : 0x0000000000000000-0x00000001ffffffff (A,R,W,X)



I notice upon programming the device that I also have one Vivado error that could be related:

[Xicom 50-38] xicom: CseXsdb_getParameter() - Unknown parameter name 'ddr_cal_status_rank0_10'

Any advice for me? Should I be looking for a new SD card? Is it possible my VCU118 is defective? The self-test seemed fine...

Thank you!
-John Deppe

Nick Lee

unread,
May 16, 2023, 12:46:53 PM5/16/23
to Chipyard
Hi John,

I ran into the same problem here, where my device stopped responding after the OpenSBI info. I was wondering if you have solved the problem yet, and how you solved it?

Thank you!

John Deppe

unread,
May 16, 2023, 4:19:49 PM5/16/23
to Chipyard
Hi Nick & everyone,

Thank you for your interest! Sadly, No luck yet. I've tried a second much-older SD card that just gives timeout errors, no OpenSBI logo.

After that, I found this OpenPiton issue, which lead me to OpenPiton's README, which says:

"There is also preliminary support for the VCU118, but not all features work yet on that board. For the VCU118 board you need the PMOD SD adapter from Digilent to be able to use an SD card (the slot on the VCU118 board is not directly connected to the FPGA). As the PMOD0 port has open-drain level-shifters, you also have to replace the R1-R4 and R7-8 resistors with 470 Ohm 0201 SMD resistors on the Digilent PMOD SD adapter to make sure that signal rise times are short enough."

I'm using the PMOD microSD, but I understand they're electrically similar, so I hope that's not the problem. Then I found a similar Xilinx forums thread, so I followed their suggestion and installed dual-boot Windows on my PC so I could use Xilinx's VCU118 SCUI to raise VADJ to 1.8V from 1.2V. After a few reboots and resets to persuade myself that the change persists over board power-off, I swapped back to Linux and tried the Chipyard prototype again. No joy.

After that, I tried OpenPiton's README suggestion and added more pull-up to the SD pins, though instead of replacing surface-mount resistors, I used the Digilent PMOD test header to add parallel resistors with a breadboard. I'm not a very good electrical engineer so it's possible I read the Digilent diagrams wrong, but my setup looks like the attached photo now, and a similar fix was reported to work in that Xilinx forums thread. Sadly, no joy for me.

Then I tried changing WithFPGAFrequency in the BoomVCU118Config from 50 to 25, but that didn't work, and neither did switching to LargeBOOM. Interestingly when I slowed down further to 1 or 5MHz, the `make SUB_PROJECT=vcu118 CONFIG=BoomVCU118Config bitstream` command failed for timing? reasons that are not immediately obvious to me from just scanning the bottom screen-or-so of console output. There's also a 100MHz line in the WithVCU118Tweaks config that I tried slowing down, since it's not clear to me if the periphery runs at a different clock than the core, but I still haven't had a successful boot yet in my admittedly not-perfectly-methodical troubleshooting.

I've just borrowed an oscilloscope and I'm hoping it'll reveal bent or missing waves on my PMOD connectors but I'm beginning to lose hope for the FPGA prototype method. Time to make some room on my desk!

Please let me know if you have any success or if you come across more helpful details that I might be missing.

Cheers,
-John
PXL_20230516_200315174.jpg

Michael Etzkorn

unread,
May 16, 2023, 9:31:29 PM5/16/23
to chip...@googlegroups.com
I have not worked with Chipyard 1.9, but I have had success in the past directly connecting the digilent microsd pmod adapter directly into the female pmod slots. No need for any voltage raising or extra connectors. 

At first glance, it does seem to be signal integrity related.

John Deppe <john...@gmail.com> 于2023年5月16日周二 15:19写道:
--
You received this message because you are subscribed to the Google Groups "Chipyard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chipyard+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/chipyard/c1709fc8-a5ea-4024-9229-947d11052fc2n%40googlegroups.com.

Nick Lee

unread,
May 20, 2023, 1:50:11 AM5/20/23
to Chipyard
Hi John,

I have some progress with my problem and my findings are as follows.

1. I am prototyping on VCU108 and also using Digilent Micro SD card adapter to connect SD card to the FPGA directly. My guess is, normally, using only the PMOD Micro SD card adapter should be sufficient for prototyping.

2. I found that the OpenSBI is part of the Linux workload and if the device is not responding after that, the workload generated might be at fault. I cloned a new copy of Firemarshal and the problem resolved. You can try to run the br-base-bin-nodisk with spike and see if it functions correctly. Besides, it could also be the flattening step that is malfunctioning.

However, I am faced with another problem. I cannot login as root with password "fpga" in the nodisk version of workload. : (

robin bre

unread,
Mar 20, 2024, 11:13:44 AM3/20/24
to Chipyard

Hi all,
i have the same problem when i am trying to login with the 'fpga' password. I am jusing everything like on the example in Chipyard 1.10.0

Morgan Ma

unread,
Apr 24, 2024, 4:32:34 AM4/24/24
to Chipyard
modify file prototype/base-workloads/buildroot-config as below:
BR2_TARGET_GENERIC_ROOT_PASSWD=""  # means no password. it was "fpga". 

Then follow the instruction as suggested to rebuild br-base-bin-nodisk-flat and download it on sdcard.
when login prompt shows up, type "root." [no passwd]
Reply all
Reply to author
Forward
0 new messages