1package xiangshan.backend.regfile 2 3import chisel3.util.log2Up 4import xiangshan.backend.datapath.DataConfig._ 5 6abstract class PregParams { 7 val numEntries: Int 8 val numRead: Int 9 val numWrite: Int 10 val dataCfg: DataConfig 11 12 def addrWidth = log2Up(numEntries) 13} 14 15case class IntPregParams( 16 numEntries: Int, 17 numRead : Int, 18 numWrite : Int, 19) extends PregParams { 20 override val dataCfg: DataConfig = IntData() 21} 22 23case class VfPregParams( 24 numEntries: Int, 25 numRead : Int, 26 numWrite : Int, 27) extends PregParams { 28 override val dataCfg: DataConfig = VecData() 29} 30 31