Skip to main content

Extensible, Modular, Metadata layer for PYNQ projects

Project description

pynq_logo

version 0.1.9

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.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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pynqmetadata-0.1.9.tar.gz (238.4 kB view details)

Uploaded Source

File details

Details for the file pynqmetadata-0.1.9.tar.gz.

File metadata

  • Download URL: pynqmetadata-0.1.9.tar.gz
  • Upload date:
  • Size: 238.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for pynqmetadata-0.1.9.tar.gz
Algorithm Hash digest
SHA256 14fe64f71c7729465aebb43b8e3aabaa05d4286885b2bb2cb01451360d42bc6f
MD5 5294145474fbac6c79813fd13f9661f3
BLAKE2b-256 5ae49d60c1c269284ac747b05fc649b3f70160fd802f2dd908b35536627dd5e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page