xref: /XiangShan/src/main/scala/system/SoC.scala (revision 8f36f77917e5e76b7f0a83b213911d50ffb16217)
1006e1884SZihao Yupackage system
2006e1884SZihao Yu
3006e1884SZihao Yuimport noop.{NOOP, NOOPConfig}
4006e1884SZihao Yuimport bus.axi4.{AXI4, AXI4Lite}
5*8f36f779SZihao Yuimport bus.simplebus._
6006e1884SZihao Yu
7006e1884SZihao Yuimport chisel3._
8006e1884SZihao Yu
9006e1884SZihao Yuclass NOOPSoC(implicit val p: NOOPConfig) extends Module {
10006e1884SZihao Yu  val io = IO(new Bundle{
11006e1884SZihao Yu    val imem = new AXI4
12006e1884SZihao Yu    val dmem = new AXI4
13*8f36f779SZihao Yu    val mmio = (if (p.FPGAPlatform) { new AXI4Lite } else { new SimpleBusUL })
14006e1884SZihao Yu  })
15006e1884SZihao Yu
16006e1884SZihao Yu  val noop = Module(new NOOP)
17006e1884SZihao Yu  io.imem <> noop.io.imem.toAXI4()
18006e1884SZihao Yu  io.dmem <> noop.io.dmem.toAXI4()
19006e1884SZihao Yu
20*8f36f779SZihao Yu  if (p.FPGAPlatform) io.mmio <> noop.io.mmio.toAXI4()
21006e1884SZihao Yu  else io.mmio <> noop.io.mmio
22006e1884SZihao Yu}
23