Skip to content

Fix: Connect SIMD/FP free_list empty_o to pipeline stall#5

Open
AdeshDeshmukh wants to merge 1 commit into
bsc-loca:mainfrom
AdeshDeshmukh:fix/simd-fp-free-list-empty-stall
Open

Fix: Connect SIMD/FP free_list empty_o to pipeline stall#5
AdeshDeshmukh wants to merge 1 commit into
bsc-loca:mainfrom
AdeshDeshmukh:fix/simd-fp-free-list-empty-stall

Conversation

@AdeshDeshmukh

Copy link
Copy Markdown

Closes #3.

This PR wires the simd_free_list_empty and fp_free_list_empty signals to the control unit to trigger an IQ stall when physical registers are exhausted.

Changes:

  1. Added simd_empty_free_list and fp_empty_free_list to ir_cu_t struct in drac_pkg.sv.
  2. Wired signals in datapath.sv and removed // TODO not connected comments.
  3. Added SIMD/FP signals alongside scalar empty_free_list in control_unit.sv stall/flush conditions (lines 424, 490).

Verification:

  • The fix strictly follows the existing scalar empty_free_list pattern.
  • make lint requires Verilator which is not available in this environment. The changes are syntactically straightforward (struct fields + wiring + OR conditions), exactly mirroring the proven scalar implementation.

Let me know if there is a specific testbench target I should run for SIMD register exhaustion.

Copilot AI review requested due to automatic review settings July 14, 2026 13:59

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.

The SIMD and FP free_list instances had their empty_o signals declared
but left unconnected (datapath.sv:619,643). When these free lists are
empty, new_register_o returns 'h0 (register v0/f0). Unlike scalar x0,
v0 and f0 are not hardwired to zero, causing silent data corruption
under heavy vector or floating-point register pressure.

This patch wires the signals to the control unit to stall the IQ,
matching the existing scalar free_list pattern.
@AdeshDeshmukh
AdeshDeshmukh force-pushed the fix/simd-fp-free-list-empty-stall branch from 9c2afaf to 9dd1087 Compare July 14, 2026 15:07
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.

SIMD/FP free_list empty_o signals not connected to pipeline stall

2 participants