Skip to content

Commit

Permalink
[prci] Provide ibus clock from sbus in BaseSubsystem
Browse files Browse the repository at this point in the history
  • Loading branch information
davidbiancolin committed Nov 13, 2020
1 parent e780995 commit 06f39ae
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 3 deletions.
3 changes: 0 additions & 3 deletions src/main/scala/devices/tilelink/Plic.scala
Original file line number Diff line number Diff line change
Expand Up @@ -357,9 +357,6 @@ trait CanHavePeripheryPLIC { this: BaseSubsystem =>
plic.node := tlbus.coupleTo("plic") { TLFragmenter(tlbus) := _ }
plic.intnode :=* ibus.toPLIC

// TODO: What should be responsible for defining the ibus domain when there's no PLIC?
ibus.clockNode := tlbus.fixedClockNode

plic
}
}
4 changes: 4 additions & 0 deletions src/main/scala/subsystem/BaseSubsystem.scala
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ abstract class BaseSubsystem(val location: HierarchicalLocation = InSubsystem)
val sbus = tlBusWrapperLocationMap(SBUS)
tlBusWrapperLocationMap.lift(SBUS).map { _.clockGroupNode := asyncClockGroupsNode }

// TODO: Preserve legacy implicit-clock behavior for IBUS for now. If binding
// a PLIC to the CBUS, ensure it is synchronously coupled to the SBUS.
ibus.clockNode := sbus.fixedClockNode

// TODO deprecate these public members to see where users are manually hardcoding a particular bus that might actually not exist in a certain dynamic topology
val pbus = tlBusWrapperLocationMap.lift(PBUS).getOrElse(sbus)
val fbus = tlBusWrapperLocationMap.lift(FBUS).getOrElse(sbus)
Expand Down

0 comments on commit 06f39ae

Please sign in to comment.