xref: /XiangShan/src/test/scala/xiangshan/backend/BackendMain.scala (revision 615948e4ddd8442c42ba426144b9e1ce3244bf76)
1730cfbc0SXuan Hupackage xiangshan.backend
2730cfbc0SXuan Hu
3730cfbc0SXuan Huimport freechips.rocketchip.diplomacy.LazyModule
4730cfbc0SXuan Huimport top.{ArgParser, BaseConfig, Generator}
58a00ff56SXuan Huimport xiangshan.backend.regfile.IntPregParams
68a00ff56SXuan Huimport xiangshan.{XSCoreParameters, XSCoreParamsKey, XSTileKey}
7730cfbc0SXuan Hu
8730cfbc0SXuan Huobject BackendMain extends App {
96ce10964SXuan Hu  val (config, firrtlOpts, firtoolOpts) = ArgParser.parse(
10*615948e4SXuan Hu    args :+ "--disable-always-basic-diff" :+ "--fpga-platform" :+ "--target" :+ "verilog")
11730cfbc0SXuan Hu
128a00ff56SXuan Hu  val defaultConfig = config.alterPartial({
138a00ff56SXuan Hu    // Get XSCoreParams and pass it to the "small module"
148a00ff56SXuan Hu    case XSCoreParamsKey => config(XSTileKey).head
158a00ff56SXuan Hu  })
168a00ff56SXuan Hu
178a00ff56SXuan Hu  val backendParams = defaultConfig(XSCoreParamsKey).backendParams
188a00ff56SXuan Hu  val backend = LazyModule(new Backend(backendParams)(defaultConfig))
19730cfbc0SXuan Hu
20730cfbc0SXuan Hu  Generator.execute(
218e3b6aeaSXuan Hu    firrtlOpts :+ "--full-stacktrace" :+ "--target-dir" :+ "backend",
228a00ff56SXuan Hu    backend.module,
238a00ff56SXuan Hu    firtoolOpts
24730cfbc0SXuan Hu  )
25730cfbc0SXuan Hu  println("done")
26730cfbc0SXuan Hu}
27730cfbc0SXuan Hu
28