Skip to content

backend: Restore per-beat w_beat_done for compute retire - #166

Open
DanielKellerM wants to merge 1 commit into
develfrom
backend/w-beat-done-retire
Open

backend: Restore per-beat w_beat_done for compute retire#166
DanielKellerM wants to merge 1 commit into
develfrom
backend/w-beat-done-retire

Conversation

@DanielKellerM

Copy link
Copy Markdown
Collaborator

Summary

The compute engine retires its output beats on the write manager's ready. Since #163 that is w_dp_req_ready, which for an AXI burst pulses only on the last beat: correct for byte-count-preserving compute (transpose issues single-beat bursts), but it replays beat 0 across every beat of a multi-beat write burst.

This partially reverts #163: w_beat_done = write_happening (strobe-independent, per-beat) is re-exposed from idma_axi_write and routed to the compute engine per active write protocol. AXI uses the per-beat pulse; other write ports keep w_dp_ready, which is already per-beat (e.g. OBI). The pulse becomes load-bearing for the multi-beat bursts that size-changing compute (follow-up PR) produces.

No behavior change for single-beat transpose bursts.

Validation

  • Builds standalone on devel; tb_idma_transpose_b2b green at DataWidth 32/64 (Questa 2026.1) at this commit alone.
  • Generator rendered for all backend IDs plus r_axil_w_axi, r_axis_w_axi, rw_tilelink, and multihead variants: exactly one w_beat_done declaration and drive per topology.

The compute engine retires its output beats on the write manager's ready.
Since #163 that is w_dp_req_ready, which for an AXI burst pulses only on the
last beat: correct for byte-count-preserving compute (transpose issues
single-beat bursts) but it replays beat 0 across every beat of a multi-beat
write burst. This partially reverts #163; the pulse becomes load-bearing for
the multi-beat bursts size-changing compute produces.

Re-expose w_beat_done = write_happening (strobe-independent, per-beat) from
idma_axi_write and route it to the compute engine per active write protocol:
AXI uses the per-beat pulse, other write ports keep w_dp_ready (already
per-beat, e.g. OBI). No behavior change for single-beat transpose bursts.
Copilot AI lite review requested due to automatic review settings August 6, 2026 06:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

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.

2 participants