Skip to content

VLSU Fix#105

Open
DiyouS wants to merge 3 commits into
mainfrom
fix/coal-load
Open

VLSU Fix#105
DiyouS wants to merge 3 commits into
mainfrom
fix/coal-load

Conversation

@DiyouS

@DiyouS DiyouS commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

Problem: indexed/strided/misaligned loads with small vsew write only a few bytes per cycle to a full VRFWordWidth-wide word (wbe is sparse). Each partial write still generates vrf_wvalid, which the controller treats as a full write-credit and enables chaining too early, producing wrong results.

Fix: accumulate partial writes into a single coalescing buffer. Only present the write to the VRF (assert vrf_we_o) when the accumulated wbe covers the full word (&wbe == 1) OR when rsp_valid marks the last write of the instruction (handles a non-full tail word). The response to the controller is also gated on the coalesced commit so that chaining is only enabled after the entire VRF word is coherent.

TODO: same fix needed also for VFU and VSLDU

@DiyouS DiyouS self-assigned this Jun 12, 2026
@DiyouS DiyouS added the bug Something isn't working label Jun 12, 2026
@DiyouS DiyouS marked this pull request as ready for review June 13, 2026 06:50

@Navaneeth-KunhiPurayil Navaneeth-KunhiPurayil left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks for the fixes. Looks good to me. The test cases are also good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] HW barrier needed after vector load (32 bit ew) [Bug] Hang after load with stride (32 bit ew)

2 participants