rocket: move interrupt synchronizers to correct side of crossing

This commit is contained in:
Wesley W. Terpstra committed 2017-09-27 12:02:04 -07:00
1 parent e35d3df6ea
commit 0268959c24
2 files changed
+5 -7

No files matched your search

+5 -1
View File
@@ -84,7 +84,11 @@ trait HasRocketTiles extends HasSystemBus
lip.foreach { coreIntXbar.intnode := _ } // lip lip.foreach { coreIntXbar.intnode := _ } // lip
wrapper.coreIntNode := coreIntXbar.intnode wrapper.coreIntNode := coreIntXbar.intnode
wrapper.intOutputNode.foreach { plic.intnode := _ } wrapper.intOutputNode.foreach { case int =>
val rocketIntXing = LazyModule(new IntXing(wrapper.outputInterruptXingLatency))
rocketIntXing.intnode := int
plic.intnode := rocketIntXing.intnode
}
wrapper wrapper
} }
-6
View File
@@ -211,12 +211,6 @@ abstract class RocketTileWrapper(rtp: RocketTileParams, hartid: Int)(implicit p:
def outputInterruptXingLatency: Int def outputInterruptXingLatency: Int
rocket.intOutputNode.foreach { rocketIntOutputNode =>
val outXing = LazyModule(new IntXing(outputInterruptXingLatency))
intOutputNode.get := outXing.intnode
outXing.intnode := rocketIntOutputNode
}
lazy val module = new LazyModuleImp(this) { lazy val module = new LazyModuleImp(this) {
val io = IO(new CoreBundle val io = IO(new CoreBundle
with HasExternallyDrivenTileConstants with HasExternallyDrivenTileConstants