1730cfbc0SXuan Hupackage xiangshan.backend.datapath 2730cfbc0SXuan Hu 3*39c59369SXuan Huimport xiangshan.backend.datapath.DataConfig.{DataConfig, IntData, NoData, VecData} 4*39c59369SXuan Hu 5730cfbc0SXuan Huobject RdConfig { 6730cfbc0SXuan Hu sealed abstract class RdConfig() { 7730cfbc0SXuan Hu val port: Int 8730cfbc0SXuan Hu val priority: Int 9*39c59369SXuan Hu 10*39c59369SXuan Hu def getDataConfig: DataConfig 11730cfbc0SXuan Hu } 12730cfbc0SXuan Hu 13*39c59369SXuan Hu case class IntRD(port: Int = -1, priority: Int = Int.MaxValue) extends RdConfig() { 14*39c59369SXuan Hu override def getDataConfig = IntData() 15*39c59369SXuan Hu } 16730cfbc0SXuan Hu 17*39c59369SXuan Hu case class VfRD(port: Int = -1, priority: Int = Int.MaxValue) extends RdConfig() { 18*39c59369SXuan Hu override def getDataConfig = VecData() 19*39c59369SXuan Hu } 20*39c59369SXuan Hu 21*39c59369SXuan Hu case class NoRD() extends RdConfig() { 22*39c59369SXuan Hu override val port: Int = -1 23*39c59369SXuan Hu 24*39c59369SXuan Hu override val priority: Int = Int.MaxValue 25*39c59369SXuan Hu 26*39c59369SXuan Hu override def getDataConfig: DataConfig = NoData() 27*39c59369SXuan Hu } 28730cfbc0SXuan Hu} 29730cfbc0SXuan Hu 30