1*25bcff47SXuan Hupackage xiangshan.backend.issue 2*25bcff47SXuan Hu 3*25bcff47SXuan Huimport chisel3._ 4*25bcff47SXuan Huimport chisel3.util._ 5*25bcff47SXuan Huimport top.ArgParser 6*25bcff47SXuan Huimport xiangshan.backend.Bundles.DynInst 7*25bcff47SXuan Huimport xiangshan.{Redirect, XSCoreParameters, XSCoreParamsKey} 8*25bcff47SXuan Hu 9*25bcff47SXuan Huobject MultiWakeupQueueMain extends App { 10*25bcff47SXuan Hu val (config, firrtlOpts, firrtlComplier, firtoolOpts) = ArgParser.parse(args) 11*25bcff47SXuan Hu 12*25bcff47SXuan Hu val p = config.alterPartial({ case XSCoreParamsKey => XSCoreParameters() }) 13*25bcff47SXuan Hu 14*25bcff47SXuan Hu emitVerilog( 15*25bcff47SXuan Hu new MultiWakeupQueue[DynInst, ValidIO[Redirect]]( 16*25bcff47SXuan Hu new DynInst()(p), 17*25bcff47SXuan Hu ValidIO(new Redirect()(p)), 18*25bcff47SXuan Hu Set(2, 4), 19*25bcff47SXuan Hu (dynInst: DynInst, flush: ValidIO[Redirect]) => dynInst.robIdx.needFlush(flush) 20*25bcff47SXuan Hu ), 21*25bcff47SXuan Hu Array("--full-stacktrace", "--target-dir", "build/issue") 22*25bcff47SXuan Hu ) 23*25bcff47SXuan Hu} 24