trabucayre / openFPGALoader

Universal utility for programming FPGA
https://trabucayre.github.io/openFPGALoader/
Apache License 2.0
1.21k stars 259 forks source link

Add flash support for the Xilinx VCU118 board #293

Closed barbedo closed 1 year ago

barbedo commented 1 year ago

Hey again,

This is a followup from #283, since I've got access to a full Vivado license.

Adding support for the dual QSPI flash on this board was more difficult than I had expected, so I'll try to document all the modifications and the rationale behind them here and break down the code modifications in multiple PRs to ease a bit the review.

If these modifications are merged, it can potentially open the door to support other Xilinx UltraScale-based boards with Dual QSPI Flash, like the KCU105, KCU1116, VCU110, ZCU102, etc.

Changes

I've tested the following configurations with the boards that I have access to right now: Board Load RAM Load Primary Flash Load Secondary Flash Load Both Flashes
VCU118 --board vcu118 --bitstream xxx --board vcu118 -f --target-flash primary --bitstream xxx --board vcu118 -f --target-flash secondary --bitstream xxx --board vcu118 -f --target-flash both --bitstream xxx --secondary-bitstream yyy
Arty A7 100T --board arty_a7_100t --bitstream xxx --board arty_a7_100t -f --bitstream xxx NA NA

Here's the branch with the full working version: https://github.com/barbedo/openFPGALoader/tree/vcu118-flash

PRs

I tried my best to create non-dependent PRs. Only the last one will depend on the other ones.

trabucayre commented 1 year ago

Great Work! I'll try to apply PRs in chronological order or when there is no discussions remarks about content. Thanks!

barbedo commented 1 year ago

Everything to support the VCU118 is now merged. Thanks for everything!

I'll just keep this issue open until I add the missing documentation on doc/xilinx.rst

barbedo commented 1 year ago

Well, I think that's all for now, so closing this issue.

Thanks a lot!

trabucayre commented 1 year ago

Thanks for your contribution too!