1289fc2f9SLinJiaweipackage xiangshan.mem.prefetch 2289fc2f9SLinJiawei 3289fc2f9SLinJiaweiimport chisel3._ 4289fc2f9SLinJiaweiimport chisel3.util._ 5289fc2f9SLinJiaweiimport chipsalliance.rocketchip.config.Parameters 6289fc2f9SLinJiaweiimport xiangshan._ 7289fc2f9SLinJiaweiimport xiangshan.cache.mmu.TlbRequestIO 8289fc2f9SLinJiaweiimport xiangshan.mem.LsPipelineBundle 9289fc2f9SLinJiawei 10289fc2f9SLinJiaweiclass PrefetcherIO()(implicit p: Parameters) extends XSBundle { 11289fc2f9SLinJiawei val ld_in = Flipped(Vec(exuParameters.LduCnt, ValidIO(new LsPipelineBundle()))) 12289fc2f9SLinJiawei val tlb_req = new TlbRequestIO(nRespDups = 2) 13289fc2f9SLinJiawei val pf_addr = ValidIO(UInt(PAddrBits.W)) 14*85de5caeSLinJiawei val enable = Input(Bool()) 15289fc2f9SLinJiawei} 16289fc2f9SLinJiawei 17289fc2f9SLinJiaweitrait PrefetcherParams 18289fc2f9SLinJiawei 19289fc2f9SLinJiaweiabstract class BasePrefecher()(implicit p: Parameters) extends XSModule { 20289fc2f9SLinJiawei val io = IO(new PrefetcherIO()) 21289fc2f9SLinJiawei}