Skip to content

Capture only W0 bank hash for DiffTest - #125

Merged
daiyongyuan merged 4 commits into
mainfrom
fix/bank-hash-w0-only
Sep 25, 2026
Merged

daiyongyuan merged 4 commits into
mainfrom
fix/bank-hash-w0-only

Conversation

@daiyongyuan

@daiyongyuan daiyongyuan commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Capture only the W0 logical bank hash for eligible write-bank instructions at completion and retain it in the corresponding ROB entry until commit.
  • Preserve completion backpressure and multi-group hash combination while removing R0/R1 collection and export. Instructions without a valid write bank emit no bank-hash record.
  • Reduce the SystemVerilog DPI interface to W0 bank ID and hash.

The LeNet hart=0 inst=3 mismatch came from software built against the old ten-argument DPI callback: the RTL's W0 hash appeared in the software's R0 slot. The matching software changes are in the dependent PRs below.

Dependencies

  • Compare only W0 bank hashes in BTrace bebop#24 changes the Rust DPI callback, BEMU trace, BTrace record format, comparison, and tests to W0 only.
  • Refresh P2E runtime before workloads bbdev#22 makes --runworkload rebuild the selected P2E runtime and use the same DiffTest target directory for build and execution; it also names differential bitstream build directories distinctly.
  • The bebop and bbdev submodule pointers in this PR are synchronized to their latest remote main commits. After both dependent PRs merge, refresh these submodule pointers to their new main heads before merging this PR.

Verification

  • mill buckyball.compile
  • Pebble Verilator RTL elaboration with and without DiffTest, and Pebble P2E RTL elaboration with DiffTest.
  • Generated differential BTraceDPI.v has six 32-bit DPI arguments; non-differential Verilator output has no BTraceDPI.
  • Bebop PR [arch]fix: fix bugs of im2col ball and pass the test #24: four bank-hash tests, RTL-trace and Pebble BEMU checks, and formatting check.
  • bbdev PR [Milestone] memdomain virtualisation #22: Python AST syntax check, git diff --check, and passing CI Build.
  • Parent repository pre-commit hooks passed.

End-to-end LeNet P2E DiffTest has not been rerun with the updated runtime in this session.

@daiyongyuan
daiyongyuan merged commit b879d4c into main Sep 25, 2026
3 of 8 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Agents Kanban Sep 25, 2026

This branch is waiting to be deployed

1 waiting deployment
regression — 30f58e9b Waiting Sep 25, 2026 by daiyongyuan via run #108
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants