Skip to content

[FIX] vdiv stall#98

Open
rgiunti wants to merge 1 commit into
pulp-platform:mainfrom
FondazioneChipsIT:rgiunti/fix/int-div-fsm
Open

[FIX] vdiv stall#98
rgiunti wants to merge 1 commit into
pulp-platform:mainfrom
FondazioneChipsIT:rgiunti/fix/int-div-fsm

Conversation

@rgiunti
Copy link
Copy Markdown
Contributor

@rgiunti rgiunti commented May 28, 2026

Issue

The VFU reads and writes the full VRF word regardless of vl. Two issues:

  • Problem when number of bytes in src vectors < VRFWordBWidth → calculations are performed with Xs → stall for integer division FSM
image
  • For all arithmetic instructions when number of bytes in src vectors < VRFWordBWidth —> Xs are written in the VRF along with computed bytes
image

Proposed Fix

  • On read-side: mask the read operands in order not to propagate Xs in the datapath --> this avoids the integer divider FSM to stall
image
  • On write-side: computation of write byte enable signal has been changed in order to write in the VRF just the bytes that come from the arithmetic instruction execution
image

Notes

Read and write side valid byte counts are decoupled because in narrowing instructions the source operands are twice the destination width (src SEW = dst SEW + 1)

@rgiunti rgiunti force-pushed the rgiunti/fix/int-div-fsm branch from ce229d6 to 6689d14 Compare May 28, 2026 15:28
@rgiunti rgiunti force-pushed the rgiunti/fix/int-div-fsm branch from 6689d14 to aec6aef Compare May 28, 2026 15:33
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