From ce9a2ecd49b946f363a8781d86e4b9f5397d04dc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Wed, 12 Jun 2024 18:20:02 -0700 Subject: [PATCH] Interrupts coming outwards from the Tile should cross into a toPlicDomain --- src/main/scala/subsystem/Cluster.scala | 1 + src/main/scala/subsystem/HasHierarchicalElements.scala | 2 ++ src/main/scala/subsystem/HasTiles.scala | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/scala/subsystem/Cluster.scala b/src/main/scala/subsystem/Cluster.scala index 31c1a9e541..9d82ad616c 100644 --- a/src/main/scala/subsystem/Cluster.scala +++ b/src/main/scala/subsystem/Cluster.scala @@ -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) diff --git a/src/main/scala/subsystem/HasHierarchicalElements.scala b/src/main/scala/subsystem/HasHierarchicalElements.scala index 52501b675d..d026395a41 100644 --- a/src/main/scala/subsystem/HasHierarchicalElements.scala +++ b/src/main/scala/subsystem/HasHierarchicalElements.scala @@ -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]] @@ -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()) diff --git a/src/main/scala/subsystem/HasTiles.scala b/src/main/scala/subsystem/HasTiles.scala index 11345a0b72..ea1f34f7e7 100644 --- a/src/main/scala/subsystem/HasTiles.scala +++ b/src/main/scala/subsystem/HasTiles.scala @@ -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) } }} }