30 lines
1018 B
Scala
30 lines
1018 B
Scala
// See LICENSE.SiFive for license details.
|
|
|
|
package freechips.rocketchip.system
|
|
|
|
import Chisel._
|
|
import freechips.rocketchip.config.Parameters
|
|
import freechips.rocketchip.subsystem._
|
|
import freechips.rocketchip.devices.tilelink._
|
|
import freechips.rocketchip.util.DontTouch
|
|
|
|
/** Example Top with periphery devices and ports, and a Rocket subsystem */
|
|
class ExampleRocketSystem(implicit p: Parameters) extends RocketSubsystem
|
|
with HasAsyncExtInterrupts
|
|
with HasMasterAXI4MemPort
|
|
with HasMasterAXI4MMIOPort
|
|
with HasSlaveAXI4Port
|
|
with HasPeripheryBootROM
|
|
with HasSystemErrorSlave {
|
|
override lazy val module = new ExampleRocketSystemModuleImp(this)
|
|
}
|
|
|
|
class ExampleRocketSystemModuleImp[+L <: ExampleRocketSystem](_outer: L) extends RocketSubsystemModuleImp(_outer)
|
|
with HasRTCModuleImp
|
|
with HasExtInterruptsModuleImp
|
|
with HasMasterAXI4MemPortModuleImp
|
|
with HasMasterAXI4MMIOPortModuleImp
|
|
with HasSlaveAXI4PortModuleImp
|
|
with HasPeripheryBootROMModuleImp
|
|
with DontTouch
|