xref: /XiangShan/src/main/scala/xiangshan/mem/prefetch/BasePrefecher.scala (revision 85de5caee16205f4286fadb2d79bb8a9a7e0c868)
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}