Skip to content
This repository has been archived by the owner on Mar 9, 2023. It is now read-only.

Reduce Kintex7 boot time when loading from flash #24

Open
unbtorsten opened this issue Feb 22, 2022 · 4 comments
Open

Reduce Kintex7 boot time when loading from flash #24

unbtorsten opened this issue Feb 22, 2022 · 4 comments
Labels
enhancement New feature or request

Comments

@unbtorsten
Copy link
Contributor

write_cfgmem  -format bin -size 32 -interface SPIx4 -loadbit "up 0x00000000 $bitfile" -file "$binfile"

As per this command, we can see the quad mode is introduced during conversion from bitstream to binfile/mcsfile. So this is where we need to look to gain performance, rather than in the spiOverJtag Vivado settings

Originally posted by @unbtorsten and @jrrk2 in trabucayre/openFPGALoader#181 (comment)

@unbtorsten
Copy link
Contributor Author

Further input for reference:

At the same time, in order to speed up the FPGA loading the mcs file in QSPI Flash after power-on, we can configure the bit file to 4-wire mode (provided that your hardware must support 4-wire mode), and modify the loaded clock frequency to greatly speed up the FPGA The startup speed.

Source: https://www.ventronchip.com/news/Xilinx-FPGA-booting-from-QSPI-Flash(Bitstream-to-Flash-file-using-Vivado-RTL-program-alone).html

@unbtorsten
Copy link
Contributor Author

Configuring the bitstream with the constraint

set_property CONFIG_MODE SPIx4 [current_design]

and generating it by use of Vivado seems to be equivalent to generating a binary as mentioned above:

write_cfgmem  -format bin -size 32 -interface SPIx4 -loadbit "up 0x00000000 $bitfile" -file "$binfile"

Either file (bitstream or binary) can be programmed by use of openFPGALoader with the commands

openFPGALoader -b genesys -f image.bit
openFPGALoader -b genesys -f image.bin

and yield short (not delayed) boot up times.

@jrrk2
Copy link
Contributor

jrrk2 commented Feb 25, 2022

That’s good, but do we know what’s different between the x4 bitstream and the x1 bitstream in terms of fasm statements?

@unbtorsten
Copy link
Contributor Author

That’s good, but do we know what’s different between the x4 bitstream and the x1 bitstream in terms of fasm statements?

I have not looked into that aspect. Just wanted to point out that this seems to be something that is/can be engraved into the bitstream configuration (and not just a binary stream).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants