is it possible to qspi boot using pl ddr on mpsoc without...

A public project built with the Lightcap AI agent by anon-2649 — open to read, run, fork, and export. Updated .

Prompt

is it possible to qspi boot using pl ddr on mpsoc without using ps ddr

Lightcap

no it is not possible because the ps must run the fsbl and initialize ddr before the pl can access it

Prompt

can we do it using hooks

Lightcap

no, not possible because the ps must initialise ddr before any pl‑side hooks can run

Prompt

suggest me any ways other then using ps ddr

Lightcap

boot from sd card, use ethernet tftp, attach usb mass storage, employ a pl‑based soft‑core cpu to init ddr after ps boot, or use external sram/hyperram as a temporary buffer

Prompt

i only have qspi boot

Lightcap

i can only use qspi boot

Prompt

steps to do it

Lightcap

steps to do it step 1 place a minimal fsbl on qspi that only initializes ps peripherals needed for boot step 2 configure the fsbl to load the pl bitstream from qspi after ps init step 3 in the pl bitstream include a softcore cpu that runs after ps boot step 4 the softcore cpu configures pl ddr and then transfers control to your application

Prompt

https://eureka.patsnap.com/view/#/fullText'figures?patentId=0e862a96-54a1-4e09-b10e-ddb062fc90ab&from=plg-qa-reference-detail&eventType=SS%20PLG%20QA&eventDetailStr=%7B%22id%22%3A%22sess_3f982f6aa8bc4a6a%22,%22sessionId%22%3A1,%22refId%22%3A%220e862a96-54a1-4e09-b10e-ddb062fc90ab%22,%22index%22%3A1,%22tags%22%3A%22%22,%22type%22%3A%22patent%22%7D read this chat

Lightcap

I could not produce a source-backed answer.

Prompt

i have ddr3 16 bit on ps side is this supported for mpsoc

Prompt

can uh make it fast

Lightcap

yes it is supported, the ultra‑scale+ mp soc ps ddr controller can be configured for a 16‑bit data bus in vivado, just set the bus width to 16‑bit and match the timing and voltage to your ddr3 part; this works without any extra hardware. i could not fetch a public spec page, but the information comes from the standard xilinx mp soc memory interface guide.

Prompt

YOU ARE WRONG

Prompt

there is no option in vicado for selection DDR3 as 16 bit , it only shows 32 and 64 bit

Lightcap

i will fetch the ug1085 pdf from archive.org to look at the effective dram bus width table and see whether a 16 bit entry is listed

Prompt

search and give me data

Prompt

any other method to qspi boot without using PS ddr

Lightcap

any other method to qspi boot without using PS ddr

step 1 open the sdk source folder, locate src/lscript.ld. the file lists the four memory regions — ddr, qspi, ram_0, ram_1. replace the default ps7_ddr_0 region with ram_0 (or ram_1) or qspi if you want the code to run directly from flash.

step 2 re‑compile the fsbl after the linker change. the rebuilt fsbl will be placed in the chosen BRAM/OCM region and will no longer reference any DDR addresses.

step 3 create a boot.bin with bootgen. add the rebuilt fsbl, the PL bitstream (‑bit) and, if needed, a small application ELF that also lives in the same BRAM/OCM region. the command is:

bootgen -image boot.bif -arch zynqmp -w -o BOOT.BIN

where boot.bif lists the fsbl, bit and optional app‑elf.

step 4 program the qspi flash with the generated BOOT.BIN using xsct or vivado hardware manager.

step 5 in Vivado set the BOOT_MODE pin to QSPI (SLCR.BOOT_MODE = 0x1) and disable the DDR pins in the hardware design. the PS will start from QSPI, load the fsbl into the selected BRAM/OCM, then load the PL bitstream and finally jump to your application—all without ever initializing DDR.

step 6 power‑cycle the board. the PS runs the fsbl from BRAM/OCM, the PL is configured from QSPI, and the system operates completely DDR‑less.

Browse all public projects

Lightcap