Skip to content

Feature/tiling mlo#1566

Open
d-kor wants to merge 37 commits into
devfrom
feature/tiling_mlo
Open

Feature/tiling mlo#1566
d-kor wants to merge 37 commits into
devfrom
feature/tiling_mlo

Conversation

@d-kor

@d-kor d-kor commented Apr 21, 2026

Copy link
Copy Markdown
Collaborator

Summary
Adds tiled matrix-vector activation support (TH > 1) for Versal DSP58, together with the MLO / FINNLoop external-memory weight-fetch path, and integrates both into the standard MVAU/FINNLoop test flows.

Key changes

  • Tiled MVU RTL (finn-rtllib/mvu_tiled/): new cu_mvau_tiled, input_gen, acc_stage, weights_buff_tile, mvu_tiled_axi (+ wrapper and testbench). Replaces the earlier replay/transpose approach with an input_gen-based datapath.
  • MLO weight fetch (finn-rtllib/fetch_weights/): reworked fetch_weights + local_weight_buffer, moved out of finn-rtllib/mlo/. External-memory weights packed per byte-aligned IWSIMD group using the memstream PE-flipped / TH-untiled ordering; per-SIMD byte
    alignment fixed for stitched-IP rtlsim.
  • MVAU custom op (matrixvectoractivation.py, matrixvectoractivation_rtl.py, hwcustomop.py): TH-aware folding, memstream depth scaling with TH, DSP58 double-pumped compute wiring, and HLS interface updates. Obsolete MMAU/ram_p_c files removed (tiled MMAU RTL kept under mvu_tiled/ for future use).
  • Loop rolling / FIFO sizing: MLO external_mem is now set by loop rolling rather than the user; FINNLoop m_axi weight ports associated by MVAU name; set_fifo_depths updates for the loop/MLO flow.
  • Tests: tiled MatMul + MLO variants folded into test_fpgadataflow_mvau.py, test_fpgadataflow_finnloop.py, and test_loop_rolling.py; guards added for unsupported configs (tiling + double-pumping disallowed; SIMD==1 + pumpedCompute disallowed).

Notes

  • Tiling (TH > 1) and clock double-pumping are mutually exclusive by design and skipped in tests.
  • Depends on the XSI double-pumped stimulus-timing fix (separate PR) for the pumpedCompute rtlsim path.

d-kor added 3 commits April 8, 2026 13:54
- Added MM infrastructure for tiling.
- Fetch weight fixes.
- MVAU tiled passing tests.
- MMAU 1D/2D added.
@d-kor d-kor requested a review from auphelia April 21, 2026 12:54

@auphelia auphelia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @d-kor, thanks for the PR! Could you please resolve the merge conflicts? Do I see it correctly that this PR contains the concluded/working tiled MatMul feature and work-in-progress for the systolic array approach? Do you think it would make sense to have those features in two different PRs?

@auphelia auphelia self-requested a review July 10, 2026 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants