Skip to content

Regs/Transpose: Add compute parameter register to register frontend and fix transpose to/from misaligned addresses - #160

Merged
DanielKellerM merged 1 commit into
pulp-platform:develfrom
mosaic-soc:pr/reg-transpose
Aug 3, 2026
Merged

Regs/Transpose: Add compute parameter register to register frontend and fix transpose to/from misaligned addresses#160
DanielKellerM merged 1 commit into
pulp-platform:develfrom
mosaic-soc:pr/reg-transpose

Conversation

@da-gazzi

@da-gazzi da-gazzi commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Merge order:

This PR is based on the PR making the compute engine instantiation an elaboration-time parameter instead of a generation-time one, see #159 - that PR should be merged before this one.

Changes:

  • Add CI input for additional register frontends to generate in the deploy job (IDMA_ADD_FE_IDS)
  • Add a register to hold compute (i.e., transpose) configuration to the register file definition
  • BUGFIX: Transpose was buggy when the destination buffer was misaligned to the data bus
    • Previously, an output was popped from the transposition unit on every accepted output beat. As a misaligned write is split into 2 beats, that led to some data being dropped and AW transfers being issued without a corresponding W transfer to follow them up
    • This has been fixed by connecting the transpose unit's ready_i to w_dp_req_ready instead of write_beat_done; that signal is asserted on the last transaction of a write transfer, which is the correct behavior.

- `compute_cfg` register is added after existing registers
- Controls `enable`, `op`, `mode`, `tensor_m` and `tensor_n`
- Connected to the relevant fields of the ND request struct in the register top-level template
- Add required additional frontend IDs to CI deploy job
Comment thread src/frontend/reg/idma_reg.rdl
@DanielKellerM
DanielKellerM merged commit 08156be into pulp-platform:devel Aug 3, 2026
12 checks passed
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.

2 participants