Skip to content

rtl(axi_dw_downsizer): hold BRESP stable while BVALID asserted - #451

Open
devtyagi3909 wants to merge 1 commit into
pulp-platform:masterfrom
devtyagi3909:fix-axi-dw-downsizer-bresp-stability
Open

rtl(axi_dw_downsizer): hold BRESP stable while BVALID asserted#451
devtyagi3909 wants to merge 1 commit into
pulp-platform:masterfrom
devtyagi3909:fix-axi-dw-downsizer-bresp-stability

Conversation

@devtyagi3909

@devtyagi3909 devtyagi3909 commented Sep 7, 2026

Copy link
Copy Markdown

Fixes #289.

The AXI specification requires that BRESP does not change value while BVALID is asserted and BREADY has not yet been seen. The downsizer violated this because its AW/W channel FSM (in W_IDLE) could preemptively reset the shared burst_resp accumulator before the slow B channel had finished its wait state, thereby corrupting the output response on subsequent cycles.

This fix ensures that:

  • BRESP output is held stable during the BVALID wait state.
  • The burst response accumulator is initialized at reset, and reset strictly according to B channel handshakes.
  • The idle reset in the W channel FSM has been removed, completely decoupling the response accumulation from W channel boundaries.

Signed-off-by: Dev Tyagi <devtyagi3909@gmail.com>
@devtyagi3909
devtyagi3909 force-pushed the fix-axi-dw-downsizer-bresp-stability branch from f2eb069 to 5d24780 Compare September 7, 2026 18:21
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.

axi_dw_downsizer: AXI Slave BRESP changes in value during BVALID’s wait for BREADY

1 participant