2016-11-28 01:16:37 +01:00
|
|
|
// See LICENSE.SiFive for license details.
|
2016-11-23 00:01:45 +01:00
|
|
|
|
|
|
|
package rocketchip
|
|
|
|
|
|
|
|
import Chisel._
|
|
|
|
import config._
|
|
|
|
import diplomacy._
|
|
|
|
import uncore.tilelink2._
|
|
|
|
import uncore.devices._
|
|
|
|
import util._
|
|
|
|
import coreplex._
|
|
|
|
|
2016-11-23 01:58:24 +01:00
|
|
|
trait RocketPlexMaster extends L2Crossbar {
|
2016-11-23 00:01:45 +01:00
|
|
|
val module: RocketPlexMasterModule
|
|
|
|
val mem: Seq[TLInwardNode]
|
|
|
|
|
|
|
|
val coreplex = LazyModule(new DefaultCoreplex)
|
|
|
|
|
2016-11-23 01:58:24 +01:00
|
|
|
coreplex.l2in := l2.node
|
2016-11-23 00:01:45 +01:00
|
|
|
socBus.node := coreplex.mmio
|
|
|
|
coreplex.mmioInt := intBus.intnode
|
|
|
|
(mem zip coreplex.mem) foreach { case (m, c) => m := c }
|
|
|
|
}
|
|
|
|
|
2016-11-23 01:58:24 +01:00
|
|
|
trait RocketPlexMasterBundle extends L2CrossbarBundle {
|
2016-11-23 00:01:45 +01:00
|
|
|
val outer: RocketPlexMaster
|
|
|
|
}
|
|
|
|
|
2016-11-23 01:58:24 +01:00
|
|
|
trait RocketPlexMasterModule extends L2CrossbarModule {
|
2016-11-23 00:01:45 +01:00
|
|
|
val outer: RocketPlexMaster
|
|
|
|
val io: RocketPlexMasterBundle
|
|
|
|
}
|