Skip to content

Forward exceptions from segment micro-ops - #490

Open
flaviens wants to merge 2 commits into
pulp-platform:mainfrom
flaviens:fix/segment-exception
Open

Forward exceptions from segment micro-ops#490
flaviens wants to merge 2 commits into
pulp-platform:mainfrom
flaviens:fix/segment-exception

Conversation

@flaviens

Copy link
Copy Markdown

A backend exception from a segment micro-op was discarded because response forwarding is suppressed while sequencing, while the exception arm was empty. This could leave the dispatcher waiting indefinitely after the backend stopped accepting work.

Capture the exception response and end segment sequencing immediately. Also monitor responses while draining previously issued micro-ops so an exception from the last outstanding operation is not lost.

Verification: a standalone Verilator testbench covers nf=2/3/8, exceptions on the first/middle/last micro-op, a backend that stops responding after the fault, plus a backend that deasserts ready. All 11 scenarios complete with the expected response.

Copilot AI lite review requested due to automatic review settings August 22, 2026 15:01

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.

Pull request overview

This PR fixes a hang scenario in the segment memory micro-op sequencer where backend exceptions could be dropped while response forwarding is suppressed during sequencing, potentially leaving the dispatcher waiting indefinitely.

Changes:

  • Capture and forward exception responses from SEGMENT_MICRO_OPS by latching ara_resp_i and terminating sequencing early.
  • Continue monitoring backend responses while draining outstanding micro-ops in SEGMENT_MICRO_OPS_WAIT_END so late exceptions are not lost.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread hardware/src/segment_sequencer.sv Outdated
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