rocket: move interrupt synchronizers to correct side of crossing
This commit is contained in:
parent
e35d3df6ea
commit
0268959c24
@ -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
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user