PYNQ: PYTHON PRODUCTIVITY FOR ZYNQ

Build base overlay for pynq-z1 bug

In the tcl script build_base_ip.tcl, it failed at the “unset” commands for period and interval. I added two lines to set the variable to dummy values before the unset.

“make all” in that directory is running now.

This makes more scripts run, but is it a symptom of another issue? Please let me know if there is something else I can do to help diagnose.

I initially ran with vivado 2018.3. Later steps failed, and I carried on with vivado 2019.1

# Testing ends
if [string match {== Utilization Estimates} $line]  {
    set period  "set this period"
    set interval "set this interval"
   unset timing_flag latency_flag period interval
   break
}

What version of PYNQ are you using? Bear in mind that different versions of PYNQ are updated to support (script-side) specific versions of Vivado, e.g. PYNQ 2.5 supports Vivado 2019.1 and the included scripts are updated to work with that Vivado version.

Please provide more details, and in case you have spotted an actual bug, it would be good if you did a pull request with the required changes on the official PYNQ repo

Thank you. I will check my versions and let you know.

I cloned the PYNQ repository. It seems to be version 2.5, based on the git tags:

PYNQ$ git describe --tags
v2.5-6-gbf63ce40

and the makefile runs with Vivado 2019.1.

Copying the base.bit and base.hwh files to the PYNQ-Z1 board leads to this

from pynq import PL
from pynq import Overlay
from pynq.lib import AxiGPIO

overlay = Overlay(’./base.bit’)

  /opt/python3.6/lib/python3.6/site-packages/pynq/overlay.py:81: UserWarning: IP video/axi_vdma is of type xilinx.com:ip:axi_vdma:6.3 and driver found for [xilinx.com:ip:axi_vdma:6.2]. Use ignore_version=True to use this driver.
warnings.warn(message, UserWarning)

What is the best way to update the version of pynq on the punq-z1 board to get version 6.3 of the driver?

Alternatively, how do I build base.bit and base.hwh to use version 6.2 of the driver?

Using ignore-version=True leads to trouble when I try to access the IP, so ignoring the warning does not help.

Thank you.

If you build 2018.3 HLS IPs, you may need to clear all of them before continuing with 2019.1 tool flow. To do that, go to the IP/hls, and go to each ip folder, remove app and solution1 folders. Then go back to your overlay folders and rebuild.

Thank you for the suggestion. Indeed, I had started with one than then switched to another version of vivado in mid stream in my first attempt.

This time, I started from scratch, in a new directory, with a fresh clone on pynq, and only used Vivado 2019.1, and the bit file built on my laptop.

The issue is that when I copy the base.bit and base.hwh files to the pynq-z1 board, it has different versions (older) of drivers installed on the board than the bit file is looking for. I’m asking what the best way is to update the PYNQ-Z1 board.

I have no particular reason to stick with the older version. There is nothing of note on the board and I can redo the sd card if necessary. If I download a fresh image: https://files.digilent.com/Products/PYNQ/pynq_z1_image_2016_09_14.zip and use that image, what version of the drivers will that be?

Thank you for your help.

Hi @Chris_Stoughton, the link you posted does not contain the updated PYNQ image for the Pynq-Z1.
You will have to download it from here: http://www.pynq.io/board.html
In particular, you’ll have to use the: PYNQ-Z1 v2.5 PYNQ image