blob: 553af1bed826efef87ac061d6a1b95b9a69acfa3 [file] [log] [blame]
package kelvin
import chisel3._
import chisel3.util._
case class VDecodeOp() {
// Format0
val vadd = 0
val vsub = 1
val vrsub = 2
val veq = 6
val vne = 7
val vlt = 8
val vle = 10
val vgt = 12
val vge = 14
val vabsd = 16
val vmax = 18
val vmin = 20
val vadd3 = 24
// Format1
val vand = 0
val vor = 1
val vxor = 2
val vnot = 3
val vrev = 4
val vror = 5
val vclb = 8
val vclz = 9
val vcpop = 10
val vmv = 12
val vmvp = 13
val acset = 16
val actr = 17
val adwinit = 18
// Format2
val vsll = 1
val vsra = 2
val vsrl = 3
val vsha = 8
val vshl = 9
val vsrans = 16
val vsraqs = 24
// Format3
val vmul = 0
val vmuls = 2
val vmulw = 4
val vmulh = 8
val vmulhu = 9
val vdmulh = 16
val vmacc = 20
val vmadd = 21
// Format4
val vadds = 0
val vsubs = 2
val vaddw = 4
val vsubw = 6
val vacc = 10
val vpadd = 12
val vpsub = 14
val vhadd = 16
val vhsub = 20
// Format6
val vsliden = 0
val vslidevn = 0
val vslidehn = 4
val vslidep = 8
val vslidevp = 8
val vslidehp = 12
val vsel = 16
val vevn = 24
val vodd = 25
val vevnodd = 26
val vzip = 28
// FormatVVV
val aconv = 8
val vdwconv = 10
}