Remove extra vd from RvvCompressedInstruction

- We don't need this extra field, simply extract the low bits from
  `bits` when needed.

Change-Id: I5f19f3588a52f0616425cd6ed0b9e7eb9fb10b14
diff --git a/hdl/chisel/src/kelvin/rvv/RvvCore.scala b/hdl/chisel/src/kelvin/rvv/RvvCore.scala
index f9529df..75ae92a 100644
--- a/hdl/chisel/src/kelvin/rvv/RvvCore.scala
+++ b/hdl/chisel/src/kelvin/rvv/RvvCore.scala
@@ -40,7 +40,6 @@
             |    input [31:0] inst_GENI_bits_pc,
             |    input [1:0] inst_GENI_bits_opcode,
             |    input [24:0] inst_GENI_bits_bits,
-            |    input [31:0] inst_GENI_bits_vd,
             |""".stripMargin.replaceAll("GENI", i.toString)
     }
 
diff --git a/hdl/chisel/src/kelvin/rvv/RvvDecode.scala b/hdl/chisel/src/kelvin/rvv/RvvDecode.scala
index 092cb1a..03f1b7d 100644
--- a/hdl/chisel/src/kelvin/rvv/RvvDecode.scala
+++ b/hdl/chisel/src/kelvin/rvv/RvvDecode.scala
@@ -36,7 +36,6 @@
   val pc = UInt(32.W)
   val opcode = RvvCompressedOpcode()
   val bits = UInt(25.W)
-  val vd = UInt(5.W)
 
   def funct6(): UInt = {
     bits(24, 19)
@@ -118,7 +117,6 @@
       _.bits.opcode -> new_opcode.bits,
       _.bits.pc -> pc,
       _.bits.bits -> bits,
-      _.bits.vd -> bits(4, 0),
     )
   }
 }
diff --git a/hdl/chisel/src/kelvin/scalar/Decode.scala b/hdl/chisel/src/kelvin/scalar/Decode.scala
index c2f1435..b808286 100644
--- a/hdl/chisel/src/kelvin/scalar/Decode.scala
+++ b/hdl/chisel/src/kelvin/scalar/Decode.scala
@@ -758,7 +758,7 @@
     if (p.enableRvv) {
       val rvvRdMark_valid = io.rvv.get(i).fire && d.rvv.get.bits.writesVectorRegister()
       io.rvvRdMark.get(i).valid := rvvRdMark_valid
-      io.rvvRdMark.get(i).addr := d.rvv.get.bits.vd
+      io.rvvRdMark.get(i).addr := d.rvv.get.bits.bits(4,0) // vd
     }
 
     // Register file bus address port.