13a76b099SXuan Hupackage xiangshan.utils 23a76b099SXuan Hu 33a76b099SXuan Huimport chisel3.emitVerilog 43a76b099SXuan Huimport chisel3.util.ValidIO 53a76b099SXuan Huimport top.ArgParser 63a76b099SXuan Huimport utils.PipeWithFlush 73a76b099SXuan Huimport xiangshan.{Redirect, XSCoreParamsKey, XSTileKey} 83a76b099SXuan Huimport xiangshan.backend.Bundles.DynInst 93a76b099SXuan Hu 103a76b099SXuan Huobject GenPipeWithFlush extends App { 113a76b099SXuan Hu println("Generating the VerilogPipeWithFlush hardware") 126ce10964SXuan Hu val (config, firrtlOpts, firtoolOpts) = ArgParser.parse(args) 133a76b099SXuan Hu val p = config.alterPartial({ case XSCoreParamsKey => config(XSTileKey).head }) 143a76b099SXuan Hu 15*0c7ebb58Sxiaofeibao-xjtu// emitVerilog( 16*0c7ebb58Sxiaofeibao-xjtu// new PipeWithFlush[DynInst, ValidIO[Redirect]]( 17*0c7ebb58Sxiaofeibao-xjtu// new DynInst()(p), 18*0c7ebb58Sxiaofeibao-xjtu// ValidIO(new Redirect()(p)), 19*0c7ebb58Sxiaofeibao-xjtu// 2, 20*0c7ebb58Sxiaofeibao-xjtu// (dynInst: DynInst, flush: ValidIO[Redirect], stage: Int) => dynInst.robIdx.needFlush(flush) 21*0c7ebb58Sxiaofeibao-xjtu// ), 22*0c7ebb58Sxiaofeibao-xjtu// Array("--target-dir", "build/vifu")) 233a76b099SXuan Hu} 24