Skip to content

Commit

Permalink
Merge pull request #3648 from chipsalliance/tile_int_domain
Browse files Browse the repository at this point in the history
Interrupts coming outwards from the Tile should cross into a toPlicDomain
  • Loading branch information
jerryz123 authored Jun 13, 2024
2 parents 6d88d6c + ce9a2ec commit 043926a
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/main/scala/subsystem/Cluster.scala
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ class Cluster(
def msipDomain = this
def meipDomain = this
def seipDomain = this
def toPlicDomain = this
lazy val msipNodes = totalTileIdList.map { i => (i, IntIdentityNode()) }.to(SortedMap)
lazy val meipNodes = totalTileIdList.map { i => (i, IntIdentityNode()) }.to(SortedMap)
lazy val seipNodes = totalTileIdList.map { i => (i, IntIdentityNode()) }.to(SortedMap)
Expand Down
2 changes: 2 additions & 0 deletions src/main/scala/subsystem/HasHierarchicalElements.scala
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ trait DefaultHierarchicalElementContextType
val meipNodes: SortedMap[Int, IntNode]
def seipDomain: LazyScope
val seipNodes: SortedMap[Int, IntNode]
def toPlicDomain: LazyScope
val tileToPlicNodes: SortedMap[Int, IntNode]
val debugNodes: SortedMap[Int, IntSyncNode]
val nmiNodes: SortedMap[Int, BundleBridgeNode[NMI]]
Expand All @@ -192,6 +193,7 @@ trait HasHierarchicalElementsRootContext
def msipDomain = clintDomainOpt.getOrElse(this)
def meipDomain = plicDomainOpt.getOrElse(this)
def seipDomain = plicDomainOpt.getOrElse(this)
def toPlicDomain = plicDomainOpt.getOrElse(this)

val msipNodes: SortedMap[Int, IntNode] = (0 until nTotalTiles).map { i =>
(i, IntEphemeralNode())
Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/subsystem/HasTiles.scala
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ trait CanAttachTile {
// so might need to be synchronized depending on the Tile's crossing type.
context.tileToPlicNodes.get(domain.element.tileId).foreach { node =>
FlipRendering { implicit p => domain.element.intOutwardNode.foreach { out =>
node := domain.crossIntOut(crossingParams.crossingType, out)
context.toPlicDomain { node := domain.crossIntOut(crossingParams.crossingType, out) }
}}
}

Expand Down

0 comments on commit 043926a

Please sign in to comment.