xref: /XiangShan/src/test/scala/xiangshan/backend/BackendMain.scala (revision 6ce1096467c77f9a13c9ea0e57b870cd1fb67270)
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 {
9*6ce10964SXuan Hu  val (config, firrtlOpts, firtoolOpts) = ArgParser.parse(
10b7d9e8d5Sxiaofeibao-xjtu    args :+ "--disable-always-basic-diff" :+ "--disable-all" :+ "--remove-assert" :+ "--fpga-platform")
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