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