PYNQ Composable Overlay Default Path

Hi there, I am a new to the scene FPGA developer working on the Kria KV260, my first time interfacing with the board and the first time using vivado. I was following the composable overlay tutorial (Create Composable Overlays (hw) — PYNQ Composable Overlays 1.0.2 documentation) to get myself familiar with creating overlays and exporting them to the board. But under the Default Path section I am confused at what the task is:

Where/what do I have to do with the block of code. Also what information am i saving to a file with the same name as overlay? As when I put the tcl code in under the following section (Get composable overlay files), It returns the error statement:

D:\Xilinx_Unified_2022.2_1014_8888\Vivado\2022.2\gnuwin\bin\cp.exe: target `fir.bit’ is not a directory

Any help/guidance would be appreciated, Thanks!

[ vivado 2022.2, PYNQ v3.0.1]

Dear @cking,

Welcome to the PYNQ community.

You need to create a file with the name fir_paths.json with the content shown in the image, this file must be placed next to the .bit and .hwh on the board so it can be consumed properly.

I’ll have to investigate the problem with cp on Windows further. But, you can copy these files manually.

Mario

Hi mario,
Thanks for your reply! Turns out error was prompted by a naming issue with the file (accidentally had a space between characters).

I have continued following the composable overlay example and have progressed to the SW section. With the .JSON,.bit and .hwh file uploaded via drag and drop into the jupyter terminal I got to block 3 of input code which gets returned with the KeyError:

The overlay from the bit file has definitely been uploaded as I can call to other parts of the overlay (e.g. axi_intc) but not to the filter.
.bit and .hwh files:
fir.hwh (580.3 KB)
fir.bit (7.4 MB)

Do you have an idea what is causing the KeyError?
still PYNQ 3.0.1 and ubuntu 22.04

update: added info from overlay.hierarchy_dict:

Hi @cking,

The tutorial was written for PYNQ 2.7 and composable 1.0.0.
However, in the Kria you have PYNQ 3.0.1 and composable 1.1.0-dev. The documentation is not yet updated, the nomenclature changed, you can find the correct json file here

Mairo

Hi Mario,

Thanks for the assistance, working well now!

Cameron

1 Like

Hi again Mario!

Having a bit more issue with outdated files in the git repository I think. I have been playing about on the Kv260 with the files that come pre-loaded on the PYNQ 3.0.1 image in Jupyter, under the “custom_pipeline” folder, within the “pynq_composable”. Some of these files use a composable overlay with the bitstream “cv_dfx_3_pr.bit”, which I would like to view within vivado to see the block design.
On the git repository, this is the most up-to-date .tcl file i can find with the same name:

However, when i open the file in my Vivado (v2022.02) it is outdated slightly (v2022.1).
Is there an available .tcl file for the 2022.2 version or can I update it myself online somewhere?
v2022.1 tcl file: cv_dfx_3_pr.tcl (128.7 KB)

Thanks,
Cameron

Dear @cking,

The v1.1.0-dev is the latest branch which is associated to PYNQ 3.0.1 and in turn to Vivado 2022.1.
Unfortunately, there is no newer tcl file for Vivado 2022.2

Mario

Hi @cking,

You may be able to use this tcl file for 2022.2. PYNQ_Composable_Pipeline/cv_dfx_3_pr.tcl at v1.1.0-dev.2022.2 · mariodruiz/PYNQ_Composable_Pipeline · GitHub

However, this is not tested in depth, hence I cannot provide much support.

Mario

Hi Mario,

Thanks for the clarification, that’s understandable. I tried loading that .tcl file into vivado 2022.2 (via Tools->Run Tcl script) however I get greeted with the following error:

As you can see the “cv_dfx_3_pr.xdc” file is added as a constraint file under sources, as well as being saved to the same working directory. The file was sourced from: PYNQ_Composable_Pipeline/cv_dfx_3_pr.xdc at v1.1.0-dev.2022.2 · mariodruiz/PYNQ_Composable_Pipeline · GitHub

Do you have any idea why it cannot identify the file?

Thanks for the assistance,
Cameron

Hi Cameron,

Not really. You can try commenting the line where the file is added in the tcl file, and add the file manually to the project before you execute the tcl script.

Mario

Hi Mario,

I thought the same but it just prompts me with a different error further down the tcl script regarding the import of the vitis HLS code for IP blocks.

Out of interest. If I installed vivado 2022.2 on a linux pc and ran the makefile from the git repository, would it then be able generate the block design and present it. Is it to do with the individual file grabbing to my windows os vivado?

Thanks,
Cameron

Hi Cameron,

You get that error because the vision IP that are needed for the composable overlay are not generated.
All that process is done with Makefile.

So, if you are going to install Vivado into Linux, I’d suggest you go for 2022.1 which is the flow that is tested the most.

Mario

1 Like