Skip to content

[CI] HW board tests: enable AUP-ZU3, add MLO and external-weights tests, pipeline filters - #1686

Merged
auphelia merged 8 commits into
devfrom
feature/extend_board_testing
Oct 29, 2026
Merged

auphelia merged 8 commits into
devfrom
feature/extend_board_testing

Conversation

@auphelia

@auphelia auphelia commented Sep 3, 2026 •

Copy link
Copy Markdown
Collaborator

Extends the hardware (board) CI: the AUP-ZU3 is now a real test board, and the MLO and external-weights builds are tested on hardware, not only built. Adds filters to run part of the HW pipeline for debugging.

Changes

Boards

  • AUP-ZU3 (finn-aup-zu3) replaces the Pynq-Z1 placeholder: real agent label, credentials and reboot before testing.

New HW test types

  • mlo_build (MLO): the four AUP-ZU3 variants of test_finnloop_end2end_mlo_ddr.
  • ext_weights_build (Ext weights): test_end2end_ext_weights_build, cnv and tfc, now built for the AUP-ZU3.
  • New helper finn.util.test.stage_hw_deployment() lets any build test hand its bitfile, plus a reference input/output, to the HW pipeline. Documented in ci/README.md.
  • On the board each model runs an execute test (output compared bit-exactly with the reference) and a throughput test. The board runner now picks up whichever .bit file a package ships, not only resizer.bit.

Pipeline

  • A shard now hands off the bitfiles of its passing tests even when other tests in the shard fail.
  • New Jenkinsfile_HW parameters: TEST_TYPE_FILTER, MODEL_EXCLUDE, TEST_SKIP.

Fixes found by the new board tests

  • make_driver.py: the external-weights repeat count was taken from a FIFO on the weight stream instead of the MVAU behind it. Conv layers got the weights once instead of once per output pixel, and the accelerator hung.
  • cnv-w2a2-extw.json / specialize_layers_config_cnv.json: these used node names from before max-pool was lowered to depthwise SWG + Pool_hls. Entries landed on the wrong nodes, mismatching depthwise SWG SIMD and Pool PE, and the folded network computed wrong results. Now realigned.
  • test_end2end_ext_weights_build now verifies the folded network against the source model (folded cppsim), so a broken folding config fails the build test instead of the board.

@auphelia
auphelia marked this pull request as ready for review September 8, 2026 09:26
@auphelia
auphelia marked this pull request as draft September 8, 2026 09:27
@auphelia
auphelia marked this pull request as ready for review October 29, 2026 11:41
@auphelia auphelia changed the title [CI] Extend BNN hardware board testing: dataset validation + pipeline filters [CI] HW board tests: enable AUP-ZU3, add MLO and external-weights tests, pipeline filters Oct 29, 2026
@auphelia
auphelia merged commit d9dc132 into dev Oct 29, 2026
3 checks passed
@auphelia
auphelia deleted the feature/extend_board_testing branch October 29, 2026 11:46
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.

1 participant