rocket: move interrupt synchronizers to correct side of crossing
This commit is contained in:
parent
45d26ea130
commit
1fda05970a
@ -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
|
||||||
}
|
}
|
||||||
|
@ -213,12 +213,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 = new CoreBundle
|
val io = new CoreBundle
|
||||||
with HasExternallyDrivenTileConstants
|
with HasExternallyDrivenTileConstants
|
||||||
|
Loading…
Reference in New Issue
Block a user