Skip to content

[HW] Fix VSTU queue overrun (Issue #369)#449

Open
sameh-tensorica wants to merge 4 commits intopulp-platform:mainfrom
Tensorica:fix-vstu-queue-overrun-369
Open

[HW] Fix VSTU queue overrun (Issue #369)#449
sameh-tensorica wants to merge 4 commits intopulp-platform:mainfrom
Tensorica:fix-vstu-queue-overrun-369

Conversation

@sameh-tensorica
Copy link
Copy Markdown

The vstu (Vector Store Unit) module had a bug reported in issue #369 where it would hang if its instruction queue became full of in-flight issued instructions. This occurred because the pointer-based retirement logic ( issue_pnt != commit_pnt ) erroneously returned false when the circular buffer pointers overlapped.

Changelog

Fixed

  • This PR replaces the pointer comparison with a check against the vinsn_commit_valid signal, which correctly identifies when instructions are pending in the queue regardless of the full state.

Added

  • A regression test case (TEST_CASE20) has been added to vse32.c to reproduce the hang by filling the queue with several single-element stores.

Checklist

  • Automated tests pass
  • Changelog updated
  • Code style guideline is observed

Please check our contributing guidelines before opening a Pull Request.

@sameh-tensorica sameh-tensorica changed the title Fix VSTU queue overrun (Issue #369) [HW] Fix VSTU queue overrun (Issue #369) Apr 19, 2026
@sameh-tensorica sameh-tensorica force-pushed the fix-vstu-queue-overrun-369 branch from 40f3c96 to dc3230d Compare April 20, 2026 13:26
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.

1 participant