{
  "id": "shared_matmul",
  "title": "Shared-MAC matrix multiply \u2014 flat DSP cost, on silicon",
  "blurb": "A matrix multiply time-multiplexed through ONE shared multiplier instead of unrolling to N*K*P of them. Bit-identical to the unrolled matmul (so no separate proof \u2014 the win is structural and measured): on real fabric the whole product costs 4 DSP48s, and the SAME 4 for a 2x2 and a 3x3 \u2014 flat in matrix size.",
  "emit_targets": 14,
  "proofs": [],
  "checks": [
    {
      "quantity": "shared-MAC matmul vs exact real product (max cell error)",
      "value": "2.01e-05",
      "relation": "<",
      "bound": "1e-3",
      "holds": true
    }
  ],
  "silicon": [
    "matmul2_pipeline",
    "matmul3_pipeline",
    "seq_matmul",
    "seq_mac"
  ],
  "silicon_hw": {
    "board": "Arty A7-100T",
    "clock_mhz": 100,
    "anchors": [
      [
        "matmul2_pipeline (2x2)",
        "+1.693"
      ]
    ],
    "summary": "4 DSP48s for the 2x2 AND the 3x3 \u2014 flat in matrix size (vs ~32 / ~108 unrolled, an 8x / 27x collapse); 6/6 cases bit-exact over UART.",
    "evidence_ref": "monogate-research/electronics_intake/matmul_shared_arty/evidence/FINDINGS.md"
  },
  "closing": "**Simulated and on silicon** (no separate proof needed \u2014 bit-identical to the unrolled matmul). One shared multiply-accumulate computes the whole product; the DSP cost stops scaling with matrix size \u2014 measured flat at 4 on real fabric."
}