Support for PYNQ v2.3 image


PYQN image has been updated to v2.3. VTA.cmake does not seem to support it. I tried it w/ an Ultra96’s v2.3 image and it was not able to find sds_lib or dma.

The issue is probably related to the fact that was changed from xlnkutils to libcma in v2.3.


Thank you for reporting the issue. We have a Ultra96 support that is currently WIP, but I can issue a patch to support v2.3 in the meantime.


@thierry, thanks for the prompt reply. Is the Ultra96 support PYNQ based?


@haowu80s yes the Ultra96 support is based on PYNQ-based image. For far we’ve been using a custom-built Linux image for testing, but we’ll need to test support for the image that Xilinx released on October 3rd.

Is that what you’ve been using as well?


Yep. That’s what I’m trying to use.


HI. Could you please advise what IDE do I need to work with VTA? Do I need full-scale Vivado IDE or maybe it’s possible to use Vivado HLS alone to flash the board?



@grwlf we describe the required IDE here:

You can get the free edition to do compilation. In terms of flashing the board, there are no IDEs required, it’s all handled on-board.


@haowu80s I’ve submitted a PR to bring support for PYNQ v2.3

If you’re looking to build VTA for Ultra96, I will follow up with an update that allows us to build VTA and program it on Ultra96 sometime next week.

Thank you for your patience!


I think the metal test (tvm/vta/tests/hardware/metal_test) was not ported to pynq v2.3 and I would like to know how to proceed.
The changes that were introduced in #1945 were:

  • Remove dependency to dma,sds lib. Instead, the cma lib is used
  • The XDEVCFG interface is deprecated so VTAProgram was removed

Problem 1:
Files that were not updated:

  • tvm/vta/python/vta/
  • tvm/vta/tests/hardware/metal_test/Makefile

both still add sds_lib, libdma to ldflags

Problem 2:
tvm/vta/tests/hardware/common/ used by the VTA metal test still includes the VTAProgram call.
I haven’t found a replacement for this call. The pynq way is to flash the bitstream with the python overlay, but there is no C interface?.

Is there still demand for the metal test or is it already superseded by the python unit tests (tvm\vta\tests\python\unittest)?
I’d like to make a pull request for problem 1 if it’s not superseded.

To my understanding this is also the problem that another person reported (zkh2018) in the git issue #2650.