PYNQ v4.0 (Verona) Release

PYNQ 4.0 Released: Bringing PYNQ to Versal

We are excited to announce the release of PYNQ 4.0 as PYNQ celebrates its tenth anniversary!

PYNQ 4.0 introduces support for AMD Versal devices, beginning with the VCK190 Evaluation Kit. It also modernises the underlying software stack with a new Ubuntu 24.04 root filesystem, migration to AMD’s Embedded Development Framework (EDF), and updated infrastructure across the PYNQ ecosystem.

What’s New

Initial Versal Support for VCK190

PYNQ now supports the VCK190, extending the familiar Python-based overlay development experience to AMD Versal devices.

Supporting Versal required substantial updates across the stack, including PDI-based programming, metadata handling, segmented configuration, and device management. Despite the architectural differences of Versal, developers can continue to use the familiar PYNQ APIs and workflows they already know.

Updated Software and Build Infrastructure

PYNQ 4.0 moves to an Ubuntu 24.04 root filesystem and adopts AMD’s Embedded Development Framework, replacing the previous PetaLinux-based build flow. These changes provide a modern and maintainable foundation for supporting current and future devices.

PYNQ Ecosystem Updates

Updated releases of PYNQ-Metadata and PYNQ-Utils provide the supporting infrastructure for Versal and the new build flow.

A new RFSoC-PYNQ release is also available, bringing the PYNQ 4.0 software updates to supported RFSoC platforms.

Coming Soon

Support for the AUP-ZU3 and AMD Kria boards will follow soon, extending the updated PYNQ 4.0 software stack to additional platforms.

Get Started

Release images, documentation, and source code are available from the usual PYNQ channels:

Thank you to everyone who contributed code, testing, documentation, bug reports, and feedback to this release. We look forward to seeing what the community builds with PYNQ 4.0.

Thanks,

— The PYNQ Team

5 Likes

This is great news. Cant wait for the Kria support. Will you also include support for the ZUBoard 1CG?

Great! I’m excited to start working with this.

Do you expect mostly seamless transitions from 3.x to 4.0, or will we likely need tweaks/rewrites? Obviously I haven’t spent much time with it, but I see JupyterLab has been updated, and I assume quite a bit of other software as well. I quickly ran an old project, and it stumbled on an np.bool error due to the newer numpy version, but was simple to fix.

Also, where would you like bug reports? In these forums, github, etc.? Would you like individual threads/reports for each issue, or a consolidated thread? I figure as we all start working with this, we’ll probably come across a handful of issues - didn’t want to add a bunch of clutter unless that’s the best way to track it.

E.g. I noticed USB 3.0 doesn’t seem to be working on the RFSoC 4x2 (USB 2.0 works).

2 Likes

Hi @DogP

Thanks for your comments here.

We’re aiming for the move from v3.0 → v4.0 to be as smooth as possible for users and shouldn’t have to change any code on the PYNQ side at least. We have updated a few packages, so there might be some API changes in that churn that we’ve missed. However, we have tested all the PYNQ compatible notebooks we are in control of and they all work from what we can see.

Let me get back to you about the RFSoC4x2 USB3 issue, I thought I had fixed that!

Feel free to use the forum for any questions, but for specific bugs I’d use Github issues as it’s easier for us to track.