How to run DPU examples custom platform

Hi,

After following the tutorials, I have successfully built and ran some DPU example notebooks on my ZCU104, image version v2.7.0, DPU-PYNQ v1.4.0.

Now I am going to make it working on PYNQ-ZU. After rebuilding the DPU, I copied it and installed it by using pip3 install /home/xilinx/DPU-PYNQ, without any error.

But I don’t understand how the command pynq get-notebooks pynq-dpu -p . works. I tried the command then it showed:

root@pynq:/home/xilinx/jupyter_notebooks# pynq get-notebooks pynq-dpu -p .
Delivering notebooks './pynq-dpu'...
The notebooks module 'pynq-dpu' could not be delivered. The module has no notebooks, or no valid overlays were found

Then I tried to copy the notebooks from my ZCU104 to my PYNQ-ZU, ran it, and it showed

FileNotFoundError                         Traceback (most recent call last)
<ipython-input-1-3ccc182fbd36> in <module>
      1 from pynq_dpu import DpuOverlay
----> 2 overlay = DpuOverlay("dpu.bit")

/usr/local/share/pynq-venv/lib/python3.8/site-packages/pynq_dpu/dpu.py in __init__(self, bitfile_name, dtbo, download, ignore_version, device)
     89             abs_bitfile_name = os.path.join(OVERLAY_PATH, bitfile_name)
     90         else:
---> 91             raise FileNotFoundError('Cannot find {}.'.format(bitfile_name))
     92         super().__init__(abs_bitfile_name,
     93                          dtbo=dtbo,

FileNotFoundError: Cannot find dpu.bit.

How to make my PYNQ-ZU running DPU examples?

Thank you in advance.

1 Like

The problem is solved by copying the bitstream

# on PYNQ-ZU, or custom platform
cd /home/xilinx/DPU-PYNQ/boards/Pynq-ZU
sudo cp dpu.bit dpu.hwh ../vitis_platform/dpu/dpu.tcl binary_container_1/dpu.xclbin /usr/local/share/pynq-venv/lib/python3.8/site-packages/pynq_dpu

@haipnh ,
Can you provide guidelines on how to make custom platform for pynq-zu?

Thanks in advance.

Eli

Hi @3togo ,

What do you mean “custom platform for PYNQ-ZU”?

Do you want to custom the base overlay for PYNQ-ZU, or build DPU overlay for PYNQ-ZU?

If you mean building DPU overlay for PYNQ-ZU, you can review the commits which I pushed to GitHub - haipnh/DPU-PYNQ at pynqzu.

You can simply download my repository, checkout the “pynqzu” branch and start building it by “make BOARD=Pynq-ZU”.

If you have further questions, feel free to ask.

1 Like

@haipnh ,

Your pynq-zu branch is very helpful. I managed to build DPU Overlay as per your advice.

Out of curiosity, where did you get the information of these two files: dpu_conf.vh and prj_config for Pynq-ZU?

Thanks again

Eli

Hi,

PYNQ-ZU uses XCZU5EG, which is a variant in the Zynq Ultrascale+ product line.

Xilinx provides ZCU102 and ZCU104 as reference platforms for Zynq Ultrascale+ based development. So I just ported those files from ZCU102 and ZCU104 projects.