Skip to main content

pynq_logo

version 0.2.0

PYNQ-Metadata is an open-source project from Xilinx and is part of the PYNQ ecosystem. It's aims are to provide an abstract description of reconfigurable system designs. It is currently used internally within PYNQ to represent the hardware design currently configured in the Programmable Logic of Zynq-based devices. It is currently in pre-release.

Quick Start

PYNQ-Metadata can parse the design of a system in the following formats:

  • A HWH file
  • An XSA file
  • A JSON PYNQ-Metadata description

To install PYNQ-Metadata use the following command:

python3 -m pip install pynqmetadata 

To parse a design use the following python commands:

from pynqmetadata.frontends import Metadata
md = Metadata('xsa_file.xsa')
md = Metadata('hwh_file.hwh')
md = Metadata('pynq_metadata_json_file.json')

Once a design has been parsed it can then be easily walked, searched, modified, extended, and much more.

Tutorials

Coming soon: Documentation on how to use PYNQ-Metadata to manipulate and inspect designs.

Python Source Code

All python code for the PYNQ-Metadata package can be found in the /pynqmetadata folder.

  • pynqmetadata/frontends -- contains the frontend parsers for taking an XSA, HWH, or more into the PYNQMetadata format.
  • pynqmetadata/models -- contains the class hierarchy for the internal object model of a PYNQMetadata representation.
  • pynqmetadata/errors -- contains the exception classes.

Changelog

  • v0.2.0 : Add Versal support and migrate to pydantic v2
  • v0.1.9 : Locking pydantic version
  • v0.1.8 : Add parsing of clock select
  • v0.1.7 : Relaxing constraint on address mapping due to issues with rfsoc4x2_base parsing.
  • v0.1.6 : Python3.11 support added (Thanks @modularizer)
  • v0.1.5 : Prevent parsing error when external AXI ports are present in the design.
  • v0.1.4 : Fixing runtime metadata views for when the PS is contained within a hierarchy. Relaxing the Python version constraint (for x86).
  • v0.1.3 : Fixing python version requirement
  • v0.1.2 : Fixed issue where custom IP was being interpreted as an empty hierarchy
  • v0.1.1 : Fixed circular dependency issue with PYNQ-Utils

Release files for pynqmetadata 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pynqmetadata 0.2.0
File Size Uploaded
pynqmetadata-0.2.0.tar.gz 337.6 kB Details

Release files / pynqmetadata-0.2.0.tar.gz

Download URL pynqmetadata-0.2.0.tar.gz
Size 337.6 kB
Tags Source
SHA-256 checksum
How to use checksums
fedfeb89f66cf945aca737af6e39225d6690548cd300729b508e2833a185dd98
BLAKE2b-256 checksum
How to use checksums
118b7a3ae0cff11b9674e2c5b64f4b806b7d748f33acf64ca2b01b447fea008e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.1.9

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page