1730cfbc0SXuan Hupackage xiangshan.backend 2730cfbc0SXuan Hu 3730cfbc0SXuan Huimport chipsalliance.rocketchip.config.Parameters 4730cfbc0SXuan Huimport freechips.rocketchip.diplomacy.LazyModule 5730cfbc0SXuan Huimport top.{ArgParser, BaseConfig, Generator} 68a00ff56SXuan Huimport xiangshan.backend.regfile.IntPregParams 78a00ff56SXuan Huimport xiangshan.{XSCoreParameters, XSCoreParamsKey, XSTileKey} 8730cfbc0SXuan Hu 9730cfbc0SXuan Huobject BackendMain extends App { 10730cfbc0SXuan Hu override def main(args: Array[String]): Unit = { 118a00ff56SXuan Hu val (config, firrtlOpts, firrtlComplier, firtoolOpts) = ArgParser.parse(args) 12730cfbc0SXuan Hu 138a00ff56SXuan Hu val defaultConfig = config.alterPartial({ 148a00ff56SXuan Hu // Get XSCoreParams and pass it to the "small module" 158a00ff56SXuan Hu case XSCoreParamsKey => config(XSTileKey).head 168a00ff56SXuan Hu }) 178a00ff56SXuan Hu 188a00ff56SXuan Hu val backendParams = defaultConfig(XSCoreParamsKey).backendParams 198a00ff56SXuan Hu val backend = LazyModule(new Backend(backendParams)(defaultConfig)) 20730cfbc0SXuan Hu 21730cfbc0SXuan Hu Generator.execute( 22*8e3b6aeaSXuan Hu firrtlOpts :+ "--full-stacktrace" :+ "--target-dir" :+ "backend", 238a00ff56SXuan Hu backend.module, 248a00ff56SXuan Hu firrtlComplier, 258a00ff56SXuan Hu firtoolOpts 26730cfbc0SXuan Hu ) 27730cfbc0SXuan Hu println("done") 28730cfbc0SXuan Hu } 29730cfbc0SXuan Hu} 30730cfbc0SXuan Hu 31