pynq.metadata-runtime_metadata_parser Module

A class that provides a runtime metadata object. The RuntimeMetadataParser class contains a collection of different views onto the metadata object. Each view presents a different interpretation of the underlying metadata.

Views:

  • ip_dict: a dictionary of all IP that is addressable from the processing system.
  • hierarchy_dict : a dictionary containing the hierarchies of IP in the design.
  • gpio_dict: all the GPIO pins controlled by the PS.
  • interrupt_controllers : a dictionary of al AXI interrupt controllers in the system that are attached to the PS.
  • interrupt_pins : all pins attached to an interrupt controller in the interrupt_controllers view
  • mem_dict: a dictionary of all the memory regions in the design.
  • clock_dict: a dictionary of all the configurable clocks in the design.

Views are dynamically updated as the underlying metadata is changed. However, this is not currently fully supported in the latest release of PYNQ, so one time deep copies of these dictionaries are made.

class pynq.metadata.runtime_metadata_parser.RuntimeMetadataParser(md: pynqmetadata.models.module.Module)[source]

Bases: object

A class that produces a runtime metadata object. This is a collections of different views onto the metadata object. Each view presents a different interpretation of the underlying metadata. Views:

  • ip_dict: a dictionary of all IP that is addressable from the processing system.
  • hierarchy_dict : a dictionary containing the hierarchies of IP in the design.
  • gpio_dict: all the GPIO pins controlled by the PS.
  • interrupt_controllers : a dictionary of al AXI interrupt controllers in the system that are attached to the PS.
  • interrupt_pins : all pins attached to an interrupt controller in the interrupt_controllers view
  • mem_dict: a dictionary of all the memory regions in the design.
  • clock_dict : a dictionary of all the configurable clocks in the design.

Views are dynamically updated as the underlying metadata is changed. However, this is not currently fully supported in the latest release of PYNQ, so one time deep copies of these dictionaries are made.

assign_gpio_to_ip() → None[source]

Assigns the GPIO and Interrupts to the IP Dict

assign_interrupts_to_ip() → None[source]

Assigns interrupts to the dictionaries

refresh_hierarchy_dict() → None[source]