rtl: FluidPopSoC v1 — top-level integration of all v1 submodules #125
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Fluid/fluidpop-v1#125
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Goal
Implement v1 top-level integration of
FluidPopSoCper Draft SPEC atrtl/src/pop/specs/FluidPopSoC.SPEC.md(#87). The skeleton (#83) lands an empty top module. This issue lands the first end-to-end wire-up of all the v1 modules that have landed:PopRoCCRouter(#107),PopSoCConfig(#108),PopLinkPHY_Behavioral(#116),InterGemminiXbar(#115),MultiGemminiClusterv1 (#114, will land before this),InterChipFabricv1 (sibling issue, will land before this),PCIeHostBridge(skeleton, master variant only).Scope — strictly what the Draft SPEC pins
PopSoCConfigField keys:TileCountKey,FabricPortCountKey,IsMasterKey,VariantKey.MultiGemminiCluster(N=TileCountKey), 1×InterChipFabric(numPorts=FabricPortCountKey), 4×PopLinkPHY_Behavioral(one per PopLink port), 1×PopRoCCRouter, conditionally 1×PCIeHostBridge(only whenIsMasterKey == true).numCores: Int = 2(ADR-006 Edu default), instantiate that many Rocket-shaped RoCCcmd/respports surfaced to top IO.Open Questions — do NOT invent
// TBD per SPEC §Interface — DDR5 mem portas a top-level commented// val mem = ???.Vec(numCores, Decoupled(...))RoCC ports rather than instantiating Rocket directly (Chipyard pin issue per #46 series).Input(UInt(32.W))placeholder, annotate.Acceptance criteria
rtl/src/pop/FluidPopSoC.scalabody instantiates and wires all the v1 submodules abovertl/tests/FluidPopSoC/FluidPopSoCSpec.scalaextended with two scenarios:FluidPopMasterConfigelaborates AND instantiatesPCIeHostBridgeFluidPopSlaveConfigelaborates AND skipsPCIeHostBridgesbt -no-colors testgreenrtl/src/pop/FluidPopSoC.scala,rtl/tests/FluidPopSoC/Blocked on
Plan refs
PLAN.md §8.2 (full module list); ADR-001, ADR-006, ADR-008, ADR-010.