Skip to main content

The WUPPER Code Generator

Project description

The Wupper Code Generator is a tool to generate various files used for the implementation of configuration mechanism of the FELIX interface card firmware. Files that can be generated include:

  • A VHDL description of configuration parameters with required datatypes (e.g., a list of VHDL record types).

  • A VHDL file for a register mapping, which relates parameter register to PCIe addresses. This can include write- and read-processes for all configuration registers.

  • A matching C header file, which matches the register mapping described in the previous point to C datastructures which represent the different configuration options.

  • A (partial) OKS schema for the firmware parameters. This still needs to be extended with an OKS schema for the software configuration options. It is yet to be determined how much of the H/W OKS schema can be autogenerated, as not all parameters of the firmware should be configurable using an OKS database.

  • Other use cases are thinkable, e.g., automatic documentation of the parameters, registers, datatypes, etc.

The Wupper Code Generator tool uses two kinds of inputs:

  • A configuration file describing all configuration registers of the firmware, as well their data types, default values, and other relevant information. The format of the input file is YAML.

  • A (set of) template file(s), describing how the output of the tool should look like. Jinja2 is used as template engine.

Additionally, the tool automatically generates a unique address for each register. This can be used to assign individual registers to addresses in the PCI memory mapping.

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

wuppercodegen-0.5.2.tar.gz (9.3 kB view details)

Uploaded Source

File details

Details for the file wuppercodegen-0.5.2.tar.gz.

File metadata

  • Download URL: wuppercodegen-0.5.2.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for wuppercodegen-0.5.2.tar.gz
Algorithm Hash digest
SHA256 5ce466ad5bb7c9a80c3e9c328fba00707e1863c4f3932c3b118a8ef9032d7308
MD5 b07b8f938ac4f126e2aff1698037886d
BLAKE2b-256 af8fe2a1bddbb47516f3f9e3b0a404e14ad803cf007fd53cad65d69114a9d92e

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