1730cfbc0SXuan Hupackage xiangshan.backend.datapath 2730cfbc0SXuan Hu 3*3da89fc0Sxiaofeibaoimport xiangshan.backend.datapath.DataConfig._ 439c59369SXuan Hu 5730cfbc0SXuan Huobject RdConfig { 6730cfbc0SXuan Hu sealed abstract class RdConfig() { 7730cfbc0SXuan Hu val port: Int 8730cfbc0SXuan Hu val priority: Int 939c59369SXuan Hu 1039c59369SXuan Hu def getDataConfig: DataConfig 11730cfbc0SXuan Hu } 12730cfbc0SXuan Hu 1339c59369SXuan Hu case class IntRD(port: Int = -1, priority: Int = Int.MaxValue) extends RdConfig() { 1439c59369SXuan Hu override def getDataConfig = IntData() 1539c59369SXuan Hu } 16730cfbc0SXuan Hu 1760f0c5aeSxiaofeibao case class FpRD(port: Int = -1, priority: Int = Int.MaxValue) extends RdConfig() { 1860f0c5aeSxiaofeibao override def getDataConfig = FpData() 1960f0c5aeSxiaofeibao } 2060f0c5aeSxiaofeibao 2139c59369SXuan Hu case class VfRD(port: Int = -1, priority: Int = Int.MaxValue) extends RdConfig() { 2239c59369SXuan Hu override def getDataConfig = VecData() 2339c59369SXuan Hu } 2439c59369SXuan Hu 25*3da89fc0Sxiaofeibao case class V0RD(port: Int = -1, priority: Int = Int.MaxValue) extends RdConfig() { 26*3da89fc0Sxiaofeibao override def getDataConfig = V0Data() 27*3da89fc0Sxiaofeibao } 28*3da89fc0Sxiaofeibao 29*3da89fc0Sxiaofeibao case class VlRD(port: Int = -1, priority: Int = Int.MaxValue) extends RdConfig() { 30*3da89fc0Sxiaofeibao override def getDataConfig = VlData() 31*3da89fc0Sxiaofeibao } 32*3da89fc0Sxiaofeibao 3339c59369SXuan Hu case class NoRD() extends RdConfig() { 3439c59369SXuan Hu override val port: Int = -1 3539c59369SXuan Hu 3639c59369SXuan Hu override val priority: Int = Int.MaxValue 3739c59369SXuan Hu 3839c59369SXuan Hu override def getDataConfig: DataConfig = NoData() 3939c59369SXuan Hu } 40730cfbc0SXuan Hu} 41730cfbc0SXuan Hu 42