rtl: InterGemminiXbar v1 — N×N decoupled crossbar with round-robin arbitration #112
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#112
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 of
InterGemminiXbarper Draft SPEC atrtl/src/pop/specs/InterGemminiXbar.SPEC.md(#92). The existing skeleton (rtl/src/pop/InterGemminiXbar.scala, 6 LOC code) is an empty IO bundle; this issue lands the actual N×N decoupled crossbar.Scope — strictly what the Draft SPEC pins
class InterGemminiXbar(N: Int = 4) extends Module— N tracksPopSoCConfig.TileCountKey(ADR-001: 4 Edu / 16 Pro). RejectN <= 0at elaboration.Vec(N, Flipped(Decoupled(...)))ingress +Vec(N, Decoupled(...))egress. The payload bundle is parameterised — use aBundlewith onetileId = UInt(log2Ceil(N).W)and an opaquepayload = UInt(payloadBits.W)field (constructor parameterpayloadBits: Int = 32); annotate as// Open question per SPEC §Interface — concrete payload bundle shape pending PopRoCCRouter cluster-side attach decision.Open Questions — do NOT invent
fifoDepth: Int = 4, annotate.Acceptance criteria
rtl/src/pop/InterGemminiXbar.scalabody materialises ingress FIFOs + decoded routing + egress arbitrationrtl/tests/InterGemminiXbar/InterGemminiXbarSpec.scalaextended with three scenarios:sbt -no-colors testgreen; tests parameterised onN ∈ {2, 4}Plan refs
PLAN.md §8.2, §12.3; ADR-003 (4×4 xbar), ADR-001 (4 Gemminis Edu / 16 Pro).