Freedom U500 on Virtex Ultrascale+ (VCU118)


I want to implement the Freedom U500 platform on the VCU118 development kit. First of all, do you know if anyone has done this before and made it publicly available? This board does not have an SD card slot so I need to find a place to store the kernel image and root filesystem. Is it possible to store them in the configuration memory (similar to what has been done for the bare metal applications in E300 Arty) and boot Linux from there? How about booting from JTAG or any other device?


For SDCard on this type of board it may be possible to use a PMOD adapter such as this :

This should make it pretty easy. Thanks for the help!

So I was able to build the design for VCU118 and boot Linux on it. However, one thing which is not very clear to me is how the JTAG port must be used. This is not documented anywhere in U500 Getting Started pdf. From the E310 Arty documentation and other posts on this forum, I would say that you have probably used Olimex ARM-USB-TINY-H and connected it to a daughter board attached to FMC2 on VC707. Is there any voltage-level conversion needed to do this? It seems that the minimum voltage USB-TINY-H supports is 2 volts, however, FMC2 is connected to a 1.8v bank.

Olimex-USB-TINY-H is one option which we use.

For VC707 we attach this one of two ways :
(1) A Xilinx “FMC XM105 Debug Card” on FMC2. Voltage level (VADJ) is set with jumpers on the card.
(2) Removing the LCD panel and attaching to the header. There are level shifters for the LCD panel on the VC707, but the voltage is still in range for the Olimex.

The constraints for the above can be seen here :

It would be great if you could PR your changes to fpga-shells at some point. We have just started to look at this board as well.

Thank you so much! I sent a pull request to fpga-shells.

I am thinking of putting the JTAG pins on the male PMOD on VCU118. Although this port has level shifters, I am going to buy ARM-USB-OCD-H which supports voltages as low as 1.65 to be able to use it in future on low-voltage signals. Any comment on this is very much appreciated.

is there any documentation or git repository for compilation for vcu118 kit

Yes, it is upstreamed now:

To build: make -f Makefile.vcu118-u500devkit mcs

1 Like

Please can you point to steps require to compile and boot linux on vcu118.
Please someone can confirm Digilent PMOD MicroSD is also supported instead of Full size SD card?
I am able to generate bitstream/mcs file without FMC/PCIe interface suggested with the help of

For Linux, I remember a version of freedom-u-sdk used to work on VCU118. But freedom-u-sdk has changed since then. I hope that someone in SiFive can chime in to better help you.

1 Like

Thanks Farzad for info.
Is there anyway i can get pre build sd image for VCU118. In meanwhile i try to build and use sifive freedom-u-sdk linux image.

I don’t know anything about vcu118 booting, but I can point out that there are 3 major revisions of freedom-u-sdk. The first one is now on the v1_0 branch. The second one, with s-mode u-boot, is now on the archive/buidlroot branch. And the third one is on master and is a openembedded layer. I suspect only the first one can boot on vcu118 as the rest require partitions on the boot media, and I don’t think that fpga boots support that.

There is incidentally also a linux_u500vc707devkit_config branch. I don’t know what that is for, but it might be what you are looking for.

1 Like

Thanks jimw for information

Hi, i would be interested to know if you have already managed to get linux running and which branch you have used.