xref: /XiangShan/src/test/scala/xiangshan/backend/BackendMain.scala (revision 615948e4ddd8442c42ba426144b9e1ce3244bf76)
1package xiangshan.backend
2
3import freechips.rocketchip.diplomacy.LazyModule
4import top.{ArgParser, BaseConfig, Generator}
5import xiangshan.backend.regfile.IntPregParams
6import xiangshan.{XSCoreParameters, XSCoreParamsKey, XSTileKey}
7
8object BackendMain extends App {
9  val (config, firrtlOpts, firtoolOpts) = ArgParser.parse(
10    args :+ "--disable-always-basic-diff" :+ "--fpga-platform" :+ "--target" :+ "verilog")
11
12  val defaultConfig = config.alterPartial({
13    // Get XSCoreParams and pass it to the "small module"
14    case XSCoreParamsKey => config(XSTileKey).head
15  })
16
17  val backendParams = defaultConfig(XSCoreParamsKey).backendParams
18  val backend = LazyModule(new Backend(backendParams)(defaultConfig))
19
20  Generator.execute(
21    firrtlOpts :+ "--full-stacktrace" :+ "--target-dir" :+ "backend",
22    backend.module,
23    firtoolOpts
24  )
25  println("done")
26}
27
28