Add docs/spec/fluidpop-isa.md ISA extension reference skeleton #117

Open
opened 2026-05-27 09:07:11 -03:00 by navigator · 3 comments
Owner

Goal

Create the ISA extension reference skeleton at docs/spec/fluidpop-isa.md, listed as deliverable #3 in PLAN.md Section 10. The doc enumerates RoCC-routed instructions exposed by PopRoCCRouter to upstream Gemmini and any FluidPop-specific extensions, so RTL and software work share a single instruction inventory.

Sections to include:

  • Overview (RISC-V base + Gemmini RoCC + FluidPop additions)
  • Encoding conventions (RoCC opcode space, custom-0/1/2/3 usage — TODO)
  • Inherited Gemmini instructions (reference upstream Gemmini ISA doc; do not duplicate)
  • FluidPop-specific instructions (placeholder table: mnemonic / opcode / operands / semantics / status — all rows TBD)
  • Inter-chip communication hooks (any instructions that interact with PopLink fabric — TODO)
  • PHY/telemetry-visible CSRs (placeholder — defer to ADR finalization)
  • Privilege levels and trap behavior (TODO)
  • Open questions (which instructions truly need to be new vs reuse Gemmini's existing surface)

Acceptance criteria

  • docs/spec/fluidpop-isa.md exists with the sections above
  • Status: Draft skeleton + Owner: TBD header
  • Each section has TODO markers + 2-3 line intent
  • Instruction table present with header row but rows are TBD placeholders
  • References upstream Gemmini ISA documentation rather than duplicating it
  • No fabricated opcodes or instruction semantics
  • Cross-references PLAN.md Sections 10 and 8.2 (PopRoCCRouter)

Plan refs

Section 10 (deliverable #3), Section 8.2 (PopRoCCRouter custom module)

Notes

Skeleton only — actual ISA decisions belong in dedicated ADRs once PopRoCCRouter design solidifies. Avoid committing to specific custom opcodes; the doc's job is structure plus a clear open-questions list, not to specify the ISA.

## Goal Create the ISA extension reference skeleton at `docs/spec/fluidpop-isa.md`, listed as deliverable #3 in PLAN.md Section 10. The doc enumerates RoCC-routed instructions exposed by `PopRoCCRouter` to upstream Gemmini and any FluidPop-specific extensions, so RTL and software work share a single instruction inventory. Sections to include: - Overview (RISC-V base + Gemmini RoCC + FluidPop additions) - Encoding conventions (RoCC opcode space, custom-0/1/2/3 usage — TODO) - Inherited Gemmini instructions (reference upstream Gemmini ISA doc; do not duplicate) - FluidPop-specific instructions (placeholder table: mnemonic / opcode / operands / semantics / status — all rows TBD) - Inter-chip communication hooks (any instructions that interact with PopLink fabric — TODO) - PHY/telemetry-visible CSRs (placeholder — defer to ADR finalization) - Privilege levels and trap behavior (TODO) - Open questions (which instructions truly need to be new vs reuse Gemmini's existing surface) ## Acceptance criteria - [ ] `docs/spec/fluidpop-isa.md` exists with the sections above - [ ] `Status: Draft skeleton` + `Owner: TBD` header - [ ] Each section has `TODO` markers + 2-3 line intent - [ ] Instruction table present with header row but rows are TBD placeholders - [ ] References upstream Gemmini ISA documentation rather than duplicating it - [ ] No fabricated opcodes or instruction semantics - [ ] Cross-references PLAN.md Sections 10 and 8.2 (PopRoCCRouter) ## Plan refs Section 10 (deliverable #3), Section 8.2 (PopRoCCRouter custom module) ## Notes Skeleton only — actual ISA decisions belong in dedicated ADRs once PopRoCCRouter design solidifies. Avoid committing to specific custom opcodes; the doc's job is structure plus a clear open-questions list, not to specify the ISA.
Author
Owner
No description provided.
<!-- agent:claim by=dispatcher run=20260527T120951Z_issue117 ts=1779883792 -->
Author
Owner

Resolver inspection: docs/spec/fluidpop-isa.md already exists on main (introduced/extended via PR #77, commit f793b3d) and satisfies every acceptance criterion in this issue:

  • File present with all eight required sections (Overview, Encoding conventions, Inherited Gemmini instructions, FluidPop-specific instructions, Inter-chip communication hooks, PHY/telemetry CSRs, Privilege/trap behavior, Open questions).
  • Header carries Status: Draft skeleton + Owner: TBD (lines 6-7).
  • Every section has a > TODO. block with 2-3 line intent.
  • §4 instruction table present with header row and a TBD placeholder row only.
  • Upstream Gemmini ISA is referenced (§3, §8), not duplicated.
  • No fabricated opcodes / semantics.
  • Cross-references PLAN.md §10 deliverable #3 and §8.2 (PopRoCCRouter) in the header.

Issue #117 looks like a duplicate of the already-merged work. Recommend closing as duplicate of #77.

<!-- agent:fail reason=blocker:already-shipped --> Resolver inspection: `docs/spec/fluidpop-isa.md` already exists on `main` (introduced/extended via PR #77, commit `f793b3d`) and satisfies every acceptance criterion in this issue: - File present with all eight required sections (Overview, Encoding conventions, Inherited Gemmini instructions, FluidPop-specific instructions, Inter-chip communication hooks, PHY/telemetry CSRs, Privilege/trap behavior, Open questions). - Header carries `Status: Draft skeleton` + `Owner: TBD` (lines 6-7). - Every section has a `> TODO.` block with 2-3 line intent. - §4 instruction table present with header row and a `TBD` placeholder row only. - Upstream Gemmini ISA is referenced (§3, §8), not duplicated. - No fabricated opcodes / semantics. - Cross-references PLAN.md §10 deliverable #3 and §8.2 (`PopRoCCRouter`) in the header. Issue #117 looks like a duplicate of the already-merged work. Recommend closing as duplicate of #77.
Author
Owner
No description provided.
<!-- agent:fail reason=no-pr-marker run=20260527T120951Z_issue117 -->
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Fluid/fluidpop-v1#117
No description provided.