{
  "$schema": "https://ambiqai.github.io/helia-ui/schema/reference-model-1.json",
  "generatedFrom": {
    "sourceCommit": "cf2246a7ad439fa38d57462118e7840e5497a685",
    "tool": "pyref",
    "version": "1.7.3"
  },
  "language": "python",
  "modules": [
    {
      "description": "",
      "name": "defines",
      "path": "helia_aot.platforms.defines",
      "submodules": [],
      "summary": "",
      "symbols": [
        {
          "description": "SoC available capabilities",
          "examples": [],
          "id": "helia_aot.platforms.defines.SocCapability",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.MCU",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "MCU",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "MCU = auto()",
              "source": {
                "line": 12,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L12"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.DSP",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "DSP",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "DSP = auto()",
              "source": {
                "line": 13,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L13"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.USB",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "USB",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "USB = auto()",
              "source": {
                "line": 14,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L14"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.BLE",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "BLE",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "BLE = auto()",
              "source": {
                "line": 15,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L15"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.MVE",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "MVE",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "MVE = auto()",
              "source": {
                "line": 16,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L16"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.PSRAM",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "PSRAM",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "PSRAM = auto()",
              "source": {
                "line": 17,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L17"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.FP16",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "FP16",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "FP16 = auto()",
              "source": {
                "line": 18,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L18"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocCapability.NPU",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "NPU",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "NPU = auto()",
              "source": {
                "line": 19,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L19"
              },
              "summary": ""
            }
          ],
          "name": "SocCapability",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "SocCapability()",
          "source": {
            "line": 9,
            "path": "helia_aot/platforms/defines.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L9"
          },
          "summary": "SoC available capabilities"
        },
        {
          "description": "SoC available memory types",
          "examples": [],
          "id": "helia_aot.platforms.defines.MemoryType",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.MRAM",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "MRAM",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "MRAM = auto()",
              "source": {
                "line": 25,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L25"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.SRAM",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "SRAM",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "SRAM = auto()",
              "source": {
                "line": 26,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L26"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.DTCM",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "DTCM",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "DTCM = auto()",
              "source": {
                "line": 27,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L27"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.ITCM",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "ITCM",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "ITCM = auto()",
              "source": {
                "line": 28,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L28"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.DRAM",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "DRAM",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "DRAM = auto()",
              "source": {
                "line": 29,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L29"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.PSRAM",
              "kind": "constant",
              "language": "python",
              "members": [],
              "name": "PSRAM",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "PSRAM = auto()",
              "source": {
                "line": 30,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L30"
              },
              "summary": ""
            },
            {
              "description": "Check if this memory type is readable.",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.readable",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "readable",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "readable: bool",
              "source": {
                "line": 33,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L33"
              },
              "summary": "Check if this memory type is readable."
            },
            {
              "description": "Check if this memory type is writeable.",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.writeable",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "writeable",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "writeable: bool",
              "source": {
                "line": 38,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L38"
              },
              "summary": "Check if this memory type is writeable."
            },
            {
              "description": "Check if this memory type is executable.",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.executable",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "executable",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "executable: bool",
              "source": {
                "line": 43,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L43"
              },
              "summary": "Check if this memory type is executable."
            },
            {
              "description": "Whether the ``_INIT`` placement for this memory targets loadable RAM.\n\nMemories whose ``*_INIT`` linker macro places symbols into\nloadable RAM (i.e. the section is writable at the linker\nlevel, with bytes copied from a load region at boot) cannot\nbe declared ``const`` at the C type level — GNU ld will\notherwise infer a read-only section group, refuse to merge\nwith the writable RAM section, and orphan the symbol into an\nunrelated output section.",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.is_init_ram",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "is_init_ram",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "is_init_ram: bool",
              "source": {
                "line": 48,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L48"
              },
              "summary": "Whether the INIT placement for this memory targets loadable RAM."
            },
            {
              "description": "C ``const`` prefix appropriate for an ``_INIT`` blob in this memory.\n\nReturns ``\"const \"`` for memories whose init section is\nread-only at link time (flash/XIP), and ``\"\"`` for memories\nwhose init section is loadable RAM (where ``const`` would\ncause a section-flag conflict — see :attr:`is_init_ram`).",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.init_const_qualifier",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "init_const_qualifier",
              "params": [],
              "raises": [],
              "returns": [
                {
                  "description": "Either ``\"const \"`` or the empty string. Suitable",
                  "name": "str",
                  "type": "str"
                },
                {
                  "description": "for direct interpolation in templates.",
                  "type": "str"
                }
              ],
              "signature": "init_const_qualifier() -> str",
              "source": {
                "line": 66,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L66"
              },
              "summary": "C const prefix appropriate for an INIT blob in this memory."
            },
            {
              "description": "Convert memory placement to C qualifiers",
              "examples": [],
              "id": "helia_aot.platforms.defines.MemoryType.to_qualifiers",
              "kind": "method",
              "language": "python",
              "members": [],
              "name": "to_qualifiers",
              "params": [
                {
                  "default": "'AOT'",
                  "description": "Prefix for the qualifier macro",
                  "name": "prefix",
                  "type": "str"
                },
                {
                  "default": "False",
                  "description": "For pre-initialized data (aka .data) vs zeroed (.bss)",
                  "name": "init",
                  "type": "bool"
                },
                {
                  "default": "True",
                  "description": "Whether the data will be written to at runtime",
                  "name": "writable",
                  "type": "bool"
                }
              ],
              "raises": [],
              "returns": [
                {
                  "description": "C qualifier macro (e.g., AOT_PUT_IN_SRAM_INIT)",
                  "name": "str",
                  "type": "str"
                }
              ],
              "signature": "to_qualifiers(prefix: str = 'AOT', init: bool = False, writable: bool = True) -> str",
              "source": {
                "line": 80,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L80"
              },
              "summary": "Convert memory placement to C qualifiers"
            }
          ],
          "name": "MemoryType",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "MemoryType()",
          "source": {
            "line": 22,
            "path": "helia_aot/platforms/defines.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L22"
          },
          "summary": "SoC available memory types"
        },
        {
          "description": "Base class for SoC platforms",
          "examples": [],
          "id": "helia_aot.platforms.defines.SocPlatform",
          "kind": "class",
          "language": "python",
          "members": [
            {
              "description": "Unique platform name",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.name",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "name",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "name: str = Field(..., description='Unique platform name')",
              "source": {
                "line": 142,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L142"
              },
              "summary": ""
            },
            {
              "description": "Minimum alignment requirement in bytes",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.min_alignment",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "min_alignment",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "min_alignment: int | None = Field(..., description='Minimum alignment requirement in bytes')",
              "source": {
                "line": 143,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L143"
              },
              "summary": ""
            },
            {
              "description": "",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.cpu",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "cpu",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "cpu: str = Field(default='cortex-m4', description='CPU architecture')",
              "source": {
                "line": 144,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L144"
              },
              "summary": ""
            },
            {
              "description": "List of supported clock speeds in MHz",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.speeds",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "speeds",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "speeds: list[int] = Field(default_factory=list, description='List of supported clock speeds in MHz')",
              "source": {
                "line": 145,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L145"
              },
              "summary": ""
            },
            {
              "description": "Memory sizes in bytes",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.memories",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "memories",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "memories: dict[MemoryType, int] = Field(default_factory=dict, description='Memory sizes in bytes')",
              "source": {
                "line": 146,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L146"
              },
              "summary": ""
            },
            {
              "description": "List of SoC capabilities",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.capabilities",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "capabilities",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "capabilities: list[SocCapability] = Field(default_factory=list, description='List of SoC capabilities')",
              "source": {
                "line": 147,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L147"
              },
              "summary": ""
            },
            {
              "description": "Preferred memory order for allocations",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.preferred_memory_order",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "preferred_memory_order",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "preferred_memory_order: list[MemoryType] = Field(default_factory=list, description='Preferred memory order for allocations')",
              "source": {
                "line": 148,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L148"
              },
              "summary": ""
            },
            {
              "description": "Whether this platform supports Armv8.1-M MVE-FP / FP16 kernels.\n\nResolution order:\n\n1. When :attr:`SocCapability.FP16` is declared explicitly, it is\n   honored as a platform/toolchain capability. It is rejected only when\n   it contradicts a *known* non-FP16 core (``_NON_FP16_CPUS``, e.g.\n   Cortex-M4/M7/M33); unknown or custom CPUs are trusted so bespoke or\n   future MVE-FP targets can opt in through the extension point without\n   a library change.\n2. When the capability is absent, FP16 is *inferred* from a normalized\n   (case-insensitive) match of :attr:`cpu` against the known\n   FP16-capable cores (``_FP16_CPUS``) for backward compatibility with\n   platforms that only set ``cpu``.",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.supports_fp16",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "supports_fp16",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "supports_fp16: bool",
              "source": {
                "line": 172,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L172"
              },
              "summary": "Whether this platform supports Armv8.1-M MVE-FP / FP16 kernels."
            },
            {
              "description": "Whether this platform declares an attached NPU (Arm Ethos-U).\n\nUnlike :attr:`supports_fp16` there is no CPU-based inference: the NPU\nis a discrete accelerator that cannot be deduced from the core, so the\ncapability must be declared explicitly via :attr:`SocCapability.NPU`.\nOperators that generate NPU-only code (e.g. the Ethos-U custom\noperator) use this to reject conversion for platforms without an\naccelerator at convert time, instead of failing later in the\nintegrator's build.",
              "examples": [],
              "id": "helia_aot.platforms.defines.SocPlatform.supports_npu",
              "kind": "attribute",
              "language": "python",
              "members": [],
              "name": "supports_npu",
              "params": [],
              "raises": [],
              "returns": [],
              "signature": "supports_npu: bool",
              "source": {
                "line": 212,
                "path": "helia_aot/platforms/defines.py",
                "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L212"
              },
              "summary": "Whether this platform declares an attached NPU (Arm Ethos-U)."
            }
          ],
          "name": "SocPlatform",
          "params": [],
          "raises": [],
          "returns": [],
          "signature": "SocPlatform()",
          "source": {
            "line": 129,
            "path": "helia_aot/platforms/defines.py",
            "url": "https://github.com/AmbiqAI/helia-aot/blob/cf2246a7ad439fa38d57462118e7840e5497a685/helia_aot/platforms/defines.py#L129"
          },
          "summary": "Base class for SoC platforms"
        }
      ]
    }
  ],
  "name": "helia_aot"
}
