Data Schemas — Python model

The Python model is the single source of truth for every Waveflow data structure: its fields and bitwidths, its in-memory (NumPy-backed) values, and the packing rule that the generated C++ mirrors bit-for-bit. These pages cover building schemas in Python — the scalar fields, the composite lists and arrays, the tagged unions, and the fixed-point and complex element types used by signal-processing kernels.

For the synthesizable side — the C++ a schema generates and how a single value moves over each interface — see HLS.


Table of contents

  • Fields - The scalar schema fields — IntField, FloatField, EnumField, BooleanField — their bitwidths, signedness, and Python values.
  • Data Lists - DataList — an ordered, named composite of schema fields (the C++ struct counterpart), with nesting and per-field access.
  • Data arrays - DataArray — a fixed- or dynamic-shape array of a schema element type; the raw vs struct C++ storage modes.
  • Data Unions - DataUnion — a tagged union: a schema-id header selecting one of several registered payload schemas, with a fixed wire footprint.
  • Fixed-point (FixedField) - FixedField — ap_fixed-compatible fixed-point: total width, integer bits, signedness, and the rounding/overflow modes.
  • Complex (ComplexField) - ComplexField — a complex element over a scalar inner field (re/im), the interleaved layout and complex arithmetic helpers.

This site uses Just the Docs, a documentation theme for Jekyll.