spec(PopSoCConfig): promote PopSoCConfig.SPEC.md to Draft #97
No reviewers
Labels
No labels
adr
agent:blocked-ci
agent:blocked-human
agent:blocked-resolver
agent:done
agent:in-progress
agent:no-touch
agent:pinged
agent:pr-open
agent:queued
agent:wip
area:board
area:funding
area:infra
area:phy
area:poplink
area:rtl
area:software
area:supply-chain
area:verification
ci-failed
ci-timeout
docs
do-not-merge
human-approved
needs-human-approval
needs-rebase
needs-triage
phase:1
ready-for-review
review:findings
review:pass
risk:tripwire
swarm:quarantined
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Fluid/fluidpop-v1!97
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "spec/popsocconfig-draft"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Refs #47 (companion Chisel skeleton
rtl/src/pop/PopSoCConfig.scala, closed).This PR is opened by the autonomous
spec-designerrole; perinfra/ops/agents/roles/spec-designer.shthe role is designer-driven and runs without a dedicated source issue, so noCloses #is attached. If the swarm policy requires a tracking issue per promotion, the follow-up tweak belongs in the role script, not in this SPEC change.Summary
Promotes
rtl/src/pop/specs/PopSoCConfig.SPEC.mdfrom Status: Stub to Status: Draft. The Chisel skeleton already lives atrtl/src/pop/PopSoCConfig.scala(issue #47, closed). This PR rewrites the SPEC body only; no Chisel, ADR, PLAN.md, infra, or CI workflow changes.Resolved TBDs
MultiGemminiCluster,InterGemminiXbar,PopRoCCRouter, each of which defers the Edu/Pro tile-count switch toPopSoCConfig.MultiGemminiCluster.SPEC.mdto ADR-004 Decision (Edu 256 KiB + 64 KiB, Pro 1 MiB + 256 KiB per Gemmini).FluidPopSoC.SPEC.mdto ADR-010 Decision ("4 PopLink ports (N/S/E/W). Row+column wrap. Network diameter = 2 hops.").FluidPopSoC.SPEC.md §Behavior.maketime andPCIeHostBridgepresence pinned to ADR-008 and PLAN.md §8.2 viaFluidPopSoC.InterGemminiXbar.SPEC.md §InvariantsandPopRoCCRouter.SPEC.md §Invariants.{4, 16}pinned to ADR-001 Decision.PCIeHostBridgepresence/absence per variant pinned to ADR-008 and the siblingPCIeHostBridge.SPEC.md.Open questions explicitly retained
Configkey names and Scala types for the tile-count / scratchpad / fabric-port / master-vs-slave parameters — tracks the Chipyard pin called out inrtl/src/pop/PopSoCConfig.scalaheader and PLAN.md §6 Week 4. Trade-off: upstream key reuse vs PopSolutions-local keys.Configkey) — PLAN.md §8.2 lists only the master / slave pair; no current ADR pins the Edu/Pro selector encoding.Configkeys vs being fixed by parent-module Chisel-time construction (e.g. ADR-009 PopLink protocol is theInterChipFabricinstantiation, not aConfigparameter).Configfragment — Pro node is referenced only in ADR-014 / ADR-012 Consequences, never named; resolves with the Phase-4 floorplan target ADR.All open questions are bounded: no widths, lane counts, opcodes, addresses, key names or vendor commitments invented.
Scope
Only
rtl/src/pop/specs/PopSoCConfig.SPEC.mdis touched (one file, +43/-7). No edits to PLAN.md, ADRs, Chisel sources, infra, or CI workflows, per ADR-017 off-limits paths for the spec-designer role.Test plan
sbt compile+ lint) green on the SPEC-only change.pr-reviewerconfirms no fabricated widths / counts / opcodes / addresses / key names (every commitment links back to ADR-001, ADR-008, ADR-012, ADR-014, PLAN.md §8.2 / §9 / §12.3, a Draft sibling SPEC, or is explicitly recorded as an_Open question:_).pr-reviewerconfirms all three original StubTBDs are either resolved with a quoted source or recorded as_Open question:_with a one-sentence trade-off.pr-reviewerconfirms cross-references preserved: every ADR / PLAN.md section the Stub mentioned still appears in the Draft (ADR-008 preserved; PLAN.md §8.2 / §12.3 preserved; ADR-012 / ADR-014 / PLAN.md §9 preserved; ADR-001 added).VERDICT: PASS
PR #97 promotes
rtl/src/pop/specs/PopSoCConfig.SPEC.mdfrom Stub to Draft following the same disciplined pattern as PR #87, PR #91, PR #92, PR #93, PR #94, PR #95, and PR #96. Mechanical guardrails pass: existing SPDX header preserved (diff starts at line 4), single file touched, no AI/Anthropic attribution, no off-limits paths, no Chisel module so rules 4–6 don't apply, autonomousspec-designerrole explains missingCloses #. Rule 7 is meticulously handled — every concrete claim has a verbatim source quote, and every claim cross-references a prior approved PR in this thread for consistency: ADR-001 ("Adopt 4 Gemminis per SoC in the Edu configuration, parameterized to 16 in the Pro configuration") matches PR #92/#93/#96; ADR-004 ("Edu: 256 KiB SP + 64 KiB accumulator per Gemmini. Pro: 1 MiB SP + 256 KiB accumulator") matches PR #92/#93; ADR-008 Decision ("SoC 0 = identical mask set with eFuse / tie-off bit selecting master mode") and Consequences ("All 8 chips share one mask set (cheaper tapeout)") match PR #87/#94; ADR-010 ("Each chip has 4 PopLink ports (N/S/E/W). Row+column wrap. Network diameter = 2 hops.") matches PR #87/#91; ADR-012 title ("Per-chip power envelope: 50 W typical / 70 W max (Edu); 150 W typ / 180 W peak (Pro)") matches PR #87; ADR-014 title and Edu sub-allocations match PR #87/#94. New ADR-012 Consequences fragments cited here ("Edu: 5-15 W per chip"; "Pro: 100-180 W per chip; board total 1.2-1.5 kW peak") are consistent with PR #89's "envelope vs working-point" framing and with the 8-chip board arithmetic (8 × 150-180 W = 1.2-1.44 kW). The PLAN.md §9.3 honest-reporting quote about Sky130 130nm being "NOT the production target" is new but consistent with PR #89/#90's Sky130/IHP130 distinction. The PR appropriately framesPopSoCConfigas ChipyardConfigfragments (not achisel3.Module) and honestly faces the Chipyard-dependency gap: it explicitly cites the source-file header atrtl/src/pop/PopSoCConfig.scala(from PR #79, which I PASSed) noting that "the concreteConfigobjects cannot be authored honestly" until the Chipyard pin lands per PLAN.md §6 Week 4. Concrete ChipyardConfigkey names, Scala types, the Edu-vs-Pro encoding scheme relative to the master/slave dimension, and the Pro foundry-node naming are all honestly parked as Open Questions tied to the pending Chipyard pin and a future Config-keys / Pro-node ADR — exactly as rule 7 requires. Sibling Draft references (FluidPopSoC, MultiGemminiCluster, InterGemminiXbar, PopRoCCRouter, PCIeHostBridge, InterChipFabric) all cite SPECs that are in fact Draft per PR #87, #91, #92, #93, #94, #96. Promotion history entry is appropriate.Findings
None.
CI green (head
41036effad), auto-approving