Skip to content

codegen: Fixed-Point (Q-format) Numeric target #20

Description

@milanofthe

Kontext

Der codegen emittiert aktuell ausschliesslich f64 (double) Arithmetik. Die Numeric Achse in CodegenOptions ist dafür vorgesehen, weitere Zahlenformate zu tragen.

Ziel

Ein Fixed-Point (Q-Format) Numeric Target für Embedded-Ziele ohne FPU: Ganzzahl-Arithmetik in einem gewählten Q(m.n) Format.

Umfang (Skizze)

  • Numeric::Fixed Variante mit konfigurierbarem Q-Format (Wortbreite, Bruchbits).
  • CTarget Lowering: Multiplikation → Widen + Shift, Division, saturating/rounding Ops, skalierte Konstanten, Shift-Management pro Op.
  • Transzendente Funktionen (sin/exp/log/...) via LUT oder Polynomapproximation im Fixed-Format.
  • Überlaufpolitik (saturate vs wrap).

Designlastig / offen

  • Skalierung pro Signal: Range-Analyse vs. nutzerdefinierte Q-Wahl je Port.
  • Genauigkeits- vs. Wortbreiten-Abwägung, Verifikation gegen die f64-Referenz.

Schwester-Epic zum entfernten Write::BlockActive; bewusst als eigenständiges Feature ausgegliedert.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions