Skip to content

Register cross-reference with the ane-guide #3

Description

@sbryngelson

Saw your repo from the ANEForge issue. I did a byte-level RE of the M1/H13 ANE program format (https://ane-guide.readthedocs.io, arXiv:2606.22283), and a good chunk of it lines up with your REGISTER_PROGRMMING.md, so here's the cross-reference in case it helps finish that off.

Your offsets are into the BTSP buffer, mine are into the ZinAneTdHw image. The common/dimension block lines up with a constant +0x34, and two of your values are byte-identical to mine:

your reg (BTSP) value my field (image) match
InDim @0x128 0x0001004d Win@0xf4 / Hin@0xf6 (15-bit) +0x34
Cin @0x134 0x01 Cin@0x100 (17-bit) +0x34
Cout @0x138 0x01 Cout@0x104 (17-bit) +0x34
TaskInfo @0x160 0x00100000 CommonTaskType@0x12c +0x34
ConvCfg 0x5000a021 op-config word exact
pad2 0x2041 kernel-common record (0x5021 -> 0x2041) exact

A few things that might fill gaps:

  • Cin/Cout are 17-bit (max 131071), spatial dims 15-bit. Those are the field maxima.
  • Your ConvCfg 0x5000a021 is one of three op-config words I see; the others are conv 0x5042a063 and matmul 0x5000b021. One to sort out: I had 0x5000a021 labeled reduce-mean-class but you use it for relu/conv, so one of our labels is off.
  • pad2 0x2041 is the kernel-common record (0x5021 -> 0x2041); matches the firmware program-manager log byte for byte on my end.
  • I've got ~190 named fields across the 7 groups (kernel/common, dimensions, tile DMA, elementwise/planar, L2/texture, kernel-fmt/op-mode, L2-result), so the DMA/L2/PE blocks you're doing by hand are probably covered.

Happy to send a PR adding a cross-ref section to REGISTER_PROGRMMING.md, or just compare notes on the DMA/L2 offsets. Covers M1 through M5, so might help the M5/H17 work too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions