Skip to content

backend: Drop the redundant ready term from the write busy signal - #265

Merged
DanielKellerM merged 1 commit into
develfrom
fix/mem-tile-comb-loops
Oct 6, 2026
Merged

DanielKellerM merged 1 commit into
develfrom
fix/mem-tile-comb-loops

Conversation

@DanielKellerM

@DanielKellerM DanielKellerM commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator

w_dp_busy_o = w_dp_valid_i | w_dp_ready_o drops the w_dp_ready_o term. Every write unit (and the multi-port cc_stream_fork) only raises ready while valid is set, so the OR changes nothing, but it created a path from the write port ready into busy and the compute config stall. Together with pulp-platform/axi_obi#7 this removes the structural combinational loops SpyGlass reports (CombLoop) on the gwaihir mem tiles, where idma_reg64_2d -> idma_nd_midend -> idma_backend_rw_axi drives an axi_to_obi; with both, mem_tile_small and mem_tile_large report 0. None of the loops can be sensitized. No area or latency change; formally equivalent for every backend.

Every write unit only raises w_dp_ready_o while w_dp_valid_i is set, so
the OR adds no information. It did add a combinational path from the
write port ready into the backend busy and compute config stall, which
closes a structural loop through a downstream AXI-to-OBI converter.
Copilot AI balanced review requested due to automatic review settings October 6, 2026 10:36

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.

@DanielKellerM
DanielKellerM force-pushed the fix/mem-tile-comb-loops branch from 373f049 to dc4ed2b Compare October 6, 2026 11:58
@DanielKellerM DanielKellerM changed the title backend, midend: Remove the mem-tile combinational loops backend: Drop the redundant ready term from the write busy signal Oct 6, 2026
DanielKellerM added a commit to pulp-platform/gwaihir that referenced this pull request Oct 6, 2026
pulp-platform/iDMA#265 is now only the write busy change. Pin its new
deploy commit (c7f0456, on dc4ed2b). SpyGlass still reports 0 CombLoop
on mem_tile_small and mem_tile_large.
@DanielKellerM
DanielKellerM merged commit bf90973 into devel Oct 6, 2026
43 of 44 checks passed
@DanielKellerM
DanielKellerM deleted the fix/mem-tile-comb-loops branch October 6, 2026 13:12
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