Skip to main content

aen-npu-inference — Ethos-U85 inference on E8

First on-silicon NPU inference on the E1M-AEN801: a Vela-compiled int8 model dispatched to the Ethos-U85 (256-MAC) via TFLite-Micro + the Arm Ethos-U core driver.

Source: examples/aen/aen-npu-inference/.

The three variants

ExampleModelWhere it livesStatus
aen-npu-inferencetiny int8 fixtureRAMwiring baseline
aen-npu-inference-aliftiny_int8.tfliteSRAM0 (DMA-visible)RESULT PASS — matched-runtime fix
aen-npu-inference-person-mramreal person_detect MobileNet (int8, ~263 KiB, 100 % NPU)MRAM slot0RESULT PASS

What it does

  1. Loads a Vela-compiled int8 model and runs MicroInterpreter → Ethos-U85.
  2. The -alif variant carries the matched-runtime fix that cleared the residual ethosu_invoke=1: weak overrides for ethosu_address_remap (CPU→NPU address translation) and ethosu_config_select (MEM_ATTR index 0 → the SRAM AXI port).
  3. The -person-mram variant links the real model into MRAM slot0 (it overflows the 256 KiB ITCM RAM-run) and boots via the MRAM-XIP two-blob Flow D helper. Vela report: 0 CPU ops / 44 NPU ops (100 %).

The model + tensor arena must be in SRAM0 (DMA-visible) with CONFIG_DCACHE=n.

board.yaml

som:
sku: E1M-AEN801

preset: e1m-evk

cores:
m55_he:
app: ./src
inference: { tensor_arena_kb: 512 }

diagnostics:
log_level: info

Expected output

[npu-inference] Vela: 0 CPU ops / 44 NPU ops (100% NPU)
[npu-inference] inference complete
[npu-inference] RESULT PASS

See also

Questions about this page? Discuss in Community Forum