diff --git a/tests/verilator_sim/BUILD b/tests/verilator_sim/BUILD
index 65963de..e17992f 100644
--- a/tests/verilator_sim/BUILD
+++ b/tests/verilator_sim/BUILD
@@ -13,6 +13,13 @@
 # limitations under the License.
 
 cc_library(
+    name = "util",
+    hdrs = [
+        "util.h",
+    ],
+)
+
+cc_library(
     name = "sim_libs",
     hdrs = [
         "fifo.h",
@@ -47,6 +54,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         "//hdl/chisel/src/kelvin:core_cc_library",
         "@com_google_absl//absl/flags:flag",
         "@com_google_absl//absl/flags:parse",
@@ -158,6 +166,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         ":valu",
         "//hdl/chisel/src/kelvin:valu_cc_library",
     ],
@@ -210,6 +219,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         ":vencodeop",
         "//hdl/chisel/src/kelvin:vcmdq_cc_library",
     ],
@@ -236,6 +246,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         ":vencodeop",
         "//hdl/chisel/src/kelvin:vconvctrl_cc_library",
     ],
@@ -263,6 +274,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         ":vdecode",
         "//hdl/chisel/src/kelvin:vdecode_cc_library",
     ],
@@ -276,6 +288,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         ":vencodeop",
         "//hdl/chisel/src/kelvin:vldst_cc_library",
     ],
@@ -290,6 +303,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         ":vencodeop",
         "//hdl/chisel/src/kelvin:vld_cc_library",
     ],
@@ -328,6 +342,7 @@
     deps = [
         ":kelvin_if",
         ":sim_libs",
+        ":util",
         ":vencodeop",
         "//hdl/chisel/src/kelvin:vst_cc_library",
     ],
diff --git a/tests/verilator_sim/kelvin/core_tb.cc b/tests/verilator_sim/kelvin/core_tb.cc
index 73396ab..140d0d5 100644
--- a/tests/verilator_sim/kelvin/core_tb.cc
+++ b/tests/verilator_sim/kelvin/core_tb.cc
@@ -16,10 +16,12 @@
 #include "absl/flags/flag.h"
 #include "absl/flags/parse.h"
 #include "absl/flags/usage.h"
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/kelvin/core_if.h"
 #include "tests/verilator_sim/kelvin/debug_if.h"
 #include "tests/verilator_sim/kelvin/kelvin_cfg.h"
 #include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 ABSL_FLAG(int, cycles, 100000000, "Simulation cycles");
 ABSL_FLAG(bool, trace, false, "Dump VCD trace");
@@ -89,14 +91,6 @@
   sc_signal<sc_bv<5> > io_slog_addr;
   sc_signal<sc_bv<32> > io_slog_data;
   sc_signal<sc_bv<4> > io_debug_en;
-  sc_signal<sc_bv<32> > io_debug_addr0;
-  sc_signal<sc_bv<32> > io_debug_addr1;
-  sc_signal<sc_bv<32> > io_debug_addr2;
-  sc_signal<sc_bv<32> > io_debug_addr3;
-  sc_signal<sc_bv<32> > io_debug_inst0;
-  sc_signal<sc_bv<32> > io_debug_inst1;
-  sc_signal<sc_bv<32> > io_debug_inst2;
-  sc_signal<sc_bv<32> > io_debug_inst3;
   sc_signal<sc_bv<32> > io_debug_cycles;
   sc_signal<bool> io_axi0_write_addr_ready;
   sc_signal<bool> io_axi0_write_addr_valid;
@@ -141,6 +135,12 @@
   sc_signal<sc_bv<kUncId> > io_axi1_read_data_bits_id;
   sc_signal<sc_bv<kUncBits> > io_axi1_read_data_bits_data;
 
+#define IO_DEBUG(x)                       \
+  sc_signal<sc_bv<32> > io_debug_addr##x; \
+  sc_signal<sc_bv<32> > io_debug_inst##x;
+  REPEAT(IO_DEBUG, KP_instructionLanes);
+#undef IO_DEBUG
+
   io_iflush_ready = 1;
   io_dflush_ready = 1;
 
@@ -195,16 +195,14 @@
   core.io_slog_addr(io_slog_addr);
   core.io_slog_data(io_slog_data);
   core.io_debug_en(io_debug_en);
-  core.io_debug_addr_0(io_debug_addr0);
-  core.io_debug_addr_1(io_debug_addr1);
-  core.io_debug_addr_2(io_debug_addr2);
-  core.io_debug_addr_3(io_debug_addr3);
-  core.io_debug_inst_0(io_debug_inst0);
-  core.io_debug_inst_1(io_debug_inst1);
-  core.io_debug_inst_2(io_debug_inst2);
-  core.io_debug_inst_3(io_debug_inst3);
   core.io_debug_cycles(io_debug_cycles);
 
+#define BIND_DEBUG(x)                       \
+  core.io_debug_addr_##x(io_debug_addr##x); \
+  core.io_debug_inst_##x(io_debug_inst##x);
+  REPEAT(BIND_DEBUG, KP_instructionLanes);
+#undef BIND_DEBUG
+
   mif.clock(tb.clock);
   mif.reset(tb.reset);
   mif.io_ibus_valid(io_ibus_valid);
diff --git a/tests/verilator_sim/kelvin/valu_tb.cc b/tests/verilator_sim/kelvin/valu_tb.cc
index 0a4d25e..8909c57 100644
--- a/tests/verilator_sim/kelvin/valu_tb.cc
+++ b/tests/verilator_sim/kelvin/valu_tb.cc
@@ -13,68 +13,14 @@
 // limitations under the License.
 
 #include "VVAlu.h"
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/kelvin/valu.h"
 #include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 struct VAlu_tb : Sysc_tb {
   sc_in<bool> io_in_ready;
   sc_out<bool> io_in_valid;
-  sc_out<bool> io_in_bits_0_valid;
-  sc_out<bool> io_in_bits_0_bits_m;
-  sc_out<bool> io_in_bits_0_bits_vd_valid;
-  sc_out<bool> io_in_bits_0_bits_ve_valid;
-  sc_out<bool> io_in_bits_0_bits_vf_valid;
-  sc_out<bool> io_in_bits_0_bits_vg_valid;
-  sc_out<bool> io_in_bits_0_bits_vs_valid;
-  sc_out<bool> io_in_bits_0_bits_vt_valid;
-  sc_out<bool> io_in_bits_0_bits_vu_valid;
-  sc_out<bool> io_in_bits_0_bits_vx_valid;
-  sc_out<bool> io_in_bits_0_bits_vy_valid;
-  sc_out<bool> io_in_bits_0_bits_vz_valid;
-  sc_out<bool> io_in_bits_0_bits_sv_valid;
-  sc_out<bool> io_in_bits_0_bits_cmdsync;
-  sc_out<bool> io_in_bits_1_valid;
-  sc_out<bool> io_in_bits_1_bits_m;
-  sc_out<bool> io_in_bits_1_bits_vd_valid;
-  sc_out<bool> io_in_bits_1_bits_ve_valid;
-  sc_out<bool> io_in_bits_1_bits_vf_valid;
-  sc_out<bool> io_in_bits_1_bits_vg_valid;
-  sc_out<bool> io_in_bits_1_bits_vs_valid;
-  sc_out<bool> io_in_bits_1_bits_vt_valid;
-  sc_out<bool> io_in_bits_1_bits_vu_valid;
-  sc_out<bool> io_in_bits_1_bits_vx_valid;
-  sc_out<bool> io_in_bits_1_bits_vy_valid;
-  sc_out<bool> io_in_bits_1_bits_vz_valid;
-  sc_out<bool> io_in_bits_1_bits_sv_valid;
-  sc_out<bool> io_in_bits_1_bits_cmdsync;
-  sc_out<bool> io_in_bits_2_valid;
-  sc_out<bool> io_in_bits_2_bits_m;
-  sc_out<bool> io_in_bits_2_bits_vd_valid;
-  sc_out<bool> io_in_bits_2_bits_ve_valid;
-  sc_out<bool> io_in_bits_2_bits_vf_valid;
-  sc_out<bool> io_in_bits_2_bits_vg_valid;
-  sc_out<bool> io_in_bits_2_bits_vs_valid;
-  sc_out<bool> io_in_bits_2_bits_vt_valid;
-  sc_out<bool> io_in_bits_2_bits_vu_valid;
-  sc_out<bool> io_in_bits_2_bits_vx_valid;
-  sc_out<bool> io_in_bits_2_bits_vy_valid;
-  sc_out<bool> io_in_bits_2_bits_vz_valid;
-  sc_out<bool> io_in_bits_2_bits_sv_valid;
-  sc_out<bool> io_in_bits_2_bits_cmdsync;
-  sc_out<bool> io_in_bits_3_valid;
-  sc_out<bool> io_in_bits_3_bits_m;
-  sc_out<bool> io_in_bits_3_bits_vd_valid;
-  sc_out<bool> io_in_bits_3_bits_ve_valid;
-  sc_out<bool> io_in_bits_3_bits_vf_valid;
-  sc_out<bool> io_in_bits_3_bits_vg_valid;
-  sc_out<bool> io_in_bits_3_bits_vs_valid;
-  sc_out<bool> io_in_bits_3_bits_vt_valid;
-  sc_out<bool> io_in_bits_3_bits_vu_valid;
-  sc_out<bool> io_in_bits_3_bits_vx_valid;
-  sc_out<bool> io_in_bits_3_bits_vy_valid;
-  sc_out<bool> io_in_bits_3_bits_vz_valid;
-  sc_out<bool> io_in_bits_3_bits_sv_valid;
-  sc_out<bool> io_in_bits_3_bits_cmdsync;
   sc_in<bool> io_read_0_valid;
   sc_in<bool> io_read_1_valid;
   sc_in<bool> io_read_2_valid;
@@ -99,90 +45,6 @@
   sc_in<bool> io_whint_3_valid;
   sc_in<bool> io_scalar_0_valid;
   sc_in<bool> io_scalar_1_valid;
-  sc_out<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_in<sc_bv<64> > io_active;
   sc_out<sc_bv<128> > io_vrfsb;
   sc_in<sc_bv<6> > io_read_0_addr;
@@ -220,6 +82,44 @@
   sc_in<sc_bv<6> > io_whint_3_addr;
   sc_in<sc_bv<32> > io_scalar_0_data;
   sc_in<sc_bv<32> > io_scalar_1_data;
+#define IO_BITS(x)                                  \
+  sc_out<bool> io_in_bits_##x##_valid;              \
+  sc_out<bool> io_in_bits_##x##_bits_m;             \
+  sc_out<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_out<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   using Sysc_tb::Sysc_tb;
 
@@ -261,10 +161,9 @@
 
     //-------------------------------------------------------------------------
     // Inputs.
-    ProcessInputs(0);
-    ProcessInputs(1);
-    ProcessInputs(2);
-    ProcessInputs(3);
+    for (int i = 0; i < KP_instructionLanes; ++i) {
+      ProcessInputs(i);
+    }
 
 #if 0
     printf("wactive ");
@@ -275,10 +174,9 @@
 #endif
     // -------------------------------------------------------------------------
     // Outputs.
-    ProcessOutputs(0);
-    ProcessOutputs(1);
-    ProcessOutputs(2);
-    ProcessOutputs(3);
+    for (int i = 0; i < 4; ++i) {
+      ProcessOutputs(i);
+    }
 
     // -------------------------------------------------------------------------
     // Scoreboard.
@@ -295,10 +193,9 @@
 
     // Speculatively set wactive in cycle. Will be updated above in write cycle.
     uint64_t wactive = wactive_;
-    PrepareInputs(0, wactive);
-    PrepareInputs(1, wactive);
-    PrepareInputs(2, wactive);
-    PrepareInputs(3, wactive);
+    for (int i = 0; i < KP_instructionLanes; ++i) {
+      PrepareInputs(i, wactive);
+    }
 
     // -----------------------------------------------------------------------------
     // Register reads.
@@ -312,7 +209,7 @@
   }
 
  private:
-  fifo_t<valu_t> cmdq_[4];
+  fifo_t<valu_t> cmdq_[KP_instructionLanes];
 
   uint32_t regs_[64][kLanes];  // read-only
   uint32_t scalar_[kLanes];    // read-only
@@ -438,6 +335,7 @@
     if (idx == 5) READ_DATA(5);
     if (idx == 6) READ_DATA(6);
   }
+#undef READ_DATA
 
   void PrepareInputs(const int idx, uint64_t& wactive) {
     bool valid = rand_int(0, 3);
@@ -662,62 +560,57 @@
       }
     }
 
-#define IN_BITS(idx)                                  \
-  {                                                   \
-    io_in_bits_##idx##_valid = valid;                 \
-    io_in_bits_##idx##_bits_op = in.op;               \
-    io_in_bits_##idx##_bits_f2 = in.f2;               \
-    io_in_bits_##idx##_bits_sz = in.sz;               \
-    io_in_bits_##idx##_bits_m = in.m;                 \
-    io_in_bits_##idx##_bits_vd_valid = in.w[0].valid; \
-    io_in_bits_##idx##_bits_ve_valid = in.w[1].valid; \
-    io_in_bits_##idx##_bits_vf_valid = in.w[2].valid; \
-    io_in_bits_##idx##_bits_vg_valid = in.w[3].valid; \
-    io_in_bits_##idx##_bits_vs_valid = in.r[0].valid; \
-    io_in_bits_##idx##_bits_vt_valid = in.r[1].valid; \
-    io_in_bits_##idx##_bits_vu_valid = in.r[2].valid; \
-    io_in_bits_##idx##_bits_vx_valid = in.r[3].valid; \
-    io_in_bits_##idx##_bits_vy_valid = in.r[4].valid; \
-    io_in_bits_##idx##_bits_vz_valid = in.r[5].valid; \
-    io_in_bits_##idx##_bits_vd_addr = in.w[0].addr;   \
-    io_in_bits_##idx##_bits_ve_addr = in.w[1].addr;   \
-    io_in_bits_##idx##_bits_vf_addr = in.w[2].addr;   \
-    io_in_bits_##idx##_bits_vg_addr = in.w[3].addr;   \
-    io_in_bits_##idx##_bits_vs_addr = in.r[0].addr;   \
-    io_in_bits_##idx##_bits_vt_addr = in.r[1].addr;   \
-    io_in_bits_##idx##_bits_vu_addr = in.r[2].addr;   \
-    io_in_bits_##idx##_bits_vx_addr = in.r[3].addr;   \
-    io_in_bits_##idx##_bits_vy_addr = in.r[4].addr;   \
-    io_in_bits_##idx##_bits_vz_addr = in.r[5].addr;   \
-    io_in_bits_##idx##_bits_vs_tag = in.r[0].tag;     \
-    io_in_bits_##idx##_bits_vt_tag = in.r[1].tag;     \
-    io_in_bits_##idx##_bits_vu_tag = in.r[2].tag;     \
-    io_in_bits_##idx##_bits_vx_tag = in.r[3].tag;     \
-    io_in_bits_##idx##_bits_vy_tag = in.r[4].tag;     \
-    io_in_bits_##idx##_bits_vz_tag = in.r[5].tag;     \
-    io_in_bits_##idx##_bits_sv_valid = in.sv.valid;   \
-    io_in_bits_##idx##_bits_sv_addr = in.sv.addr;     \
-    io_in_bits_##idx##_bits_sv_data = in.sv.data;     \
-    io_in_bits_##idx##_bits_cmdsync = in.cmdsync;     \
+#define IN_BITS(x)                                  \
+  if (idx == x) {                                   \
+    io_in_bits_##x##_valid = valid;                 \
+    io_in_bits_##x##_bits_op = in.op;               \
+    io_in_bits_##x##_bits_f2 = in.f2;               \
+    io_in_bits_##x##_bits_sz = in.sz;               \
+    io_in_bits_##x##_bits_m = in.m;                 \
+    io_in_bits_##x##_bits_vd_valid = in.w[0].valid; \
+    io_in_bits_##x##_bits_ve_valid = in.w[1].valid; \
+    io_in_bits_##x##_bits_vf_valid = in.w[2].valid; \
+    io_in_bits_##x##_bits_vg_valid = in.w[3].valid; \
+    io_in_bits_##x##_bits_vs_valid = in.r[0].valid; \
+    io_in_bits_##x##_bits_vt_valid = in.r[1].valid; \
+    io_in_bits_##x##_bits_vu_valid = in.r[2].valid; \
+    io_in_bits_##x##_bits_vx_valid = in.r[3].valid; \
+    io_in_bits_##x##_bits_vy_valid = in.r[4].valid; \
+    io_in_bits_##x##_bits_vz_valid = in.r[5].valid; \
+    io_in_bits_##x##_bits_vd_addr = in.w[0].addr;   \
+    io_in_bits_##x##_bits_ve_addr = in.w[1].addr;   \
+    io_in_bits_##x##_bits_vf_addr = in.w[2].addr;   \
+    io_in_bits_##x##_bits_vg_addr = in.w[3].addr;   \
+    io_in_bits_##x##_bits_vs_addr = in.r[0].addr;   \
+    io_in_bits_##x##_bits_vt_addr = in.r[1].addr;   \
+    io_in_bits_##x##_bits_vu_addr = in.r[2].addr;   \
+    io_in_bits_##x##_bits_vx_addr = in.r[3].addr;   \
+    io_in_bits_##x##_bits_vy_addr = in.r[4].addr;   \
+    io_in_bits_##x##_bits_vz_addr = in.r[5].addr;   \
+    io_in_bits_##x##_bits_vs_tag = in.r[0].tag;     \
+    io_in_bits_##x##_bits_vt_tag = in.r[1].tag;     \
+    io_in_bits_##x##_bits_vu_tag = in.r[2].tag;     \
+    io_in_bits_##x##_bits_vx_tag = in.r[3].tag;     \
+    io_in_bits_##x##_bits_vy_tag = in.r[4].tag;     \
+    io_in_bits_##x##_bits_vz_tag = in.r[5].tag;     \
+    io_in_bits_##x##_bits_sv_valid = in.sv.valid;   \
+    io_in_bits_##x##_bits_sv_addr = in.sv.addr;     \
+    io_in_bits_##x##_bits_sv_data = in.sv.data;     \
+    io_in_bits_##x##_bits_cmdsync = in.cmdsync;     \
   }
-
-    if (idx == 0) IN_BITS(0);
-    if (idx == 1) IN_BITS(1);
-    if (idx == 2) IN_BITS(2);
-    if (idx == 3) IN_BITS(3);
+    REPEAT(IN_BITS, KP_instructionLanes);
   }
+#undef IN_BITS
 
+#define IDX_NOT_VALID(x) || ((idx == x) && !io_in_bits_##x##_valid)
   void ProcessInputs(const int idx) {
     // clang-format off
-    if (!(io_in_valid && io_in_ready) ||
-        (idx == 0 && !io_in_bits_0_valid) ||
-        (idx == 1 && !io_in_bits_1_valid) ||
-        (idx == 2 && !io_in_bits_2_valid) ||
-        (idx == 3 && !io_in_bits_3_valid)) {
+    if (!(io_in_valid && io_in_ready) REPEAT(IDX_NOT_VALID, KP_instructionLanes)) {
       cmdq_[idx].clear();
       return;
     }
     // clang-format on
+#undef IDX_NOT_VALID
 
     valu_t op;
     while (cmdq_[idx].read(op)) {
@@ -764,17 +657,15 @@
 
     int addr;
     uint32_t dut[kLanes];
-#define OUT_WRITE(idx)                                   \
-  {                                                      \
-    addr = io_write_##idx##_addr.read().get_word(0);     \
-    for (int i = 0; i < kLanes; ++i) {                   \
-      dut[i] = io_write_##idx##_data.read().get_word(i); \
-    }                                                    \
+#define OUT_WRITE(x)                                   \
+  if (idx == x) {                                      \
+    addr = io_write_##x##_addr.read().get_word(0);     \
+    for (int i = 0; i < kLanes; ++i) {                 \
+      dut[i] = io_write_##x##_data.read().get_word(i); \
+    }                                                  \
   }
-    if (idx == 0) OUT_WRITE(0);
-    if (idx == 1) OUT_WRITE(1);
-    if (idx == 2) OUT_WRITE(2);
-    if (idx == 3) OUT_WRITE(3);
+    REPEAT(OUT_WRITE, 4);
+#undef OUT_WRITE
 
     check(write_[addr].valid, "ProcessOutputs::io.write.valid");
     write_[addr].valid = false;
@@ -813,62 +704,6 @@
 static void VAlu_test(char* name, int loops, bool trace) {
   sc_signal<bool> io_in_ready;
   sc_signal<bool> io_in_valid;
-  sc_signal<bool> io_in_bits_0_valid;
-  sc_signal<bool> io_in_bits_0_bits_m;
-  sc_signal<bool> io_in_bits_0_bits_vd_valid;
-  sc_signal<bool> io_in_bits_0_bits_ve_valid;
-  sc_signal<bool> io_in_bits_0_bits_vf_valid;
-  sc_signal<bool> io_in_bits_0_bits_vg_valid;
-  sc_signal<bool> io_in_bits_0_bits_vs_valid;
-  sc_signal<bool> io_in_bits_0_bits_vt_valid;
-  sc_signal<bool> io_in_bits_0_bits_vu_valid;
-  sc_signal<bool> io_in_bits_0_bits_vx_valid;
-  sc_signal<bool> io_in_bits_0_bits_vy_valid;
-  sc_signal<bool> io_in_bits_0_bits_vz_valid;
-  sc_signal<bool> io_in_bits_0_bits_sv_valid;
-  sc_signal<bool> io_in_bits_0_bits_cmdsync;
-  sc_signal<bool> io_in_bits_1_valid;
-  sc_signal<bool> io_in_bits_1_bits_m;
-  sc_signal<bool> io_in_bits_1_bits_vd_valid;
-  sc_signal<bool> io_in_bits_1_bits_ve_valid;
-  sc_signal<bool> io_in_bits_1_bits_vf_valid;
-  sc_signal<bool> io_in_bits_1_bits_vg_valid;
-  sc_signal<bool> io_in_bits_1_bits_vs_valid;
-  sc_signal<bool> io_in_bits_1_bits_vt_valid;
-  sc_signal<bool> io_in_bits_1_bits_vu_valid;
-  sc_signal<bool> io_in_bits_1_bits_vx_valid;
-  sc_signal<bool> io_in_bits_1_bits_vy_valid;
-  sc_signal<bool> io_in_bits_1_bits_vz_valid;
-  sc_signal<bool> io_in_bits_1_bits_sv_valid;
-  sc_signal<bool> io_in_bits_1_bits_cmdsync;
-  sc_signal<bool> io_in_bits_2_valid;
-  sc_signal<bool> io_in_bits_2_bits_m;
-  sc_signal<bool> io_in_bits_2_bits_vd_valid;
-  sc_signal<bool> io_in_bits_2_bits_ve_valid;
-  sc_signal<bool> io_in_bits_2_bits_vf_valid;
-  sc_signal<bool> io_in_bits_2_bits_vg_valid;
-  sc_signal<bool> io_in_bits_2_bits_vs_valid;
-  sc_signal<bool> io_in_bits_2_bits_vt_valid;
-  sc_signal<bool> io_in_bits_2_bits_vu_valid;
-  sc_signal<bool> io_in_bits_2_bits_vx_valid;
-  sc_signal<bool> io_in_bits_2_bits_vy_valid;
-  sc_signal<bool> io_in_bits_2_bits_vz_valid;
-  sc_signal<bool> io_in_bits_2_bits_sv_valid;
-  sc_signal<bool> io_in_bits_2_bits_cmdsync;
-  sc_signal<bool> io_in_bits_3_valid;
-  sc_signal<bool> io_in_bits_3_bits_m;
-  sc_signal<bool> io_in_bits_3_bits_vd_valid;
-  sc_signal<bool> io_in_bits_3_bits_ve_valid;
-  sc_signal<bool> io_in_bits_3_bits_vf_valid;
-  sc_signal<bool> io_in_bits_3_bits_vg_valid;
-  sc_signal<bool> io_in_bits_3_bits_vs_valid;
-  sc_signal<bool> io_in_bits_3_bits_vt_valid;
-  sc_signal<bool> io_in_bits_3_bits_vu_valid;
-  sc_signal<bool> io_in_bits_3_bits_vx_valid;
-  sc_signal<bool> io_in_bits_3_bits_vy_valid;
-  sc_signal<bool> io_in_bits_3_bits_vz_valid;
-  sc_signal<bool> io_in_bits_3_bits_sv_valid;
-  sc_signal<bool> io_in_bits_3_bits_cmdsync;
   sc_signal<bool> io_read_0_valid;
   sc_signal<bool> io_read_1_valid;
   sc_signal<bool> io_read_2_valid;
@@ -893,90 +728,6 @@
   sc_signal<bool> io_whint_3_valid;
   sc_signal<bool> io_scalar_0_valid;
   sc_signal<bool> io_scalar_1_valid;
-  sc_signal<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_signal<sc_bv<64> > io_active;
   sc_signal<sc_bv<128> > io_vrfsb;
   sc_signal<sc_bv<6> > io_read_0_addr;
@@ -1014,6 +765,44 @@
   sc_signal<sc_bv<6> > io_whint_3_addr;
   sc_signal<sc_bv<32> > io_scalar_0_data;
   sc_signal<sc_bv<32> > io_scalar_1_data;
+#define IO_BITS(x)                                     \
+  sc_signal<bool> io_in_bits_##x##_valid;              \
+  sc_signal<bool> io_in_bits_##x##_bits_m;             \
+  sc_signal<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_signal<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   VAlu_tb tb("VAlu_tb", loops);
   VVAlu valu(name);
@@ -1026,62 +815,6 @@
   valu.reset(tb.reset);
   BIND2(tb, valu, io_in_ready);
   BIND2(tb, valu, io_in_valid);
-  BIND2(tb, valu, io_in_bits_0_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_m);
-  BIND2(tb, valu, io_in_bits_0_bits_vd_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_ve_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vf_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vg_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vs_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vt_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vu_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vx_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vy_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_vz_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_sv_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_cmdsync);
-  BIND2(tb, valu, io_in_bits_1_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_m);
-  BIND2(tb, valu, io_in_bits_1_bits_vd_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_ve_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vf_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vg_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vs_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vt_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vu_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vx_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vy_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_vz_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_sv_valid);
-  BIND2(tb, valu, io_in_bits_1_bits_cmdsync);
-  BIND2(tb, valu, io_in_bits_2_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_m);
-  BIND2(tb, valu, io_in_bits_2_bits_vd_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_ve_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vf_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vg_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vs_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vt_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vu_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vx_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vy_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_vz_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_sv_valid);
-  BIND2(tb, valu, io_in_bits_2_bits_cmdsync);
-  BIND2(tb, valu, io_in_bits_3_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_m);
-  BIND2(tb, valu, io_in_bits_3_bits_vd_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_ve_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vf_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vg_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vs_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vt_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vu_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vx_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vy_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_vz_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_sv_valid);
-  BIND2(tb, valu, io_in_bits_3_bits_cmdsync);
   BIND2(tb, valu, io_read_0_valid);
   BIND2(tb, valu, io_read_1_valid);
   BIND2(tb, valu, io_read_2_valid);
@@ -1106,90 +839,6 @@
   BIND2(tb, valu, io_whint_3_valid);
   BIND2(tb, valu, io_scalar_0_valid);
   BIND2(tb, valu, io_scalar_1_valid);
-  BIND2(tb, valu, io_in_bits_0_bits_op);
-  BIND2(tb, valu, io_in_bits_0_bits_f2);
-  BIND2(tb, valu, io_in_bits_0_bits_sz);
-  BIND2(tb, valu, io_in_bits_0_bits_vd_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_ve_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vf_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vg_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vs_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vt_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vu_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vx_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vy_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vz_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_vs_tag);
-  BIND2(tb, valu, io_in_bits_0_bits_vt_tag);
-  BIND2(tb, valu, io_in_bits_0_bits_vu_tag);
-  BIND2(tb, valu, io_in_bits_0_bits_vx_tag);
-  BIND2(tb, valu, io_in_bits_0_bits_vy_tag);
-  BIND2(tb, valu, io_in_bits_0_bits_vz_tag);
-  BIND2(tb, valu, io_in_bits_0_bits_sv_addr);
-  BIND2(tb, valu, io_in_bits_0_bits_sv_data);
-  BIND2(tb, valu, io_in_bits_1_bits_op);
-  BIND2(tb, valu, io_in_bits_1_bits_f2);
-  BIND2(tb, valu, io_in_bits_1_bits_sz);
-  BIND2(tb, valu, io_in_bits_1_bits_vd_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_ve_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vf_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vg_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vs_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vt_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vu_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vx_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vy_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vz_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_vs_tag);
-  BIND2(tb, valu, io_in_bits_1_bits_vt_tag);
-  BIND2(tb, valu, io_in_bits_1_bits_vu_tag);
-  BIND2(tb, valu, io_in_bits_1_bits_vx_tag);
-  BIND2(tb, valu, io_in_bits_1_bits_vy_tag);
-  BIND2(tb, valu, io_in_bits_1_bits_vz_tag);
-  BIND2(tb, valu, io_in_bits_1_bits_sv_addr);
-  BIND2(tb, valu, io_in_bits_1_bits_sv_data);
-  BIND2(tb, valu, io_in_bits_2_bits_op);
-  BIND2(tb, valu, io_in_bits_2_bits_f2);
-  BIND2(tb, valu, io_in_bits_2_bits_sz);
-  BIND2(tb, valu, io_in_bits_2_bits_vd_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_ve_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vf_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vg_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vs_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vt_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vu_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vx_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vy_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vz_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_vs_tag);
-  BIND2(tb, valu, io_in_bits_2_bits_vt_tag);
-  BIND2(tb, valu, io_in_bits_2_bits_vu_tag);
-  BIND2(tb, valu, io_in_bits_2_bits_vx_tag);
-  BIND2(tb, valu, io_in_bits_2_bits_vy_tag);
-  BIND2(tb, valu, io_in_bits_2_bits_vz_tag);
-  BIND2(tb, valu, io_in_bits_2_bits_sv_addr);
-  BIND2(tb, valu, io_in_bits_2_bits_sv_data);
-  BIND2(tb, valu, io_in_bits_3_bits_op);
-  BIND2(tb, valu, io_in_bits_3_bits_f2);
-  BIND2(tb, valu, io_in_bits_3_bits_sz);
-  BIND2(tb, valu, io_in_bits_3_bits_vd_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_ve_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vf_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vg_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vs_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vt_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vu_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vx_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vy_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vz_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_vs_tag);
-  BIND2(tb, valu, io_in_bits_3_bits_vt_tag);
-  BIND2(tb, valu, io_in_bits_3_bits_vu_tag);
-  BIND2(tb, valu, io_in_bits_3_bits_vx_tag);
-  BIND2(tb, valu, io_in_bits_3_bits_vy_tag);
-  BIND2(tb, valu, io_in_bits_3_bits_vz_tag);
-  BIND2(tb, valu, io_in_bits_3_bits_sv_addr);
-  BIND2(tb, valu, io_in_bits_3_bits_sv_data);
   BIND2(tb, valu, io_active);
   BIND2(tb, valu, io_vrfsb);
   BIND2(tb, valu, io_read_0_addr);
@@ -1227,6 +876,44 @@
   BIND2(tb, valu, io_whint_3_addr);
   BIND2(tb, valu, io_scalar_0_data);
   BIND2(tb, valu, io_scalar_1_data);
+#define IO_BIND(x)                                 \
+  BIND2(tb, valu, io_in_bits_##x##_valid);         \
+  BIND2(tb, valu, io_in_bits_##x##_bits_m);        \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vd_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_ve_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vf_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vg_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vs_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vt_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vu_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vx_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vy_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vz_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_sv_valid); \
+  BIND2(tb, valu, io_in_bits_##x##_bits_cmdsync);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_op);       \
+  BIND2(tb, valu, io_in_bits_##x##_bits_f2);       \
+  BIND2(tb, valu, io_in_bits_##x##_bits_sz);       \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vd_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_ve_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vf_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vg_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vs_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vt_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vu_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vx_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vy_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vz_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vs_tag);   \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vt_tag);   \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vu_tag);   \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vx_tag);   \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vy_tag);   \
+  BIND2(tb, valu, io_in_bits_##x##_bits_vz_tag);   \
+  BIND2(tb, valu, io_in_bits_##x##_bits_sv_addr);  \
+  BIND2(tb, valu, io_in_bits_##x##_bits_sv_data);
+  REPEAT(IO_BIND, KP_instructionLanes);
+#undef IO_BIND
 
   tb.start();
 }
diff --git a/tests/verilator_sim/kelvin/vcmdq_tb.cc b/tests/verilator_sim/kelvin/vcmdq_tb.cc
index aec9c50..0827e1c 100644
--- a/tests/verilator_sim/kelvin/vcmdq_tb.cc
+++ b/tests/verilator_sim/kelvin/vcmdq_tb.cc
@@ -13,156 +13,18 @@
 // limitations under the License.
 
 #include "VVCmdq.h"
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 struct VCmdq_tb : Sysc_tb {
   sc_in<bool> io_in_ready;
   sc_out<bool> io_in_valid;
-  sc_out<bool> io_in_bits_0_valid;
-  sc_out<bool> io_in_bits_0_bits_m;
-  sc_out<bool> io_in_bits_0_bits_vd_valid;
-  sc_out<bool> io_in_bits_0_bits_ve_valid;
-  sc_out<bool> io_in_bits_0_bits_vf_valid;
-  sc_out<bool> io_in_bits_0_bits_vg_valid;
-  sc_out<bool> io_in_bits_0_bits_vs_valid;
-  sc_out<bool> io_in_bits_0_bits_vt_valid;
-  sc_out<bool> io_in_bits_0_bits_vu_valid;
-  sc_out<bool> io_in_bits_0_bits_vx_valid;
-  sc_out<bool> io_in_bits_0_bits_vy_valid;
-  sc_out<bool> io_in_bits_0_bits_vz_valid;
-  sc_out<bool> io_in_bits_0_bits_sv_valid;
-  sc_out<bool> io_in_bits_0_bits_cmdsync;
-  sc_out<bool> io_in_bits_1_valid;
-  sc_out<bool> io_in_bits_1_bits_m;
-  sc_out<bool> io_in_bits_1_bits_vd_valid;
-  sc_out<bool> io_in_bits_1_bits_ve_valid;
-  sc_out<bool> io_in_bits_1_bits_vf_valid;
-  sc_out<bool> io_in_bits_1_bits_vg_valid;
-  sc_out<bool> io_in_bits_1_bits_vs_valid;
-  sc_out<bool> io_in_bits_1_bits_vt_valid;
-  sc_out<bool> io_in_bits_1_bits_vu_valid;
-  sc_out<bool> io_in_bits_1_bits_vx_valid;
-  sc_out<bool> io_in_bits_1_bits_vy_valid;
-  sc_out<bool> io_in_bits_1_bits_vz_valid;
-  sc_out<bool> io_in_bits_1_bits_sv_valid;
-  sc_out<bool> io_in_bits_1_bits_cmdsync;
-  sc_out<bool> io_in_bits_2_valid;
-  sc_out<bool> io_in_bits_2_bits_m;
-  sc_out<bool> io_in_bits_2_bits_vd_valid;
-  sc_out<bool> io_in_bits_2_bits_ve_valid;
-  sc_out<bool> io_in_bits_2_bits_vf_valid;
-  sc_out<bool> io_in_bits_2_bits_vg_valid;
-  sc_out<bool> io_in_bits_2_bits_vs_valid;
-  sc_out<bool> io_in_bits_2_bits_vt_valid;
-  sc_out<bool> io_in_bits_2_bits_vu_valid;
-  sc_out<bool> io_in_bits_2_bits_vx_valid;
-  sc_out<bool> io_in_bits_2_bits_vy_valid;
-  sc_out<bool> io_in_bits_2_bits_vz_valid;
-  sc_out<bool> io_in_bits_2_bits_sv_valid;
-  sc_out<bool> io_in_bits_2_bits_cmdsync;
-  sc_out<bool> io_in_bits_3_valid;
-  sc_out<bool> io_in_bits_3_bits_m;
-  sc_out<bool> io_in_bits_3_bits_vd_valid;
-  sc_out<bool> io_in_bits_3_bits_ve_valid;
-  sc_out<bool> io_in_bits_3_bits_vf_valid;
-  sc_out<bool> io_in_bits_3_bits_vg_valid;
-  sc_out<bool> io_in_bits_3_bits_vs_valid;
-  sc_out<bool> io_in_bits_3_bits_vt_valid;
-  sc_out<bool> io_in_bits_3_bits_vu_valid;
-  sc_out<bool> io_in_bits_3_bits_vx_valid;
-  sc_out<bool> io_in_bits_3_bits_vy_valid;
-  sc_out<bool> io_in_bits_3_bits_vz_valid;
-  sc_out<bool> io_in_bits_3_bits_sv_valid;
-  sc_out<bool> io_in_bits_3_bits_cmdsync;
   sc_out<bool> io_out_ready;
   sc_in<bool> io_out_valid;
   sc_in<bool> io_out_bits_vd_valid;
   sc_in<bool> io_out_bits_vs_valid;
   sc_in<bool> io_nempty;
-  sc_out<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_in<sc_bv<7> > io_out_bits_op;
   sc_in<sc_bv<3> > io_out_bits_sz;
   sc_in<sc_bv<6> > io_out_bits_vd_addr;
@@ -170,6 +32,44 @@
   sc_in<sc_bv<4> > io_out_bits_vs_tag;
   sc_in<sc_bv<32> > io_out_bits_data;
   sc_in<sc_bv<64> > io_active;
+#define IO_BITS(x)                                  \
+  sc_out<bool> io_in_bits_##x##_valid;              \
+  sc_out<bool> io_in_bits_##x##_bits_m;             \
+  sc_out<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_out<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   using Sysc_tb::Sysc_tb;
 
@@ -232,28 +132,27 @@
 
     io_in_valid = rand_int(0, 7) == 0;  // Try to hit both full and empty.
     io_out_ready = rand_bool();
-    IN_RAND(0);
-    IN_RAND(1);
-    IN_RAND(2);
-    IN_RAND(3);
 
-#define IN_READ(idx)                                        \
-  Input(io_in_bits_##idx##_bits_m,                          \
-        io_in_bits_##idx##_bits_op.read().get_word(0),      \
-        io_in_bits_##idx##_bits_sz.read().get_word(0),      \
-        io_in_bits_##idx##_bits_vd_valid,                   \
-        io_in_bits_##idx##_bits_vd_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_vs_valid,                   \
-        io_in_bits_##idx##_bits_vs_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_vs_tag.read().get_word(0),  \
-        io_in_bits_##idx##_bits_sv_data.read().get_word(0));
+    REPEAT(IN_RAND, KP_instructionLanes);
+#undef IN_RAND
+
+#define IN_READ(idx)                                           \
+  if (io_in_bits_##idx##_valid) {                              \
+    Input(io_in_bits_##idx##_bits_m,                           \
+          io_in_bits_##idx##_bits_op.read().get_word(0),       \
+          io_in_bits_##idx##_bits_sz.read().get_word(0),       \
+          io_in_bits_##idx##_bits_vd_valid,                    \
+          io_in_bits_##idx##_bits_vd_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_vs_valid,                    \
+          io_in_bits_##idx##_bits_vs_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_vs_tag.read().get_word(0),   \
+          io_in_bits_##idx##_bits_sv_data.read().get_word(0)); \
+  }
 
     if (io_in_valid && io_in_ready) {
-      if (io_in_bits_0_valid) IN_READ(0);
-      if (io_in_bits_1_valid) IN_READ(1);
-      if (io_in_bits_2_valid) IN_READ(2);
-      if (io_in_bits_3_valid) IN_READ(3);
+      REPEAT(IN_READ, KP_instructionLanes);
     }
+#undef IN_READ
 
     // Outputs.
     cmdq_t dut, ref;
@@ -362,151 +261,11 @@
 static void VCmdq_test(char* name, int loops, bool random, bool trace) {
   sc_signal<bool> io_in_ready;
   sc_signal<bool> io_in_valid;
-  sc_signal<bool> io_in_bits_0_valid;
-  sc_signal<bool> io_in_bits_0_bits_m;
-  sc_signal<bool> io_in_bits_0_bits_vd_valid;
-  sc_signal<bool> io_in_bits_0_bits_ve_valid;
-  sc_signal<bool> io_in_bits_0_bits_vf_valid;
-  sc_signal<bool> io_in_bits_0_bits_vg_valid;
-  sc_signal<bool> io_in_bits_0_bits_vs_valid;
-  sc_signal<bool> io_in_bits_0_bits_vt_valid;
-  sc_signal<bool> io_in_bits_0_bits_vu_valid;
-  sc_signal<bool> io_in_bits_0_bits_vx_valid;
-  sc_signal<bool> io_in_bits_0_bits_vy_valid;
-  sc_signal<bool> io_in_bits_0_bits_vz_valid;
-  sc_signal<bool> io_in_bits_0_bits_sv_valid;
-  sc_signal<bool> io_in_bits_0_bits_cmdsync;
-  sc_signal<bool> io_in_bits_1_valid;
-  sc_signal<bool> io_in_bits_1_bits_m;
-  sc_signal<bool> io_in_bits_1_bits_vd_valid;
-  sc_signal<bool> io_in_bits_1_bits_ve_valid;
-  sc_signal<bool> io_in_bits_1_bits_vf_valid;
-  sc_signal<bool> io_in_bits_1_bits_vg_valid;
-  sc_signal<bool> io_in_bits_1_bits_vs_valid;
-  sc_signal<bool> io_in_bits_1_bits_vt_valid;
-  sc_signal<bool> io_in_bits_1_bits_vu_valid;
-  sc_signal<bool> io_in_bits_1_bits_vx_valid;
-  sc_signal<bool> io_in_bits_1_bits_vy_valid;
-  sc_signal<bool> io_in_bits_1_bits_vz_valid;
-  sc_signal<bool> io_in_bits_1_bits_sv_valid;
-  sc_signal<bool> io_in_bits_1_bits_cmdsync;
-  sc_signal<bool> io_in_bits_2_valid;
-  sc_signal<bool> io_in_bits_2_bits_m;
-  sc_signal<bool> io_in_bits_2_bits_vd_valid;
-  sc_signal<bool> io_in_bits_2_bits_ve_valid;
-  sc_signal<bool> io_in_bits_2_bits_vf_valid;
-  sc_signal<bool> io_in_bits_2_bits_vg_valid;
-  sc_signal<bool> io_in_bits_2_bits_vs_valid;
-  sc_signal<bool> io_in_bits_2_bits_vt_valid;
-  sc_signal<bool> io_in_bits_2_bits_vu_valid;
-  sc_signal<bool> io_in_bits_2_bits_vx_valid;
-  sc_signal<bool> io_in_bits_2_bits_vy_valid;
-  sc_signal<bool> io_in_bits_2_bits_vz_valid;
-  sc_signal<bool> io_in_bits_2_bits_sv_valid;
-  sc_signal<bool> io_in_bits_2_bits_cmdsync;
-  sc_signal<bool> io_in_bits_3_valid;
-  sc_signal<bool> io_in_bits_3_bits_m;
-  sc_signal<bool> io_in_bits_3_bits_vd_valid;
-  sc_signal<bool> io_in_bits_3_bits_ve_valid;
-  sc_signal<bool> io_in_bits_3_bits_vf_valid;
-  sc_signal<bool> io_in_bits_3_bits_vg_valid;
-  sc_signal<bool> io_in_bits_3_bits_vs_valid;
-  sc_signal<bool> io_in_bits_3_bits_vt_valid;
-  sc_signal<bool> io_in_bits_3_bits_vu_valid;
-  sc_signal<bool> io_in_bits_3_bits_vx_valid;
-  sc_signal<bool> io_in_bits_3_bits_vy_valid;
-  sc_signal<bool> io_in_bits_3_bits_vz_valid;
-  sc_signal<bool> io_in_bits_3_bits_sv_valid;
-  sc_signal<bool> io_in_bits_3_bits_cmdsync;
   sc_signal<bool> io_out_ready;
   sc_signal<bool> io_out_valid;
   sc_signal<bool> io_out_bits_vd_valid;
   sc_signal<bool> io_out_bits_vs_valid;
   sc_signal<bool> io_nempty;
-  sc_signal<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_signal<sc_bv<7> > io_out_bits_op;
   sc_signal<sc_bv<3> > io_out_bits_sz;
   sc_signal<sc_bv<6> > io_out_bits_vd_addr;
@@ -514,6 +273,44 @@
   sc_signal<sc_bv<4> > io_out_bits_vs_tag;
   sc_signal<sc_bv<32> > io_out_bits_data;
   sc_signal<sc_bv<64> > io_active;
+#define IO_BITS(x)                                     \
+  sc_signal<bool> io_in_bits_##x##_valid;              \
+  sc_signal<bool> io_in_bits_##x##_bits_m;             \
+  sc_signal<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_signal<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   VCmdq_tb tb("VCmdq_tb", loops, random);
   VVCmdq cmdq(name);
@@ -522,151 +319,11 @@
   cmdq.reset(tb.reset);
   BIND2(tb, cmdq, io_in_ready);
   BIND2(tb, cmdq, io_in_valid);
-  BIND2(tb, cmdq, io_in_bits_0_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_m);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vd_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_ve_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vf_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vg_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vs_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vt_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vu_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vx_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vy_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vz_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_sv_valid);
-  BIND2(tb, cmdq, io_in_bits_0_bits_cmdsync);
-  BIND2(tb, cmdq, io_in_bits_1_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_m);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vd_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_ve_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vf_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vg_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vs_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vt_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vu_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vx_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vy_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vz_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_sv_valid);
-  BIND2(tb, cmdq, io_in_bits_1_bits_cmdsync);
-  BIND2(tb, cmdq, io_in_bits_2_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_m);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vd_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_ve_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vf_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vg_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vs_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vt_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vu_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vx_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vy_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vz_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_sv_valid);
-  BIND2(tb, cmdq, io_in_bits_2_bits_cmdsync);
-  BIND2(tb, cmdq, io_in_bits_3_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_m);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vd_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_ve_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vf_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vg_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vs_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vt_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vu_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vx_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vy_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vz_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_sv_valid);
-  BIND2(tb, cmdq, io_in_bits_3_bits_cmdsync);
   BIND2(tb, cmdq, io_out_ready);
   BIND2(tb, cmdq, io_out_valid);
   BIND2(tb, cmdq, io_out_bits_vd_valid);
   BIND2(tb, cmdq, io_out_bits_vs_valid);
   BIND2(tb, cmdq, io_nempty);
-  BIND2(tb, cmdq, io_in_bits_0_bits_op);
-  BIND2(tb, cmdq, io_in_bits_0_bits_f2);
-  BIND2(tb, cmdq, io_in_bits_0_bits_sz);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vd_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_ve_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vf_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vg_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vs_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vt_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vu_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vx_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vy_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vz_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vs_tag);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vt_tag);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vu_tag);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vx_tag);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vy_tag);
-  BIND2(tb, cmdq, io_in_bits_0_bits_vz_tag);
-  BIND2(tb, cmdq, io_in_bits_0_bits_sv_addr);
-  BIND2(tb, cmdq, io_in_bits_0_bits_sv_data);
-  BIND2(tb, cmdq, io_in_bits_1_bits_op);
-  BIND2(tb, cmdq, io_in_bits_1_bits_f2);
-  BIND2(tb, cmdq, io_in_bits_1_bits_sz);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vd_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_ve_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vf_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vg_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vs_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vt_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vu_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vx_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vy_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vz_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vs_tag);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vt_tag);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vu_tag);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vx_tag);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vy_tag);
-  BIND2(tb, cmdq, io_in_bits_1_bits_vz_tag);
-  BIND2(tb, cmdq, io_in_bits_1_bits_sv_addr);
-  BIND2(tb, cmdq, io_in_bits_1_bits_sv_data);
-  BIND2(tb, cmdq, io_in_bits_2_bits_op);
-  BIND2(tb, cmdq, io_in_bits_2_bits_f2);
-  BIND2(tb, cmdq, io_in_bits_2_bits_sz);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vd_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_ve_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vf_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vg_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vs_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vt_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vu_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vx_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vy_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vz_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vs_tag);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vt_tag);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vu_tag);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vx_tag);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vy_tag);
-  BIND2(tb, cmdq, io_in_bits_2_bits_vz_tag);
-  BIND2(tb, cmdq, io_in_bits_2_bits_sv_addr);
-  BIND2(tb, cmdq, io_in_bits_2_bits_sv_data);
-  BIND2(tb, cmdq, io_in_bits_3_bits_op);
-  BIND2(tb, cmdq, io_in_bits_3_bits_f2);
-  BIND2(tb, cmdq, io_in_bits_3_bits_sz);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vd_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_ve_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vf_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vg_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vs_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vt_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vu_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vx_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vy_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vz_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vs_tag);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vt_tag);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vu_tag);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vx_tag);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vy_tag);
-  BIND2(tb, cmdq, io_in_bits_3_bits_vz_tag);
-  BIND2(tb, cmdq, io_in_bits_3_bits_sv_addr);
-  BIND2(tb, cmdq, io_in_bits_3_bits_sv_data);
   BIND2(tb, cmdq, io_out_bits_op);
   BIND2(tb, cmdq, io_out_bits_sz);
   BIND2(tb, cmdq, io_out_bits_vd_addr);
@@ -674,6 +331,44 @@
   BIND2(tb, cmdq, io_out_bits_vs_tag);
   BIND2(tb, cmdq, io_out_bits_data);
   BIND2(tb, cmdq, io_active);
+#define IO_BIND(x)                                 \
+  BIND2(tb, cmdq, io_in_bits_##x##_valid);         \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_m);        \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vd_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_ve_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vf_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vg_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vs_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vt_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vu_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vx_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vy_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vz_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_sv_valid); \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_cmdsync);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_op);       \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_f2);       \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_sz);       \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vd_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_ve_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vf_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vg_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vs_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vt_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vu_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vx_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vy_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vz_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vs_tag);   \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vt_tag);   \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vu_tag);   \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vx_tag);   \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vy_tag);   \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_vz_tag);   \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_sv_addr);  \
+  BIND2(tb, cmdq, io_in_bits_##x##_bits_sv_data);
+  REPEAT(IO_BIND, KP_instructionLanes);
+#undef IO_BIND
 
   if (trace) {
     tb.trace(cmdq);
diff --git a/tests/verilator_sim/kelvin/vconvctrl_tb.cc b/tests/verilator_sim/kelvin/vconvctrl_tb.cc
index 47cfd41..d47d2a6 100644
--- a/tests/verilator_sim/kelvin/vconvctrl_tb.cc
+++ b/tests/verilator_sim/kelvin/vconvctrl_tb.cc
@@ -13,9 +13,11 @@
 // limitations under the License.
 
 #include "VVConvCtrl.h"
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/kelvin/kelvin_cfg.h"
-#include "tests/verilator_sim/sysc_tb.h"
 #include "tests/verilator_sim/kelvin/vencodeop.h"
+#include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 using encode::aconv;
 using encode::vcget;
@@ -27,62 +29,6 @@
 struct VConvCtrl_tb : Sysc_tb {
   sc_in<bool> io_in_ready;
   sc_out<bool> io_in_valid;
-  sc_out<bool> io_in_bits_0_valid;
-  sc_out<bool> io_in_bits_0_bits_m;
-  sc_out<bool> io_in_bits_0_bits_vd_valid;
-  sc_out<bool> io_in_bits_0_bits_ve_valid;
-  sc_out<bool> io_in_bits_0_bits_vf_valid;
-  sc_out<bool> io_in_bits_0_bits_vg_valid;
-  sc_out<bool> io_in_bits_0_bits_vs_valid;
-  sc_out<bool> io_in_bits_0_bits_vt_valid;
-  sc_out<bool> io_in_bits_0_bits_vu_valid;
-  sc_out<bool> io_in_bits_0_bits_vx_valid;
-  sc_out<bool> io_in_bits_0_bits_vy_valid;
-  sc_out<bool> io_in_bits_0_bits_vz_valid;
-  sc_out<bool> io_in_bits_0_bits_sv_valid;
-  sc_out<bool> io_in_bits_0_bits_cmdsync;
-  sc_out<bool> io_in_bits_1_valid;
-  sc_out<bool> io_in_bits_1_bits_m;
-  sc_out<bool> io_in_bits_1_bits_vd_valid;
-  sc_out<bool> io_in_bits_1_bits_ve_valid;
-  sc_out<bool> io_in_bits_1_bits_vf_valid;
-  sc_out<bool> io_in_bits_1_bits_vg_valid;
-  sc_out<bool> io_in_bits_1_bits_vs_valid;
-  sc_out<bool> io_in_bits_1_bits_vt_valid;
-  sc_out<bool> io_in_bits_1_bits_vu_valid;
-  sc_out<bool> io_in_bits_1_bits_vx_valid;
-  sc_out<bool> io_in_bits_1_bits_vy_valid;
-  sc_out<bool> io_in_bits_1_bits_vz_valid;
-  sc_out<bool> io_in_bits_1_bits_sv_valid;
-  sc_out<bool> io_in_bits_1_bits_cmdsync;
-  sc_out<bool> io_in_bits_2_valid;
-  sc_out<bool> io_in_bits_2_bits_m;
-  sc_out<bool> io_in_bits_2_bits_vd_valid;
-  sc_out<bool> io_in_bits_2_bits_ve_valid;
-  sc_out<bool> io_in_bits_2_bits_vf_valid;
-  sc_out<bool> io_in_bits_2_bits_vg_valid;
-  sc_out<bool> io_in_bits_2_bits_vs_valid;
-  sc_out<bool> io_in_bits_2_bits_vt_valid;
-  sc_out<bool> io_in_bits_2_bits_vu_valid;
-  sc_out<bool> io_in_bits_2_bits_vx_valid;
-  sc_out<bool> io_in_bits_2_bits_vy_valid;
-  sc_out<bool> io_in_bits_2_bits_vz_valid;
-  sc_out<bool> io_in_bits_2_bits_sv_valid;
-  sc_out<bool> io_in_bits_2_bits_cmdsync;
-  sc_out<bool> io_in_bits_3_valid;
-  sc_out<bool> io_in_bits_3_bits_m;
-  sc_out<bool> io_in_bits_3_bits_vd_valid;
-  sc_out<bool> io_in_bits_3_bits_ve_valid;
-  sc_out<bool> io_in_bits_3_bits_vf_valid;
-  sc_out<bool> io_in_bits_3_bits_vg_valid;
-  sc_out<bool> io_in_bits_3_bits_vs_valid;
-  sc_out<bool> io_in_bits_3_bits_vt_valid;
-  sc_out<bool> io_in_bits_3_bits_vu_valid;
-  sc_out<bool> io_in_bits_3_bits_vx_valid;
-  sc_out<bool> io_in_bits_3_bits_vy_valid;
-  sc_out<bool> io_in_bits_3_bits_vz_valid;
-  sc_out<bool> io_in_bits_3_bits_sv_valid;
-  sc_out<bool> io_in_bits_3_bits_cmdsync;
   sc_in<bool> io_out_valid;
   sc_in<bool> io_out_ready;
   sc_in<bool> io_out_op_conv;
@@ -93,96 +39,50 @@
   sc_in<bool> io_out_bsign;
   sc_in<sc_bv<64> > io_active;
   sc_out<sc_bv<128> > io_vrfsb;
-  sc_out<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_in<sc_bv<6> > io_out_addr1;
   sc_in<sc_bv<6> > io_out_addr2;
   sc_in<sc_bv<2> > io_out_mode;
   sc_in<sc_bv<kIndex> > io_out_index;
   sc_in<sc_bv<9> > io_out_abias;
   sc_in<sc_bv<9> > io_out_bbias;
+#define IO_BITS(x)                                  \
+  sc_out<bool> io_in_bits_##x##_valid;              \
+  sc_out<bool> io_in_bits_##x##_bits_m;             \
+  sc_out<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_out<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   using Sysc_tb::Sysc_tb;
 
@@ -237,10 +137,8 @@
 
     io_in_valid = rand_int(0, 7) == 0;  // Try to hit both full and empty.
 
-    IN_RAND(0);
-    IN_RAND(1);
-    IN_RAND(2);
-    IN_RAND(3);
+    REPEAT(IN_RAND, KP_instructionLanes);
+#undef IN_RAND
 
 #if 1
     // Scoreboard.
@@ -251,19 +149,19 @@
     io_vrfsb = vrfsb;
 #endif
 
-#define IN_READ(idx)                                        \
-  Input(io_in_bits_##idx##_bits_op.read().get_word(0),      \
-        io_in_bits_##idx##_bits_vd_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_vs_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_vu_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_sv_data.read().get_word(0));
+#define IN_READ(idx)                                           \
+  if (io_in_bits_##idx##_valid) {                              \
+    Input(io_in_bits_##idx##_bits_op.read().get_word(0),       \
+          io_in_bits_##idx##_bits_vd_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_vs_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_vu_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_sv_data.read().get_word(0)); \
+  }
 
     if (io_in_valid && io_in_ready) {
-      if (io_in_bits_0_valid) IN_READ(0);
-      if (io_in_bits_1_valid) IN_READ(1);
-      if (io_in_bits_2_valid) IN_READ(2);
-      if (io_in_bits_3_valid) IN_READ(3);
+      REPEAT(IN_READ, KP_instructionLanes);
     }
+#undef IN_READ
 
     // Outputs.
     conv_t dut, ref;
@@ -433,62 +331,6 @@
 static void VConvCtrl_test(char* name, int loops, bool trace) {
   sc_signal<bool> io_in_ready;
   sc_signal<bool> io_in_valid;
-  sc_signal<bool> io_in_bits_0_valid;
-  sc_signal<bool> io_in_bits_0_bits_m;
-  sc_signal<bool> io_in_bits_0_bits_vd_valid;
-  sc_signal<bool> io_in_bits_0_bits_ve_valid;
-  sc_signal<bool> io_in_bits_0_bits_vf_valid;
-  sc_signal<bool> io_in_bits_0_bits_vg_valid;
-  sc_signal<bool> io_in_bits_0_bits_vs_valid;
-  sc_signal<bool> io_in_bits_0_bits_vt_valid;
-  sc_signal<bool> io_in_bits_0_bits_vu_valid;
-  sc_signal<bool> io_in_bits_0_bits_vx_valid;
-  sc_signal<bool> io_in_bits_0_bits_vy_valid;
-  sc_signal<bool> io_in_bits_0_bits_vz_valid;
-  sc_signal<bool> io_in_bits_0_bits_sv_valid;
-  sc_signal<bool> io_in_bits_0_bits_cmdsync;
-  sc_signal<bool> io_in_bits_1_valid;
-  sc_signal<bool> io_in_bits_1_bits_m;
-  sc_signal<bool> io_in_bits_1_bits_vd_valid;
-  sc_signal<bool> io_in_bits_1_bits_ve_valid;
-  sc_signal<bool> io_in_bits_1_bits_vf_valid;
-  sc_signal<bool> io_in_bits_1_bits_vg_valid;
-  sc_signal<bool> io_in_bits_1_bits_vs_valid;
-  sc_signal<bool> io_in_bits_1_bits_vt_valid;
-  sc_signal<bool> io_in_bits_1_bits_vu_valid;
-  sc_signal<bool> io_in_bits_1_bits_vx_valid;
-  sc_signal<bool> io_in_bits_1_bits_vy_valid;
-  sc_signal<bool> io_in_bits_1_bits_vz_valid;
-  sc_signal<bool> io_in_bits_1_bits_sv_valid;
-  sc_signal<bool> io_in_bits_1_bits_cmdsync;
-  sc_signal<bool> io_in_bits_2_valid;
-  sc_signal<bool> io_in_bits_2_bits_m;
-  sc_signal<bool> io_in_bits_2_bits_vd_valid;
-  sc_signal<bool> io_in_bits_2_bits_ve_valid;
-  sc_signal<bool> io_in_bits_2_bits_vf_valid;
-  sc_signal<bool> io_in_bits_2_bits_vg_valid;
-  sc_signal<bool> io_in_bits_2_bits_vs_valid;
-  sc_signal<bool> io_in_bits_2_bits_vt_valid;
-  sc_signal<bool> io_in_bits_2_bits_vu_valid;
-  sc_signal<bool> io_in_bits_2_bits_vx_valid;
-  sc_signal<bool> io_in_bits_2_bits_vy_valid;
-  sc_signal<bool> io_in_bits_2_bits_vz_valid;
-  sc_signal<bool> io_in_bits_2_bits_sv_valid;
-  sc_signal<bool> io_in_bits_2_bits_cmdsync;
-  sc_signal<bool> io_in_bits_3_valid;
-  sc_signal<bool> io_in_bits_3_bits_m;
-  sc_signal<bool> io_in_bits_3_bits_vd_valid;
-  sc_signal<bool> io_in_bits_3_bits_ve_valid;
-  sc_signal<bool> io_in_bits_3_bits_vf_valid;
-  sc_signal<bool> io_in_bits_3_bits_vg_valid;
-  sc_signal<bool> io_in_bits_3_bits_vs_valid;
-  sc_signal<bool> io_in_bits_3_bits_vt_valid;
-  sc_signal<bool> io_in_bits_3_bits_vu_valid;
-  sc_signal<bool> io_in_bits_3_bits_vx_valid;
-  sc_signal<bool> io_in_bits_3_bits_vy_valid;
-  sc_signal<bool> io_in_bits_3_bits_vz_valid;
-  sc_signal<bool> io_in_bits_3_bits_sv_valid;
-  sc_signal<bool> io_in_bits_3_bits_cmdsync;
   sc_signal<bool> io_out_valid;
   sc_signal<bool> io_out_ready;
   sc_signal<bool> io_out_op_conv;
@@ -499,96 +341,50 @@
   sc_signal<bool> io_out_bsign;
   sc_signal<sc_bv<64> > io_active;
   sc_signal<sc_bv<128> > io_vrfsb;
-  sc_signal<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_signal<sc_bv<6> > io_out_addr1;
   sc_signal<sc_bv<6> > io_out_addr2;
   sc_signal<sc_bv<2> > io_out_mode;
   sc_signal<sc_bv<kIndex> > io_out_index;
   sc_signal<sc_bv<9> > io_out_abias;
   sc_signal<sc_bv<9> > io_out_bbias;
+#define IO_BITS(x)                                     \
+  sc_signal<bool> io_in_bits_##x##_valid;              \
+  sc_signal<bool> io_in_bits_##x##_bits_m;             \
+  sc_signal<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_signal<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   VConvCtrl_tb tb("VConvCtrl_tb", loops, true /*random*/);
   VVConvCtrl conv(name);
@@ -597,62 +393,6 @@
   conv.reset(tb.reset);
   BIND2(tb, conv, io_in_ready);
   BIND2(tb, conv, io_in_valid);
-  BIND2(tb, conv, io_in_bits_0_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_m);
-  BIND2(tb, conv, io_in_bits_0_bits_vd_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_ve_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vf_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vg_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vs_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vt_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vu_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vx_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vy_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_vz_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_sv_valid);
-  BIND2(tb, conv, io_in_bits_0_bits_cmdsync);
-  BIND2(tb, conv, io_in_bits_1_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_m);
-  BIND2(tb, conv, io_in_bits_1_bits_vd_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_ve_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vf_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vg_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vs_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vt_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vu_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vx_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vy_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_vz_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_sv_valid);
-  BIND2(tb, conv, io_in_bits_1_bits_cmdsync);
-  BIND2(tb, conv, io_in_bits_2_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_m);
-  BIND2(tb, conv, io_in_bits_2_bits_vd_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_ve_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vf_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vg_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vs_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vt_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vu_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vx_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vy_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_vz_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_sv_valid);
-  BIND2(tb, conv, io_in_bits_2_bits_cmdsync);
-  BIND2(tb, conv, io_in_bits_3_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_m);
-  BIND2(tb, conv, io_in_bits_3_bits_vd_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_ve_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vf_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vg_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vs_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vt_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vu_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vx_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vy_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_vz_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_sv_valid);
-  BIND2(tb, conv, io_in_bits_3_bits_cmdsync);
   BIND2(tb, conv, io_out_valid);
   BIND2(tb, conv, io_out_ready);
   BIND2(tb, conv, io_out_op_conv);
@@ -663,96 +403,50 @@
   BIND2(tb, conv, io_out_bsign);
   BIND2(tb, conv, io_active);
   BIND2(tb, conv, io_vrfsb);
-  BIND2(tb, conv, io_in_bits_0_bits_op);
-  BIND2(tb, conv, io_in_bits_0_bits_f2);
-  BIND2(tb, conv, io_in_bits_0_bits_sz);
-  BIND2(tb, conv, io_in_bits_0_bits_vd_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_ve_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vf_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vg_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vs_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vs_tag);
-  BIND2(tb, conv, io_in_bits_0_bits_vt_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vt_tag);
-  BIND2(tb, conv, io_in_bits_0_bits_vu_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vu_tag);
-  BIND2(tb, conv, io_in_bits_0_bits_vx_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vx_tag);
-  BIND2(tb, conv, io_in_bits_0_bits_vy_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vy_tag);
-  BIND2(tb, conv, io_in_bits_0_bits_vz_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_vz_tag);
-  BIND2(tb, conv, io_in_bits_0_bits_sv_addr);
-  BIND2(tb, conv, io_in_bits_0_bits_sv_data);
-  BIND2(tb, conv, io_in_bits_1_bits_op);
-  BIND2(tb, conv, io_in_bits_1_bits_f2);
-  BIND2(tb, conv, io_in_bits_1_bits_sz);
-  BIND2(tb, conv, io_in_bits_1_bits_vd_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_ve_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vf_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vg_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vs_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vs_tag);
-  BIND2(tb, conv, io_in_bits_1_bits_vt_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vt_tag);
-  BIND2(tb, conv, io_in_bits_1_bits_vu_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vu_tag);
-  BIND2(tb, conv, io_in_bits_1_bits_vx_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vx_tag);
-  BIND2(tb, conv, io_in_bits_1_bits_vy_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vy_tag);
-  BIND2(tb, conv, io_in_bits_1_bits_vz_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_vz_tag);
-  BIND2(tb, conv, io_in_bits_1_bits_sv_addr);
-  BIND2(tb, conv, io_in_bits_1_bits_sv_data);
-  BIND2(tb, conv, io_in_bits_2_bits_op);
-  BIND2(tb, conv, io_in_bits_2_bits_f2);
-  BIND2(tb, conv, io_in_bits_2_bits_sz);
-  BIND2(tb, conv, io_in_bits_2_bits_vd_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_ve_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vf_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vg_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vs_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vs_tag);
-  BIND2(tb, conv, io_in_bits_2_bits_vt_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vt_tag);
-  BIND2(tb, conv, io_in_bits_2_bits_vu_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vu_tag);
-  BIND2(tb, conv, io_in_bits_2_bits_vx_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vx_tag);
-  BIND2(tb, conv, io_in_bits_2_bits_vy_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vy_tag);
-  BIND2(tb, conv, io_in_bits_2_bits_vz_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_vz_tag);
-  BIND2(tb, conv, io_in_bits_2_bits_sv_addr);
-  BIND2(tb, conv, io_in_bits_2_bits_sv_data);
-  BIND2(tb, conv, io_in_bits_3_bits_op);
-  BIND2(tb, conv, io_in_bits_3_bits_f2);
-  BIND2(tb, conv, io_in_bits_3_bits_sz);
-  BIND2(tb, conv, io_in_bits_3_bits_vd_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_ve_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vf_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vg_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vs_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vs_tag);
-  BIND2(tb, conv, io_in_bits_3_bits_vt_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vt_tag);
-  BIND2(tb, conv, io_in_bits_3_bits_vu_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vu_tag);
-  BIND2(tb, conv, io_in_bits_3_bits_vx_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vx_tag);
-  BIND2(tb, conv, io_in_bits_3_bits_vy_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vy_tag);
-  BIND2(tb, conv, io_in_bits_3_bits_vz_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_vz_tag);
-  BIND2(tb, conv, io_in_bits_3_bits_sv_addr);
-  BIND2(tb, conv, io_in_bits_3_bits_sv_data);
   BIND2(tb, conv, io_out_addr1);
   BIND2(tb, conv, io_out_addr2);
   BIND2(tb, conv, io_out_mode);
   BIND2(tb, conv, io_out_index);
   BIND2(tb, conv, io_out_abias);
   BIND2(tb, conv, io_out_bbias);
+#define IO_BIND(x)                                 \
+  BIND2(tb, conv, io_in_bits_##x##_valid);         \
+  BIND2(tb, conv, io_in_bits_##x##_bits_m);        \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vd_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_ve_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vf_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vg_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vs_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vt_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vu_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vx_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vy_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vz_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_sv_valid); \
+  BIND2(tb, conv, io_in_bits_##x##_bits_cmdsync);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_op);       \
+  BIND2(tb, conv, io_in_bits_##x##_bits_f2);       \
+  BIND2(tb, conv, io_in_bits_##x##_bits_sz);       \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vd_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_ve_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vf_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vg_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vs_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vs_tag);   \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vt_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vt_tag);   \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vu_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vu_tag);   \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vx_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vx_tag);   \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vy_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vy_tag);   \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vz_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_vz_tag);   \
+  BIND2(tb, conv, io_in_bits_##x##_bits_sv_addr);  \
+  BIND2(tb, conv, io_in_bits_##x##_bits_sv_data);
+  REPEAT(IO_BIND, KP_instructionLanes);
+#undef IO_BIND
 
   if (trace) {
     tb.trace(conv);
diff --git a/tests/verilator_sim/kelvin/vdecode_tb.cc b/tests/verilator_sim/kelvin/vdecode_tb.cc
index 3d5c81d..1148058 100644
--- a/tests/verilator_sim/kelvin/vdecode_tb.cc
+++ b/tests/verilator_sim/kelvin/vdecode_tb.cc
@@ -13,221 +13,84 @@
 // limitations under the License.
 
 #include "VVDecode.h"
-#include "tests/verilator_sim/sysc_tb.h"
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/kelvin/vdecode.h"
+#include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 struct VDecode_tb : Sysc_tb {
   sc_in<bool> io_in_ready;
   sc_out<bool> io_in_valid;
-  sc_out<bool> io_in_bits_0_valid;
-  sc_out<bool> io_in_bits_1_valid;
-  sc_out<bool> io_in_bits_2_valid;
-  sc_out<bool> io_in_bits_3_valid;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_inst;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_addr;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_data;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_inst;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_addr;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_data;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_inst;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_addr;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_data;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_inst;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_addr;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_data;
   sc_in<bool> io_stall;
   sc_in<bool> io_undef;
   sc_in<bool> io_nempty;
-  sc_out<bool> io_out_0_ready;
-  sc_in<bool> io_out_0_valid;
-  sc_in<bool> io_out_0_bits_m;
-  sc_in<bool> io_out_0_bits_vd_valid;
-  sc_in<bool> io_out_0_bits_ve_valid;
-  sc_in<bool> io_out_0_bits_vf_valid;
-  sc_in<bool> io_out_0_bits_vg_valid;
-  sc_in<bool> io_out_0_bits_vs_valid;
-  sc_in<bool> io_out_0_bits_vt_valid;
-  sc_in<bool> io_out_0_bits_vu_valid;
-  sc_in<bool> io_out_0_bits_vx_valid;
-  sc_in<bool> io_out_0_bits_vy_valid;
-  sc_in<bool> io_out_0_bits_vz_valid;
-  sc_in<bool> io_out_0_bits_sv_valid;
-  sc_in<bool> io_cmdq_0_alu;
-  sc_in<bool> io_cmdq_0_conv;
-  sc_in<bool> io_cmdq_0_ldst;
-  sc_in<bool> io_cmdq_0_ld;
-  sc_in<bool> io_cmdq_0_st;
-  sc_in<bool> io_out_0_bits_cmdsync;
-  sc_out<bool> io_out_1_ready;
-  sc_in<bool> io_out_1_valid;
-  sc_in<bool> io_out_1_bits_m;
-  sc_in<bool> io_out_1_bits_vd_valid;
-  sc_in<bool> io_out_1_bits_ve_valid;
-  sc_in<bool> io_out_1_bits_vf_valid;
-  sc_in<bool> io_out_1_bits_vg_valid;
-  sc_in<bool> io_out_1_bits_vs_valid;
-  sc_in<bool> io_out_1_bits_vt_valid;
-  sc_in<bool> io_out_1_bits_vu_valid;
-  sc_in<bool> io_out_1_bits_vx_valid;
-  sc_in<bool> io_out_1_bits_vy_valid;
-  sc_in<bool> io_out_1_bits_vz_valid;
-  sc_in<bool> io_out_1_bits_sv_valid;
-  sc_in<bool> io_cmdq_1_alu;
-  sc_in<bool> io_cmdq_1_conv;
-  sc_in<bool> io_cmdq_1_ldst;
-  sc_in<bool> io_cmdq_1_ld;
-  sc_in<bool> io_cmdq_1_st;
-  sc_in<bool> io_out_1_bits_cmdsync;
-  sc_out<bool> io_out_2_ready;
-  sc_in<bool> io_out_2_valid;
-  sc_in<bool> io_out_2_bits_m;
-  sc_in<bool> io_out_2_bits_vd_valid;
-  sc_in<bool> io_out_2_bits_ve_valid;
-  sc_in<bool> io_out_2_bits_vf_valid;
-  sc_in<bool> io_out_2_bits_vg_valid;
-  sc_in<bool> io_out_2_bits_vs_valid;
-  sc_in<bool> io_out_2_bits_vt_valid;
-  sc_in<bool> io_out_2_bits_vu_valid;
-  sc_in<bool> io_out_2_bits_vx_valid;
-  sc_in<bool> io_out_2_bits_vy_valid;
-  sc_in<bool> io_out_2_bits_vz_valid;
-  sc_in<bool> io_out_2_bits_sv_valid;
-  sc_in<bool> io_cmdq_2_alu;
-  sc_in<bool> io_cmdq_2_conv;
-  sc_in<bool> io_cmdq_2_ldst;
-  sc_in<bool> io_cmdq_2_ld;
-  sc_in<bool> io_cmdq_2_st;
-  sc_in<bool> io_out_2_bits_cmdsync;
-  sc_out<bool> io_out_3_ready;
-  sc_in<bool> io_out_3_valid;
-  sc_in<bool> io_out_3_bits_m;
-  sc_in<bool> io_out_3_bits_vd_valid;
-  sc_in<bool> io_out_3_bits_ve_valid;
-  sc_in<bool> io_out_3_bits_vf_valid;
-  sc_in<bool> io_out_3_bits_vg_valid;
-  sc_in<bool> io_out_3_bits_vs_valid;
-  sc_in<bool> io_out_3_bits_vt_valid;
-  sc_in<bool> io_out_3_bits_vu_valid;
-  sc_in<bool> io_out_3_bits_vx_valid;
-  sc_in<bool> io_out_3_bits_vy_valid;
-  sc_in<bool> io_out_3_bits_vz_valid;
-  sc_in<bool> io_out_3_bits_sv_valid;
-  sc_in<bool> io_cmdq_3_alu;
-  sc_in<bool> io_cmdq_3_conv;
-  sc_in<bool> io_cmdq_3_ldst;
-  sc_in<bool> io_cmdq_3_ld;
-  sc_in<bool> io_cmdq_3_st;
-  sc_in<bool> io_out_3_bits_cmdsync;
-  sc_in<sc_bv<7> > io_out_0_bits_op;
-  sc_in<sc_bv<3> > io_out_0_bits_f2;
-  sc_in<sc_bv<3> > io_out_0_bits_sz;
-  sc_in<sc_bv<6> > io_out_0_bits_vd_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_ve_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vf_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vg_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vs_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vt_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vu_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vx_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vy_addr;
-  sc_in<sc_bv<6> > io_out_0_bits_vz_addr;
-  sc_in<sc_bv<4> > io_out_0_bits_vs_tag;
-  sc_in<sc_bv<4> > io_out_0_bits_vt_tag;
-  sc_in<sc_bv<4> > io_out_0_bits_vu_tag;
-  sc_in<sc_bv<4> > io_out_0_bits_vx_tag;
-  sc_in<sc_bv<4> > io_out_0_bits_vy_tag;
-  sc_in<sc_bv<4> > io_out_0_bits_vz_tag;
-  sc_in<sc_bv<32> > io_out_0_bits_sv_addr;
-  sc_in<sc_bv<32> > io_out_0_bits_sv_data;
-  sc_in<sc_bv<64> > io_actv_0_ractive;
-  sc_in<sc_bv<64> > io_actv_0_wactive;
-  sc_in<sc_bv<7> > io_out_1_bits_op;
-  sc_in<sc_bv<3> > io_out_1_bits_f2;
-  sc_in<sc_bv<3> > io_out_1_bits_sz;
-  sc_in<sc_bv<6> > io_out_1_bits_vd_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_ve_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vf_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vg_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vs_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vt_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vu_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vx_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vy_addr;
-  sc_in<sc_bv<6> > io_out_1_bits_vz_addr;
-  sc_in<sc_bv<4> > io_out_1_bits_vs_tag;
-  sc_in<sc_bv<4> > io_out_1_bits_vt_tag;
-  sc_in<sc_bv<4> > io_out_1_bits_vu_tag;
-  sc_in<sc_bv<4> > io_out_1_bits_vx_tag;
-  sc_in<sc_bv<4> > io_out_1_bits_vy_tag;
-  sc_in<sc_bv<4> > io_out_1_bits_vz_tag;
-  sc_in<sc_bv<32> > io_out_1_bits_sv_addr;
-  sc_in<sc_bv<32> > io_out_1_bits_sv_data;
-  sc_in<sc_bv<64> > io_actv_1_ractive;
-  sc_in<sc_bv<64> > io_actv_1_wactive;
-  sc_in<sc_bv<7> > io_out_2_bits_op;
-  sc_in<sc_bv<3> > io_out_2_bits_f2;
-  sc_in<sc_bv<3> > io_out_2_bits_sz;
-  sc_in<sc_bv<6> > io_out_2_bits_vd_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_ve_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vf_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vg_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vs_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vt_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vu_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vx_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vy_addr;
-  sc_in<sc_bv<6> > io_out_2_bits_vz_addr;
-  sc_in<sc_bv<4> > io_out_2_bits_vs_tag;
-  sc_in<sc_bv<4> > io_out_2_bits_vt_tag;
-  sc_in<sc_bv<4> > io_out_2_bits_vu_tag;
-  sc_in<sc_bv<4> > io_out_2_bits_vx_tag;
-  sc_in<sc_bv<4> > io_out_2_bits_vy_tag;
-  sc_in<sc_bv<4> > io_out_2_bits_vz_tag;
-  sc_in<sc_bv<32> > io_out_2_bits_sv_addr;
-  sc_in<sc_bv<32> > io_out_2_bits_sv_data;
-  sc_in<sc_bv<64> > io_actv_2_ractive;
-  sc_in<sc_bv<64> > io_actv_2_wactive;
-  sc_in<sc_bv<7> > io_out_3_bits_op;
-  sc_in<sc_bv<3> > io_out_3_bits_f2;
-  sc_in<sc_bv<3> > io_out_3_bits_sz;
-  sc_in<sc_bv<6> > io_out_3_bits_vd_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_ve_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vf_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vg_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vs_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vt_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vu_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vx_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vy_addr;
-  sc_in<sc_bv<6> > io_out_3_bits_vz_addr;
-  sc_in<sc_bv<4> > io_out_3_bits_vs_tag;
-  sc_in<sc_bv<4> > io_out_3_bits_vt_tag;
-  sc_in<sc_bv<4> > io_out_3_bits_vu_tag;
-  sc_in<sc_bv<4> > io_out_3_bits_vx_tag;
-  sc_in<sc_bv<4> > io_out_3_bits_vy_tag;
-  sc_in<sc_bv<4> > io_out_3_bits_vz_tag;
-  sc_in<sc_bv<32> > io_out_3_bits_sv_addr;
-  sc_in<sc_bv<32> > io_out_3_bits_sv_data;
-  sc_in<sc_bv<64> > io_actv_3_ractive;
-  sc_in<sc_bv<64> > io_actv_3_wactive;
   sc_in<bool> io_vrfsb_set_valid;
   sc_in<sc_bv<128> > io_vrfsb_set_bits;
   sc_out<sc_bv<128> > io_vrfsb_data;
   sc_out<sc_bv<64> > io_active;
+#define IO_BITS(x)                               \
+  sc_out<bool> io_in_bits_##x##_valid;           \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_inst; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_addr; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_data; \
+  sc_out<bool> io_out_##x##_ready;               \
+  sc_in<bool> io_out_##x##_valid;                \
+  sc_in<bool> io_out_##x##_bits_m;               \
+  sc_in<bool> io_out_##x##_bits_vd_valid;        \
+  sc_in<bool> io_out_##x##_bits_ve_valid;        \
+  sc_in<bool> io_out_##x##_bits_vf_valid;        \
+  sc_in<bool> io_out_##x##_bits_vg_valid;        \
+  sc_in<bool> io_out_##x##_bits_vs_valid;        \
+  sc_in<bool> io_out_##x##_bits_vt_valid;        \
+  sc_in<bool> io_out_##x##_bits_vu_valid;        \
+  sc_in<bool> io_out_##x##_bits_vx_valid;        \
+  sc_in<bool> io_out_##x##_bits_vy_valid;        \
+  sc_in<bool> io_out_##x##_bits_vz_valid;        \
+  sc_in<bool> io_out_##x##_bits_sv_valid;        \
+  sc_in<bool> io_cmdq_##x##_alu;                 \
+  sc_in<bool> io_cmdq_##x##_conv;                \
+  sc_in<bool> io_cmdq_##x##_ldst;                \
+  sc_in<bool> io_cmdq_##x##_ld;                  \
+  sc_in<bool> io_cmdq_##x##_st;                  \
+  sc_in<bool> io_out_##x##_bits_cmdsync;         \
+  sc_in<sc_bv<7> > io_out_##x##_bits_op;         \
+  sc_in<sc_bv<3> > io_out_##x##_bits_f2;         \
+  sc_in<sc_bv<3> > io_out_##x##_bits_sz;         \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vd_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_ve_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vf_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vg_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vs_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vt_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vu_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vx_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vy_addr;    \
+  sc_in<sc_bv<6> > io_out_##x##_bits_vz_addr;    \
+  sc_in<sc_bv<4> > io_out_##x##_bits_vs_tag;     \
+  sc_in<sc_bv<4> > io_out_##x##_bits_vt_tag;     \
+  sc_in<sc_bv<4> > io_out_##x##_bits_vu_tag;     \
+  sc_in<sc_bv<4> > io_out_##x##_bits_vx_tag;     \
+  sc_in<sc_bv<4> > io_out_##x##_bits_vy_tag;     \
+  sc_in<sc_bv<4> > io_out_##x##_bits_vz_tag;     \
+  sc_in<sc_bv<32> > io_out_##x##_bits_sv_addr;   \
+  sc_in<sc_bv<32> > io_out_##x##_bits_sv_data;   \
+  sc_in<sc_bv<64> > io_actv_##x##_ractive;       \
+  sc_in<sc_bv<64> > io_actv_##x##_wactive;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   using Sysc_tb::Sysc_tb;
 
   void posedge() {
     // Inputs.
     io_in_valid = rand_bool();
-    io_in_bits_0_valid = rand_bool();
-    io_in_bits_1_valid = rand_bool();
-    io_in_bits_2_valid = rand_bool();
-    io_in_bits_3_valid = rand_bool();
-    io_out_0_ready = rand_bool();
-    io_out_1_ready = rand_bool();
-    io_out_2_ready = rand_bool();
-    io_out_3_ready = rand_bool();
+
+#define RAND_IO(x)                      \
+  io_in_bits_##x##_valid = rand_bool(); \
+  io_out_##x##_ready = rand_bool();
+
+    REPEAT(RAND_IO, KP_instructionLanes);
+#undef RAND_IO
 
     int n = rand_int(0, 8);
     sc_bv<64> active = 0;
@@ -243,12 +106,12 @@
     }
     io_vrfsb_data = vrfsb_data;
 
-    uint32_t inst[4];
-    uint32_t addr[4];
-    uint32_t data[4];
-    uint32_t index[4];
+    uint32_t inst[KP_instructionLanes];
+    uint32_t addr[KP_instructionLanes];
+    uint32_t data[KP_instructionLanes];
+    uint32_t index[KP_instructionLanes];
 
-    for (int i = 0; i < 4; ++i) {
+    for (int i = 0; i < KP_instructionLanes; ++i) {
       inst[i] = rand_uint32();
       addr[i] = rand_uint32();
       data[i] = rand_uint32();
@@ -268,18 +131,13 @@
       }
     }
 
-    io_in_bits_0_bits_inst = inst[0];
-    io_in_bits_1_bits_inst = inst[1];
-    io_in_bits_2_bits_inst = inst[2];
-    io_in_bits_3_bits_inst = inst[3];
-    io_in_bits_0_bits_addr = addr[0];
-    io_in_bits_1_bits_addr = addr[1];
-    io_in_bits_2_bits_addr = addr[2];
-    io_in_bits_3_bits_addr = addr[3];
-    io_in_bits_0_bits_data = data[0];
-    io_in_bits_1_bits_data = data[1];
-    io_in_bits_2_bits_data = data[2];
-    io_in_bits_3_bits_data = data[3];
+#define INST_BITS(x)                    \
+  io_in_bits_##x##_bits_inst = inst[x]; \
+  io_in_bits_##x##_bits_addr = addr[x]; \
+  io_in_bits_##x##_bits_data = data[x];
+
+    REPEAT(INST_BITS, KP_instructionLanes);
+#undef INST_BITS
 
     check(count_ >= 0, "count");
 
@@ -288,37 +146,21 @@
     check(!(io_stall && count_ <= ((depth - 8) + 4)), "io.stall");
 
     if (io_in_valid && io_in_ready) {
-      for (int i = 0; i < 4; ++i) {
+      for (int i = 0; i < KP_instructionLanes; ++i) {
         bool valid = false;
         vdecode_in_t in;
-        if (i == 0 && io_in_bits_0_valid) {
-          valid = true;
-          count_++;
-          in = {io_in_bits_0_bits_inst.read().get_word(0),
-                io_in_bits_0_bits_addr.read().get_word(0),
-                io_in_bits_0_bits_data.read().get_word(0)};
-        }
-        if (i == 1 && io_in_bits_1_valid) {
-          valid = true;
-          count_++;
-          in = {io_in_bits_1_bits_inst.read().get_word(0),
-                io_in_bits_1_bits_addr.read().get_word(0),
-                io_in_bits_1_bits_data.read().get_word(0)};
-        }
-        if (i == 2 && io_in_bits_2_valid) {
-          valid = true;
-          count_++;
-          in = {io_in_bits_2_bits_inst.read().get_word(0),
-                io_in_bits_2_bits_addr.read().get_word(0),
-                io_in_bits_2_bits_data.read().get_word(0)};
-        }
-        if (i == 3 && io_in_bits_3_valid) {
-          valid = true;
-          count_++;
-          in = {io_in_bits_3_bits_inst.read().get_word(0),
-                io_in_bits_3_bits_addr.read().get_word(0),
-                io_in_bits_3_bits_data.read().get_word(0)};
-        }
+
+#define GET_WORDS(x)                                      \
+  if (i == x && io_in_bits_##x##_valid) {                 \
+    valid = true;                                         \
+    count_++;                                             \
+    in = {io_in_bits_##x##_bits_inst.read().get_word(0),  \
+          io_in_bits_##x##_bits_addr.read().get_word(0),  \
+          io_in_bits_##x##_bits_data.read().get_word(0)}; \
+  }
+
+        REPEAT(GET_WORDS, KP_instructionLanes);
+#undef GET_WORDS
 
         if (valid) {
           vdecode_out_t out;
@@ -335,29 +177,25 @@
     }
 
     // Outputs.
-    vdecode_out_t ref[4], dut[4];
-    bool dut_active[4];
-    bool ref_read[4];
+    vdecode_out_t ref[KP_instructionLanes], dut[KP_instructionLanes];
+    bool dut_active[KP_instructionLanes];
+    bool ref_read[KP_instructionLanes];
 
-    for (int i = 0; i < 4; ++i) {
+    for (int i = 0; i < KP_instructionLanes; ++i) {
       ref_read[i] = inst_.next(ref[i], i);
     }
 
-    dut_active[0] = io_out_0_valid && io_out_0_ready;
-    dut_active[1] = io_out_1_valid && io_out_1_ready;
-    dut_active[2] = io_out_2_valid && io_out_2_ready;
-    dut_active[3] = io_out_3_valid && io_out_3_ready;
+#define DUT_ACTIVE(x)                                       \
+  dut_active[x] = io_out_##x##_valid && io_out_##x##_ready; \
+  check(!(dut_active[x] && !ref_read[x]), "instruction fifo[" STRINGIFY(x) "]");
 
-    check(!(dut_active[0] && !ref_read[0]), "instruction fifo[0]");
-    check(!(dut_active[1] && !ref_read[1]), "instruction fifo[1]");
-    check(!(dut_active[2] && !ref_read[2]), "instruction fifo[2]");
-    check(!(dut_active[3] && !ref_read[3]), "instruction fifo[3]");
+    REPEAT(DUT_ACTIVE, KP_instructionLanes);
+#undef DUT_ACTIVE
 
     // Entries are not ordered, remove in reverse order so that index correct.
-    if (dut_active[3]) inst_.remove(3);
-    if (dut_active[2]) inst_.remove(2);
-    if (dut_active[1]) inst_.remove(1);
-    if (dut_active[0]) inst_.remove(0);
+    for (int i = KP_instructionLanes - 1; i >= 0; --i) {
+      if (dut_active[i]) inst_.remove(i);
+    }
 
 #define DUT_OUT(i)                                                            \
   if (io_out_##i##_valid && io_out_##i##_ready) {                             \
@@ -418,10 +256,8 @@
     }                                                                         \
   }
 
-    DUT_OUT(0);
-    DUT_OUT(1);
-    DUT_OUT(2);
-    DUT_OUT(3);
+    REPEAT(DUT_OUT, KP_instructionLanes);
+#undef DUT_OUT
 
     // Scoreboard Set.
     bool ref_vrfsbvalid = false;
@@ -444,10 +280,8 @@
     dut_vrfsbset[1] = io_vrfsb_set_bits.read().get_word(2) |
                       (uint64_t(io_vrfsb_set_bits.read().get_word(3)) << 32);
 
-    VRFSB_OUT(0);
-    VRFSB_OUT(1);
-    VRFSB_OUT(2);
-    VRFSB_OUT(3);
+    REPEAT(VRFSB_OUT, KP_instructionLanes);
+#undef VRFSB_OUT
 
     if (ref_vrfsbvalid != dut_vrfsbvalid) {
       printf("Error:Vrfsb %d %d\n", ref_vrfsbvalid, dut_vrfsbvalid);
@@ -470,9 +304,10 @@
                        (uint64_t(io_vrfsb_data.read().get_word(3)) << 32) |
                        io_active.read().get_word(0) |
                        uint64_t(io_active.read().get_word(1)) << 32;
-    bool wdepends[4] = {false, false, false, false};
+    // bool wdepends[4] = {false, false, false, false};
+    bool wdepends[KP_instructionLanes] = {};
 
-    for (int i = 0; i < 4; ++i) {
+    for (int i = 0; i < KP_instructionLanes; ++i) {
       wdepends[i] = ref[i].wactive & wactive;
       if (ref_read[i]) {
         wactive |= ref[i].ractive;
@@ -480,26 +315,28 @@
       }
     }
 
-    check(!(io_out_0_valid && wdepends[0]), "write dependency[0]");
-    check(!(io_out_1_valid && wdepends[1]), "write dependency[1]");
-    check(!(io_out_2_valid && wdepends[2]), "write dependency[2]");
-    check(!(io_out_3_valid && wdepends[3]), "write dependency[3]");
+#define WDEPEND(x)                            \
+  check(!(io_out_##x##_valid && wdepends[x]), \
+        "write dependency[" STRINGIFY(x) "]");
+    REPEAT(WDEPEND, KP_instructionLanes);
+#undef WDEPEND
 
     // Reads must not dispatch past previous write dispatch.
     uint64_t ractive = 0;
-    bool rdepends[4] = {false, false, false, false};
+    bool rdepends[KP_instructionLanes] = {};
 
-    for (int i = 0; i < 4; ++i) {
+    for (int i = 0; i < KP_instructionLanes; ++i) {
       rdepends[i] = ref[i].ractive & ractive;
       if (ref_read[i]) {
         ractive |= ref[i].wactive;
       }
     }
 
-    check(!(io_out_0_valid && rdepends[0]), "read dependency[0]");
-    check(!(io_out_1_valid && rdepends[1]), "read dependency[1]");
-    check(!(io_out_2_valid && rdepends[2]), "read dependency[2]");
-    check(!(io_out_3_valid && rdepends[3]), "read dependency[3]");
+#define RDEPEND(x)                            \
+  check(!(io_out_##x##_valid && rdepends[x]), \
+        "read dependency[" STRINGIFY(x) "]");
+    REPEAT(RDEPEND, KP_instructionLanes);
+#undef RDEPEND
   }
 
  private:
@@ -537,201 +374,63 @@
 static void VDecode_test(char* name, int loops, bool trace) {
   sc_signal<bool> io_in_ready;
   sc_signal<bool> io_in_valid;
-  sc_signal<bool> io_in_bits_0_valid;
-  sc_signal<bool> io_in_bits_1_valid;
-  sc_signal<bool> io_in_bits_2_valid;
-  sc_signal<bool> io_in_bits_3_valid;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_inst;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_addr;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_data;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_inst;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_addr;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_data;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_inst;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_addr;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_data;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_inst;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_addr;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_data;
   sc_signal<bool> io_stall;
   sc_signal<bool> io_undef;
   sc_signal<bool> io_nempty;
-  sc_signal<bool> io_out_0_ready;
-  sc_signal<bool> io_out_0_valid;
-  sc_signal<bool> io_out_0_bits_m;
-  sc_signal<bool> io_out_0_bits_vd_valid;
-  sc_signal<bool> io_out_0_bits_ve_valid;
-  sc_signal<bool> io_out_0_bits_vf_valid;
-  sc_signal<bool> io_out_0_bits_vg_valid;
-  sc_signal<bool> io_out_0_bits_vs_valid;
-  sc_signal<bool> io_out_0_bits_vt_valid;
-  sc_signal<bool> io_out_0_bits_vu_valid;
-  sc_signal<bool> io_out_0_bits_vx_valid;
-  sc_signal<bool> io_out_0_bits_vy_valid;
-  sc_signal<bool> io_out_0_bits_vz_valid;
-  sc_signal<bool> io_out_0_bits_sv_valid;
-  sc_signal<bool> io_cmdq_0_alu;
-  sc_signal<bool> io_cmdq_0_conv;
-  sc_signal<bool> io_cmdq_0_ldst;
-  sc_signal<bool> io_cmdq_0_ld;
-  sc_signal<bool> io_cmdq_0_st;
-  sc_signal<bool> io_out_0_bits_cmdsync;
-  sc_signal<bool> io_out_1_ready;
-  sc_signal<bool> io_out_1_valid;
-  sc_signal<bool> io_out_1_bits_m;
-  sc_signal<bool> io_out_1_bits_vd_valid;
-  sc_signal<bool> io_out_1_bits_ve_valid;
-  sc_signal<bool> io_out_1_bits_vf_valid;
-  sc_signal<bool> io_out_1_bits_vg_valid;
-  sc_signal<bool> io_out_1_bits_vs_valid;
-  sc_signal<bool> io_out_1_bits_vt_valid;
-  sc_signal<bool> io_out_1_bits_vu_valid;
-  sc_signal<bool> io_out_1_bits_vx_valid;
-  sc_signal<bool> io_out_1_bits_vy_valid;
-  sc_signal<bool> io_out_1_bits_vz_valid;
-  sc_signal<bool> io_out_1_bits_sv_valid;
-  sc_signal<bool> io_cmdq_1_alu;
-  sc_signal<bool> io_cmdq_1_conv;
-  sc_signal<bool> io_cmdq_1_ldst;
-  sc_signal<bool> io_cmdq_1_ld;
-  sc_signal<bool> io_cmdq_1_st;
-  sc_signal<bool> io_out_1_bits_cmdsync;
-  sc_signal<bool> io_out_2_ready;
-  sc_signal<bool> io_out_2_valid;
-  sc_signal<bool> io_out_2_bits_m;
-  sc_signal<bool> io_out_2_bits_vd_valid;
-  sc_signal<bool> io_out_2_bits_ve_valid;
-  sc_signal<bool> io_out_2_bits_vf_valid;
-  sc_signal<bool> io_out_2_bits_vg_valid;
-  sc_signal<bool> io_out_2_bits_vs_valid;
-  sc_signal<bool> io_out_2_bits_vt_valid;
-  sc_signal<bool> io_out_2_bits_vu_valid;
-  sc_signal<bool> io_out_2_bits_vx_valid;
-  sc_signal<bool> io_out_2_bits_vy_valid;
-  sc_signal<bool> io_out_2_bits_vz_valid;
-  sc_signal<bool> io_out_2_bits_sv_valid;
-  sc_signal<bool> io_cmdq_2_alu;
-  sc_signal<bool> io_cmdq_2_conv;
-  sc_signal<bool> io_cmdq_2_ldst;
-  sc_signal<bool> io_cmdq_2_ld;
-  sc_signal<bool> io_cmdq_2_st;
-  sc_signal<bool> io_out_2_bits_cmdsync;
-  sc_signal<bool> io_out_3_ready;
-  sc_signal<bool> io_out_3_valid;
-  sc_signal<bool> io_out_3_bits_m;
-  sc_signal<bool> io_out_3_bits_vd_valid;
-  sc_signal<bool> io_out_3_bits_ve_valid;
-  sc_signal<bool> io_out_3_bits_vf_valid;
-  sc_signal<bool> io_out_3_bits_vg_valid;
-  sc_signal<bool> io_out_3_bits_vs_valid;
-  sc_signal<bool> io_out_3_bits_vt_valid;
-  sc_signal<bool> io_out_3_bits_vu_valid;
-  sc_signal<bool> io_out_3_bits_vx_valid;
-  sc_signal<bool> io_out_3_bits_vy_valid;
-  sc_signal<bool> io_out_3_bits_vz_valid;
-  sc_signal<bool> io_out_3_bits_sv_valid;
-  sc_signal<bool> io_cmdq_3_alu;
-  sc_signal<bool> io_cmdq_3_conv;
-  sc_signal<bool> io_cmdq_3_ldst;
-  sc_signal<bool> io_cmdq_3_ld;
-  sc_signal<bool> io_cmdq_3_st;
-  sc_signal<bool> io_out_3_bits_cmdsync;
-  sc_signal<sc_bv<7> > io_out_0_bits_op;
-  sc_signal<sc_bv<3> > io_out_0_bits_f2;
-  sc_signal<sc_bv<3> > io_out_0_bits_sz;
-  sc_signal<sc_bv<6> > io_out_0_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_out_0_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_out_0_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_out_0_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_out_0_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_out_0_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_out_0_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_out_0_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_out_0_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_out_0_bits_sv_data;
-  sc_signal<sc_bv<64> > io_actv_0_ractive;
-  sc_signal<sc_bv<64> > io_actv_0_wactive;
-  sc_signal<sc_bv<7> > io_out_1_bits_op;
-  sc_signal<sc_bv<3> > io_out_1_bits_f2;
-  sc_signal<sc_bv<3> > io_out_1_bits_sz;
-  sc_signal<sc_bv<6> > io_out_1_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_out_1_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_out_1_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_out_1_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_out_1_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_out_1_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_out_1_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_out_1_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_out_1_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_out_1_bits_sv_data;
-  sc_signal<sc_bv<64> > io_actv_1_ractive;
-  sc_signal<sc_bv<64> > io_actv_1_wactive;
-  sc_signal<sc_bv<7> > io_out_2_bits_op;
-  sc_signal<sc_bv<3> > io_out_2_bits_f2;
-  sc_signal<sc_bv<3> > io_out_2_bits_sz;
-  sc_signal<sc_bv<6> > io_out_2_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_out_2_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_out_2_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_out_2_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_out_2_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_out_2_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_out_2_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_out_2_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_out_2_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_out_2_bits_sv_data;
-  sc_signal<sc_bv<64> > io_actv_2_ractive;
-  sc_signal<sc_bv<64> > io_actv_2_wactive;
-  sc_signal<sc_bv<7> > io_out_3_bits_op;
-  sc_signal<sc_bv<3> > io_out_3_bits_f2;
-  sc_signal<sc_bv<3> > io_out_3_bits_sz;
-  sc_signal<sc_bv<6> > io_out_3_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_out_3_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_out_3_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_out_3_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_out_3_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_out_3_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_out_3_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_out_3_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_out_3_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_out_3_bits_sv_data;
-  sc_signal<sc_bv<64> > io_actv_3_ractive;
-  sc_signal<sc_bv<64> > io_actv_3_wactive;
   sc_signal<bool> io_vrfsb_set_valid;
   sc_signal<sc_bv<128> > io_vrfsb_set_bits;
   sc_signal<sc_bv<128> > io_vrfsb_data;
   sc_signal<sc_bv<64> > io_active;
+#define IO_BITS(x)                                  \
+  sc_signal<bool> io_in_bits_##x##_valid;           \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_inst; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_addr; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_data; \
+  sc_signal<bool> io_out_##x##_ready;               \
+  sc_signal<bool> io_out_##x##_valid;               \
+  sc_signal<bool> io_out_##x##_bits_m;              \
+  sc_signal<bool> io_out_##x##_bits_vd_valid;       \
+  sc_signal<bool> io_out_##x##_bits_ve_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vf_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vg_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vs_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vt_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vu_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vx_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vy_valid;       \
+  sc_signal<bool> io_out_##x##_bits_vz_valid;       \
+  sc_signal<bool> io_out_##x##_bits_sv_valid;       \
+  sc_signal<bool> io_cmdq_##x##_alu;                \
+  sc_signal<bool> io_cmdq_##x##_conv;               \
+  sc_signal<bool> io_cmdq_##x##_ldst;               \
+  sc_signal<bool> io_cmdq_##x##_ld;                 \
+  sc_signal<bool> io_cmdq_##x##_st;                 \
+  sc_signal<bool> io_out_##x##_bits_cmdsync;        \
+  sc_signal<sc_bv<7> > io_out_##x##_bits_op;        \
+  sc_signal<sc_bv<3> > io_out_##x##_bits_f2;        \
+  sc_signal<sc_bv<3> > io_out_##x##_bits_sz;        \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vd_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_ve_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vf_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vg_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vs_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vt_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vu_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vx_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vy_addr;   \
+  sc_signal<sc_bv<6> > io_out_##x##_bits_vz_addr;   \
+  sc_signal<sc_bv<4> > io_out_##x##_bits_vs_tag;    \
+  sc_signal<sc_bv<4> > io_out_##x##_bits_vt_tag;    \
+  sc_signal<sc_bv<4> > io_out_##x##_bits_vu_tag;    \
+  sc_signal<sc_bv<4> > io_out_##x##_bits_vx_tag;    \
+  sc_signal<sc_bv<4> > io_out_##x##_bits_vy_tag;    \
+  sc_signal<sc_bv<4> > io_out_##x##_bits_vz_tag;    \
+  sc_signal<sc_bv<32> > io_out_##x##_bits_sv_addr;  \
+  sc_signal<sc_bv<32> > io_out_##x##_bits_sv_data;  \
+  sc_signal<sc_bv<64> > io_actv_##x##_ractive;      \
+  sc_signal<sc_bv<64> > io_actv_##x##_wactive;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   VDecode_tb tb("VDecode_tb", loops, true);
   VVDecode d(name);
@@ -741,201 +440,63 @@
 
   BIND2(tb, d, io_in_ready);
   BIND2(tb, d, io_in_valid);
-  BIND2(tb, d, io_in_bits_0_valid);
-  BIND2(tb, d, io_in_bits_1_valid);
-  BIND2(tb, d, io_in_bits_2_valid);
-  BIND2(tb, d, io_in_bits_3_valid);
-  BIND2(tb, d, io_in_bits_0_bits_inst);
-  BIND2(tb, d, io_in_bits_0_bits_addr);
-  BIND2(tb, d, io_in_bits_0_bits_data);
-  BIND2(tb, d, io_in_bits_1_bits_inst);
-  BIND2(tb, d, io_in_bits_1_bits_addr);
-  BIND2(tb, d, io_in_bits_1_bits_data);
-  BIND2(tb, d, io_in_bits_2_bits_inst);
-  BIND2(tb, d, io_in_bits_2_bits_addr);
-  BIND2(tb, d, io_in_bits_2_bits_data);
-  BIND2(tb, d, io_in_bits_3_bits_inst);
-  BIND2(tb, d, io_in_bits_3_bits_addr);
-  BIND2(tb, d, io_in_bits_3_bits_data);
   BIND2(tb, d, io_stall);
   BIND2(tb, d, io_undef);
   BIND2(tb, d, io_nempty);
-  BIND2(tb, d, io_out_0_ready);
-  BIND2(tb, d, io_out_0_valid);
-  BIND2(tb, d, io_out_0_bits_m);
-  BIND2(tb, d, io_out_0_bits_vd_valid);
-  BIND2(tb, d, io_out_0_bits_ve_valid);
-  BIND2(tb, d, io_out_0_bits_vf_valid);
-  BIND2(tb, d, io_out_0_bits_vg_valid);
-  BIND2(tb, d, io_out_0_bits_vs_valid);
-  BIND2(tb, d, io_out_0_bits_vt_valid);
-  BIND2(tb, d, io_out_0_bits_vu_valid);
-  BIND2(tb, d, io_out_0_bits_vx_valid);
-  BIND2(tb, d, io_out_0_bits_vy_valid);
-  BIND2(tb, d, io_out_0_bits_vz_valid);
-  BIND2(tb, d, io_out_0_bits_sv_valid);
-  BIND2(tb, d, io_cmdq_0_alu);
-  BIND2(tb, d, io_cmdq_0_conv);
-  BIND2(tb, d, io_cmdq_0_ldst);
-  BIND2(tb, d, io_cmdq_0_ld);
-  BIND2(tb, d, io_cmdq_0_st);
-  BIND2(tb, d, io_out_0_bits_cmdsync);
-  BIND2(tb, d, io_out_1_ready);
-  BIND2(tb, d, io_out_1_valid);
-  BIND2(tb, d, io_out_1_bits_m);
-  BIND2(tb, d, io_out_1_bits_vd_valid);
-  BIND2(tb, d, io_out_1_bits_ve_valid);
-  BIND2(tb, d, io_out_1_bits_vf_valid);
-  BIND2(tb, d, io_out_1_bits_vg_valid);
-  BIND2(tb, d, io_out_1_bits_vs_valid);
-  BIND2(tb, d, io_out_1_bits_vt_valid);
-  BIND2(tb, d, io_out_1_bits_vu_valid);
-  BIND2(tb, d, io_out_1_bits_vx_valid);
-  BIND2(tb, d, io_out_1_bits_vy_valid);
-  BIND2(tb, d, io_out_1_bits_vz_valid);
-  BIND2(tb, d, io_out_1_bits_sv_valid);
-  BIND2(tb, d, io_cmdq_1_alu);
-  BIND2(tb, d, io_cmdq_1_conv);
-  BIND2(tb, d, io_cmdq_1_ldst);
-  BIND2(tb, d, io_cmdq_1_ld);
-  BIND2(tb, d, io_cmdq_1_st);
-  BIND2(tb, d, io_out_1_bits_cmdsync);
-  BIND2(tb, d, io_out_2_ready);
-  BIND2(tb, d, io_out_2_valid);
-  BIND2(tb, d, io_out_2_bits_m);
-  BIND2(tb, d, io_out_2_bits_vd_valid);
-  BIND2(tb, d, io_out_2_bits_ve_valid);
-  BIND2(tb, d, io_out_2_bits_vf_valid);
-  BIND2(tb, d, io_out_2_bits_vg_valid);
-  BIND2(tb, d, io_out_2_bits_vs_valid);
-  BIND2(tb, d, io_out_2_bits_vt_valid);
-  BIND2(tb, d, io_out_2_bits_vu_valid);
-  BIND2(tb, d, io_out_2_bits_vx_valid);
-  BIND2(tb, d, io_out_2_bits_vy_valid);
-  BIND2(tb, d, io_out_2_bits_vz_valid);
-  BIND2(tb, d, io_out_2_bits_sv_valid);
-  BIND2(tb, d, io_cmdq_2_alu);
-  BIND2(tb, d, io_cmdq_2_conv);
-  BIND2(tb, d, io_cmdq_2_ldst);
-  BIND2(tb, d, io_cmdq_2_ld);
-  BIND2(tb, d, io_cmdq_2_st);
-  BIND2(tb, d, io_out_2_bits_cmdsync);
-  BIND2(tb, d, io_out_3_ready);
-  BIND2(tb, d, io_out_3_valid);
-  BIND2(tb, d, io_out_3_bits_m);
-  BIND2(tb, d, io_out_3_bits_vd_valid);
-  BIND2(tb, d, io_out_3_bits_ve_valid);
-  BIND2(tb, d, io_out_3_bits_vf_valid);
-  BIND2(tb, d, io_out_3_bits_vg_valid);
-  BIND2(tb, d, io_out_3_bits_vs_valid);
-  BIND2(tb, d, io_out_3_bits_vt_valid);
-  BIND2(tb, d, io_out_3_bits_vu_valid);
-  BIND2(tb, d, io_out_3_bits_vx_valid);
-  BIND2(tb, d, io_out_3_bits_vy_valid);
-  BIND2(tb, d, io_out_3_bits_vz_valid);
-  BIND2(tb, d, io_out_3_bits_sv_valid);
-  BIND2(tb, d, io_cmdq_3_alu);
-  BIND2(tb, d, io_cmdq_3_conv);
-  BIND2(tb, d, io_cmdq_3_ldst);
-  BIND2(tb, d, io_cmdq_3_ld);
-  BIND2(tb, d, io_cmdq_3_st);
-  BIND2(tb, d, io_out_3_bits_cmdsync);
-  BIND2(tb, d, io_out_0_bits_op);
-  BIND2(tb, d, io_out_0_bits_f2);
-  BIND2(tb, d, io_out_0_bits_sz);
-  BIND2(tb, d, io_out_0_bits_vd_addr);
-  BIND2(tb, d, io_out_0_bits_ve_addr);
-  BIND2(tb, d, io_out_0_bits_vf_addr);
-  BIND2(tb, d, io_out_0_bits_vg_addr);
-  BIND2(tb, d, io_out_0_bits_vs_addr);
-  BIND2(tb, d, io_out_0_bits_vt_addr);
-  BIND2(tb, d, io_out_0_bits_vu_addr);
-  BIND2(tb, d, io_out_0_bits_vx_addr);
-  BIND2(tb, d, io_out_0_bits_vy_addr);
-  BIND2(tb, d, io_out_0_bits_vz_addr);
-  BIND2(tb, d, io_out_0_bits_vs_tag);
-  BIND2(tb, d, io_out_0_bits_vt_tag);
-  BIND2(tb, d, io_out_0_bits_vu_tag);
-  BIND2(tb, d, io_out_0_bits_vx_tag);
-  BIND2(tb, d, io_out_0_bits_vy_tag);
-  BIND2(tb, d, io_out_0_bits_vz_tag);
-  BIND2(tb, d, io_out_0_bits_sv_addr);
-  BIND2(tb, d, io_out_0_bits_sv_data);
-  BIND2(tb, d, io_actv_0_ractive);
-  BIND2(tb, d, io_actv_0_wactive);
-  BIND2(tb, d, io_out_1_bits_op);
-  BIND2(tb, d, io_out_1_bits_f2);
-  BIND2(tb, d, io_out_1_bits_sz);
-  BIND2(tb, d, io_out_1_bits_vd_addr);
-  BIND2(tb, d, io_out_1_bits_ve_addr);
-  BIND2(tb, d, io_out_1_bits_vf_addr);
-  BIND2(tb, d, io_out_1_bits_vg_addr);
-  BIND2(tb, d, io_out_1_bits_vs_addr);
-  BIND2(tb, d, io_out_1_bits_vt_addr);
-  BIND2(tb, d, io_out_1_bits_vu_addr);
-  BIND2(tb, d, io_out_1_bits_vx_addr);
-  BIND2(tb, d, io_out_1_bits_vy_addr);
-  BIND2(tb, d, io_out_1_bits_vz_addr);
-  BIND2(tb, d, io_out_1_bits_vs_tag);
-  BIND2(tb, d, io_out_1_bits_vt_tag);
-  BIND2(tb, d, io_out_1_bits_vu_tag);
-  BIND2(tb, d, io_out_1_bits_vx_tag);
-  BIND2(tb, d, io_out_1_bits_vy_tag);
-  BIND2(tb, d, io_out_1_bits_vz_tag);
-  BIND2(tb, d, io_out_1_bits_sv_addr);
-  BIND2(tb, d, io_out_1_bits_sv_data);
-  BIND2(tb, d, io_actv_1_ractive);
-  BIND2(tb, d, io_actv_1_wactive);
-  BIND2(tb, d, io_out_2_bits_op);
-  BIND2(tb, d, io_out_2_bits_f2);
-  BIND2(tb, d, io_out_2_bits_sz);
-  BIND2(tb, d, io_out_2_bits_vd_addr);
-  BIND2(tb, d, io_out_2_bits_ve_addr);
-  BIND2(tb, d, io_out_2_bits_vf_addr);
-  BIND2(tb, d, io_out_2_bits_vg_addr);
-  BIND2(tb, d, io_out_2_bits_vs_addr);
-  BIND2(tb, d, io_out_2_bits_vt_addr);
-  BIND2(tb, d, io_out_2_bits_vu_addr);
-  BIND2(tb, d, io_out_2_bits_vx_addr);
-  BIND2(tb, d, io_out_2_bits_vy_addr);
-  BIND2(tb, d, io_out_2_bits_vz_addr);
-  BIND2(tb, d, io_out_2_bits_sv_addr);
-  BIND2(tb, d, io_out_2_bits_sv_data);
-  BIND2(tb, d, io_out_2_bits_vs_tag);
-  BIND2(tb, d, io_out_2_bits_vt_tag);
-  BIND2(tb, d, io_out_2_bits_vu_tag);
-  BIND2(tb, d, io_out_2_bits_vx_tag);
-  BIND2(tb, d, io_out_2_bits_vy_tag);
-  BIND2(tb, d, io_out_2_bits_vz_tag);
-  BIND2(tb, d, io_actv_2_ractive);
-  BIND2(tb, d, io_actv_2_wactive);
-  BIND2(tb, d, io_out_3_bits_op);
-  BIND2(tb, d, io_out_3_bits_f2);
-  BIND2(tb, d, io_out_3_bits_sz);
-  BIND2(tb, d, io_out_3_bits_vd_addr);
-  BIND2(tb, d, io_out_3_bits_ve_addr);
-  BIND2(tb, d, io_out_3_bits_vf_addr);
-  BIND2(tb, d, io_out_3_bits_vg_addr);
-  BIND2(tb, d, io_out_3_bits_vs_addr);
-  BIND2(tb, d, io_out_3_bits_vt_addr);
-  BIND2(tb, d, io_out_3_bits_vu_addr);
-  BIND2(tb, d, io_out_3_bits_vx_addr);
-  BIND2(tb, d, io_out_3_bits_vy_addr);
-  BIND2(tb, d, io_out_3_bits_vz_addr);
-  BIND2(tb, d, io_out_3_bits_vs_tag);
-  BIND2(tb, d, io_out_3_bits_vt_tag);
-  BIND2(tb, d, io_out_3_bits_vu_tag);
-  BIND2(tb, d, io_out_3_bits_vx_tag);
-  BIND2(tb, d, io_out_3_bits_vy_tag);
-  BIND2(tb, d, io_out_3_bits_vz_tag);
-  BIND2(tb, d, io_out_3_bits_sv_addr);
-  BIND2(tb, d, io_out_3_bits_sv_data);
-  BIND2(tb, d, io_actv_3_ractive);
-  BIND2(tb, d, io_actv_3_wactive);
   BIND2(tb, d, io_vrfsb_set_valid);
   BIND2(tb, d, io_vrfsb_set_bits);
   BIND2(tb, d, io_vrfsb_data);
   BIND2(tb, d, io_active);
+#define IO_BIND(x)                          \
+  BIND2(tb, d, io_in_bits_##x##_valid);     \
+  BIND2(tb, d, io_in_bits_##x##_bits_inst); \
+  BIND2(tb, d, io_in_bits_##x##_bits_addr); \
+  BIND2(tb, d, io_in_bits_##x##_bits_data); \
+  BIND2(tb, d, io_out_##x##_ready);         \
+  BIND2(tb, d, io_out_##x##_valid);         \
+  BIND2(tb, d, io_out_##x##_bits_m);        \
+  BIND2(tb, d, io_out_##x##_bits_vd_valid); \
+  BIND2(tb, d, io_out_##x##_bits_ve_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vf_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vg_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vs_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vt_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vu_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vx_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vy_valid); \
+  BIND2(tb, d, io_out_##x##_bits_vz_valid); \
+  BIND2(tb, d, io_out_##x##_bits_sv_valid); \
+  BIND2(tb, d, io_cmdq_##x##_alu);          \
+  BIND2(tb, d, io_cmdq_##x##_conv);         \
+  BIND2(tb, d, io_cmdq_##x##_ldst);         \
+  BIND2(tb, d, io_cmdq_##x##_ld);           \
+  BIND2(tb, d, io_cmdq_##x##_st);           \
+  BIND2(tb, d, io_out_##x##_bits_cmdsync);  \
+  BIND2(tb, d, io_out_##x##_bits_op);       \
+  BIND2(tb, d, io_out_##x##_bits_f2);       \
+  BIND2(tb, d, io_out_##x##_bits_sz);       \
+  BIND2(tb, d, io_out_##x##_bits_vd_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_ve_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vf_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vg_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vs_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vt_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vu_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vx_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vy_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vz_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_vs_tag);   \
+  BIND2(tb, d, io_out_##x##_bits_vt_tag);   \
+  BIND2(tb, d, io_out_##x##_bits_vu_tag);   \
+  BIND2(tb, d, io_out_##x##_bits_vx_tag);   \
+  BIND2(tb, d, io_out_##x##_bits_vy_tag);   \
+  BIND2(tb, d, io_out_##x##_bits_vz_tag);   \
+  BIND2(tb, d, io_out_##x##_bits_sv_addr);  \
+  BIND2(tb, d, io_out_##x##_bits_sv_data);  \
+  BIND2(tb, d, io_actv_##x##_ractive);      \
+  BIND2(tb, d, io_actv_##x##_wactive);
+  REPEAT(IO_BIND, KP_instructionLanes);
+#undef IO_BIND
 
   if (trace) {
     tb.trace(d);
diff --git a/tests/verilator_sim/kelvin/vld_tb.cc b/tests/verilator_sim/kelvin/vld_tb.cc
index 8a65da5..53eb286 100644
--- a/tests/verilator_sim/kelvin/vld_tb.cc
+++ b/tests/verilator_sim/kelvin/vld_tb.cc
@@ -13,162 +13,23 @@
 // limitations under the License.
 
 #include "VVLd.h"
-
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/kelvin/core_if.h"
 #include "tests/verilator_sim/kelvin/vencodeop.h"
 #include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 using encode::vld;
 
 struct VLd_tb : Sysc_tb {
   sc_in<bool> io_in_ready;
   sc_out<bool> io_in_valid;
-  sc_out<bool> io_in_bits_0_valid;
-  sc_out<bool> io_in_bits_0_bits_m;
-  sc_out<bool> io_in_bits_0_bits_vd_valid;
-  sc_out<bool> io_in_bits_0_bits_ve_valid;
-  sc_out<bool> io_in_bits_0_bits_vf_valid;
-  sc_out<bool> io_in_bits_0_bits_vg_valid;
-  sc_out<bool> io_in_bits_0_bits_vs_valid;
-  sc_out<bool> io_in_bits_0_bits_vt_valid;
-  sc_out<bool> io_in_bits_0_bits_vu_valid;
-  sc_out<bool> io_in_bits_0_bits_vx_valid;
-  sc_out<bool> io_in_bits_0_bits_vy_valid;
-  sc_out<bool> io_in_bits_0_bits_vz_valid;
-  sc_out<bool> io_in_bits_0_bits_sv_valid;
-  sc_out<bool> io_in_bits_0_bits_cmdsync;
-  sc_out<bool> io_in_bits_1_valid;
-  sc_out<bool> io_in_bits_1_bits_m;
-  sc_out<bool> io_in_bits_1_bits_vd_valid;
-  sc_out<bool> io_in_bits_1_bits_ve_valid;
-  sc_out<bool> io_in_bits_1_bits_vf_valid;
-  sc_out<bool> io_in_bits_1_bits_vg_valid;
-  sc_out<bool> io_in_bits_1_bits_vs_valid;
-  sc_out<bool> io_in_bits_1_bits_vt_valid;
-  sc_out<bool> io_in_bits_1_bits_vu_valid;
-  sc_out<bool> io_in_bits_1_bits_vx_valid;
-  sc_out<bool> io_in_bits_1_bits_vy_valid;
-  sc_out<bool> io_in_bits_1_bits_vz_valid;
-  sc_out<bool> io_in_bits_1_bits_sv_valid;
-  sc_out<bool> io_in_bits_1_bits_cmdsync;
-  sc_out<bool> io_in_bits_2_valid;
-  sc_out<bool> io_in_bits_2_bits_m;
-  sc_out<bool> io_in_bits_2_bits_vd_valid;
-  sc_out<bool> io_in_bits_2_bits_ve_valid;
-  sc_out<bool> io_in_bits_2_bits_vf_valid;
-  sc_out<bool> io_in_bits_2_bits_vg_valid;
-  sc_out<bool> io_in_bits_2_bits_vs_valid;
-  sc_out<bool> io_in_bits_2_bits_vt_valid;
-  sc_out<bool> io_in_bits_2_bits_vu_valid;
-  sc_out<bool> io_in_bits_2_bits_vx_valid;
-  sc_out<bool> io_in_bits_2_bits_vy_valid;
-  sc_out<bool> io_in_bits_2_bits_vz_valid;
-  sc_out<bool> io_in_bits_2_bits_sv_valid;
-  sc_out<bool> io_in_bits_2_bits_cmdsync;
-  sc_out<bool> io_in_bits_3_valid;
-  sc_out<bool> io_in_bits_3_bits_m;
-  sc_out<bool> io_in_bits_3_bits_vd_valid;
-  sc_out<bool> io_in_bits_3_bits_ve_valid;
-  sc_out<bool> io_in_bits_3_bits_vf_valid;
-  sc_out<bool> io_in_bits_3_bits_vg_valid;
-  sc_out<bool> io_in_bits_3_bits_vs_valid;
-  sc_out<bool> io_in_bits_3_bits_vt_valid;
-  sc_out<bool> io_in_bits_3_bits_vu_valid;
-  sc_out<bool> io_in_bits_3_bits_vx_valid;
-  sc_out<bool> io_in_bits_3_bits_vy_valid;
-  sc_out<bool> io_in_bits_3_bits_vz_valid;
-  sc_out<bool> io_in_bits_3_bits_sv_valid;
-  sc_out<bool> io_in_bits_3_bits_cmdsync;
   sc_in<bool> io_write_valid;
   sc_out<bool> io_axi_addr_ready;
   sc_in<bool> io_axi_addr_valid;
   sc_in<bool> io_axi_data_ready;
   sc_out<bool> io_axi_data_valid;
   sc_in<bool> io_nempty;
-  sc_out<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_in<sc_bv<6> > io_write_addr;
   sc_in<sc_bv<kVector> > io_write_data;
   sc_in<sc_bv<32> > io_axi_addr_bits_addr;
@@ -176,6 +37,44 @@
   sc_out<sc_bv<2> > io_axi_data_bits_resp;
   sc_out<sc_bv<6> > io_axi_data_bits_id;
   sc_out<sc_bv<kVector> > io_axi_data_bits_data;
+#define IO_BITS(x)                                  \
+  sc_out<bool> io_in_bits_##x##_valid;              \
+  sc_out<bool> io_in_bits_##x##_bits_m;             \
+  sc_out<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_out<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   using Sysc_tb::Sysc_tb;
 
@@ -207,7 +106,7 @@
     io_axi_data_bits_data = rdata;
 
 #define IN_READ(idx)                                           \
-  {                                                            \
+  if (io_in_bits_##idx##_valid) {                              \
     Input(io_in_bits_##idx##_bits_m,                           \
           io_in_bits_##idx##_bits_op.read().get_word(0),       \
           io_in_bits_##idx##_bits_f2.read().get_word(0),       \
@@ -220,19 +119,9 @@
   }
 
     if (io_in_valid && io_in_ready) {
-      if (io_in_bits_0_valid) {
-        IN_READ(0);
-      }
-      if (io_in_bits_1_valid) {
-        IN_READ(1);
-      }
-      if (io_in_bits_2_valid) {
-        IN_READ(2);
-      }
-      if (io_in_bits_3_valid) {
-        IN_READ(3);
-      }
+      REPEAT(IN_READ, KP_instructionLanes)
     }
+#undef IN_READ
 
 #define IN_RAND(idx)                                      \
   {                                                       \
@@ -262,10 +151,8 @@
 
     int cmd_valid = 0;
 
-    IN_RAND(0);
-    IN_RAND(1);
-    IN_RAND(2);
-    IN_RAND(3);
+    REPEAT(IN_RAND, KP_instructionLanes);
+#undef IN_RAND
 
     io_in_valid = rand_int(0, 4) == 0 && (cmd_count_ + cmd_valid) <= 64;
 
@@ -437,152 +324,12 @@
 static void VLd_test(char* name, int loops, bool trace) {
   sc_signal<bool> io_in_ready;
   sc_signal<bool> io_in_valid;
-  sc_signal<bool> io_in_bits_0_valid;
-  sc_signal<bool> io_in_bits_0_bits_m;
-  sc_signal<bool> io_in_bits_0_bits_vd_valid;
-  sc_signal<bool> io_in_bits_0_bits_ve_valid;
-  sc_signal<bool> io_in_bits_0_bits_vf_valid;
-  sc_signal<bool> io_in_bits_0_bits_vg_valid;
-  sc_signal<bool> io_in_bits_0_bits_vs_valid;
-  sc_signal<bool> io_in_bits_0_bits_vt_valid;
-  sc_signal<bool> io_in_bits_0_bits_vu_valid;
-  sc_signal<bool> io_in_bits_0_bits_vx_valid;
-  sc_signal<bool> io_in_bits_0_bits_vy_valid;
-  sc_signal<bool> io_in_bits_0_bits_vz_valid;
-  sc_signal<bool> io_in_bits_0_bits_sv_valid;
-  sc_signal<bool> io_in_bits_0_bits_cmdsync;
-  sc_signal<bool> io_in_bits_1_valid;
-  sc_signal<bool> io_in_bits_1_bits_m;
-  sc_signal<bool> io_in_bits_1_bits_vd_valid;
-  sc_signal<bool> io_in_bits_1_bits_ve_valid;
-  sc_signal<bool> io_in_bits_1_bits_vf_valid;
-  sc_signal<bool> io_in_bits_1_bits_vg_valid;
-  sc_signal<bool> io_in_bits_1_bits_vs_valid;
-  sc_signal<bool> io_in_bits_1_bits_vt_valid;
-  sc_signal<bool> io_in_bits_1_bits_vu_valid;
-  sc_signal<bool> io_in_bits_1_bits_vx_valid;
-  sc_signal<bool> io_in_bits_1_bits_vy_valid;
-  sc_signal<bool> io_in_bits_1_bits_vz_valid;
-  sc_signal<bool> io_in_bits_1_bits_sv_valid;
-  sc_signal<bool> io_in_bits_1_bits_cmdsync;
-  sc_signal<bool> io_in_bits_2_valid;
-  sc_signal<bool> io_in_bits_2_bits_m;
-  sc_signal<bool> io_in_bits_2_bits_vd_valid;
-  sc_signal<bool> io_in_bits_2_bits_ve_valid;
-  sc_signal<bool> io_in_bits_2_bits_vf_valid;
-  sc_signal<bool> io_in_bits_2_bits_vg_valid;
-  sc_signal<bool> io_in_bits_2_bits_vs_valid;
-  sc_signal<bool> io_in_bits_2_bits_vt_valid;
-  sc_signal<bool> io_in_bits_2_bits_vu_valid;
-  sc_signal<bool> io_in_bits_2_bits_vx_valid;
-  sc_signal<bool> io_in_bits_2_bits_vy_valid;
-  sc_signal<bool> io_in_bits_2_bits_vz_valid;
-  sc_signal<bool> io_in_bits_2_bits_sv_valid;
-  sc_signal<bool> io_in_bits_2_bits_cmdsync;
-  sc_signal<bool> io_in_bits_3_valid;
-  sc_signal<bool> io_in_bits_3_bits_m;
-  sc_signal<bool> io_in_bits_3_bits_vd_valid;
-  sc_signal<bool> io_in_bits_3_bits_ve_valid;
-  sc_signal<bool> io_in_bits_3_bits_vf_valid;
-  sc_signal<bool> io_in_bits_3_bits_vg_valid;
-  sc_signal<bool> io_in_bits_3_bits_vs_valid;
-  sc_signal<bool> io_in_bits_3_bits_vt_valid;
-  sc_signal<bool> io_in_bits_3_bits_vu_valid;
-  sc_signal<bool> io_in_bits_3_bits_vx_valid;
-  sc_signal<bool> io_in_bits_3_bits_vy_valid;
-  sc_signal<bool> io_in_bits_3_bits_vz_valid;
-  sc_signal<bool> io_in_bits_3_bits_sv_valid;
-  sc_signal<bool> io_in_bits_3_bits_cmdsync;
   sc_signal<bool> io_write_valid;
   sc_signal<bool> io_axi_addr_ready;
   sc_signal<bool> io_axi_addr_valid;
   sc_signal<bool> io_axi_data_ready;
   sc_signal<bool> io_axi_data_valid;
   sc_signal<bool> io_nempty;
-  sc_signal<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_signal<sc_bv<6> > io_write_addr;
   sc_signal<sc_bv<kVector> > io_write_data;
   sc_signal<sc_bv<32> > io_axi_addr_bits_addr;
@@ -590,6 +337,44 @@
   sc_signal<sc_bv<2> > io_axi_data_bits_resp;
   sc_signal<sc_bv<6> > io_axi_data_bits_id;
   sc_signal<sc_bv<kVector> > io_axi_data_bits_data;
+#define IO_BITS(x)                                     \
+  sc_signal<bool> io_in_bits_##x##_valid;              \
+  sc_signal<bool> io_in_bits_##x##_bits_m;             \
+  sc_signal<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_signal<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   VLd_tb tb("VLd_tb", loops, true /*random*/);
   VVLd ld(name);
@@ -598,152 +383,12 @@
   ld.reset(tb.reset);
   BIND2(tb, ld, io_in_ready);
   BIND2(tb, ld, io_in_valid);
-  BIND2(tb, ld, io_in_bits_0_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_m);
-  BIND2(tb, ld, io_in_bits_0_bits_vd_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_ve_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vf_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vg_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vs_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vt_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vu_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vx_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vy_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_vz_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_sv_valid);
-  BIND2(tb, ld, io_in_bits_0_bits_cmdsync);
-  BIND2(tb, ld, io_in_bits_1_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_m);
-  BIND2(tb, ld, io_in_bits_1_bits_vd_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_ve_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vf_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vg_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vs_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vt_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vu_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vx_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vy_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_vz_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_sv_valid);
-  BIND2(tb, ld, io_in_bits_1_bits_cmdsync);
-  BIND2(tb, ld, io_in_bits_2_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_m);
-  BIND2(tb, ld, io_in_bits_2_bits_vd_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_ve_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vf_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vg_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vs_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vt_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vu_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vx_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vy_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_vz_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_sv_valid);
-  BIND2(tb, ld, io_in_bits_2_bits_cmdsync);
-  BIND2(tb, ld, io_in_bits_3_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_m);
-  BIND2(tb, ld, io_in_bits_3_bits_vd_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_ve_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vf_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vg_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vs_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vt_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vu_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vx_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vy_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_vz_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_sv_valid);
-  BIND2(tb, ld, io_in_bits_3_bits_cmdsync);
   BIND2(tb, ld, io_write_valid);
   BIND2(tb, ld, io_axi_addr_ready);
   BIND2(tb, ld, io_axi_addr_valid);
   BIND2(tb, ld, io_axi_data_ready);
   BIND2(tb, ld, io_axi_data_valid);
   BIND2(tb, ld, io_nempty);
-  BIND2(tb, ld, io_in_bits_0_bits_op);
-  BIND2(tb, ld, io_in_bits_0_bits_f2);
-  BIND2(tb, ld, io_in_bits_0_bits_sz);
-  BIND2(tb, ld, io_in_bits_0_bits_vd_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_ve_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vf_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vg_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vs_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vs_tag);
-  BIND2(tb, ld, io_in_bits_0_bits_vt_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vt_tag);
-  BIND2(tb, ld, io_in_bits_0_bits_vu_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vu_tag);
-  BIND2(tb, ld, io_in_bits_0_bits_vx_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vx_tag);
-  BIND2(tb, ld, io_in_bits_0_bits_vy_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vy_tag);
-  BIND2(tb, ld, io_in_bits_0_bits_vz_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_vz_tag);
-  BIND2(tb, ld, io_in_bits_0_bits_sv_addr);
-  BIND2(tb, ld, io_in_bits_0_bits_sv_data);
-  BIND2(tb, ld, io_in_bits_1_bits_op);
-  BIND2(tb, ld, io_in_bits_1_bits_f2);
-  BIND2(tb, ld, io_in_bits_1_bits_sz);
-  BIND2(tb, ld, io_in_bits_1_bits_vd_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_ve_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vf_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vg_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vs_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vs_tag);
-  BIND2(tb, ld, io_in_bits_1_bits_vt_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vt_tag);
-  BIND2(tb, ld, io_in_bits_1_bits_vu_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vu_tag);
-  BIND2(tb, ld, io_in_bits_1_bits_vx_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vx_tag);
-  BIND2(tb, ld, io_in_bits_1_bits_vy_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vy_tag);
-  BIND2(tb, ld, io_in_bits_1_bits_vz_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_vz_tag);
-  BIND2(tb, ld, io_in_bits_1_bits_sv_addr);
-  BIND2(tb, ld, io_in_bits_1_bits_sv_data);
-  BIND2(tb, ld, io_in_bits_2_bits_op);
-  BIND2(tb, ld, io_in_bits_2_bits_f2);
-  BIND2(tb, ld, io_in_bits_2_bits_sz);
-  BIND2(tb, ld, io_in_bits_2_bits_vd_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_ve_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vf_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vg_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vs_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vs_tag);
-  BIND2(tb, ld, io_in_bits_2_bits_vt_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vt_tag);
-  BIND2(tb, ld, io_in_bits_2_bits_vu_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vu_tag);
-  BIND2(tb, ld, io_in_bits_2_bits_vx_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vx_tag);
-  BIND2(tb, ld, io_in_bits_2_bits_vy_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vy_tag);
-  BIND2(tb, ld, io_in_bits_2_bits_vz_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_vz_tag);
-  BIND2(tb, ld, io_in_bits_2_bits_sv_addr);
-  BIND2(tb, ld, io_in_bits_2_bits_sv_data);
-  BIND2(tb, ld, io_in_bits_3_bits_op);
-  BIND2(tb, ld, io_in_bits_3_bits_f2);
-  BIND2(tb, ld, io_in_bits_3_bits_sz);
-  BIND2(tb, ld, io_in_bits_3_bits_vd_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_ve_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vf_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vg_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vs_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vs_tag);
-  BIND2(tb, ld, io_in_bits_3_bits_vt_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vt_tag);
-  BIND2(tb, ld, io_in_bits_3_bits_vu_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vu_tag);
-  BIND2(tb, ld, io_in_bits_3_bits_vx_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vx_tag);
-  BIND2(tb, ld, io_in_bits_3_bits_vy_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vy_tag);
-  BIND2(tb, ld, io_in_bits_3_bits_vz_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_vz_tag);
-  BIND2(tb, ld, io_in_bits_3_bits_sv_addr);
-  BIND2(tb, ld, io_in_bits_3_bits_sv_data);
   BIND2(tb, ld, io_write_addr);
   BIND2(tb, ld, io_write_data);
   BIND2(tb, ld, io_axi_addr_bits_addr);
@@ -751,6 +396,44 @@
   BIND2(tb, ld, io_axi_data_bits_resp);
   BIND2(tb, ld, io_axi_data_bits_id);
   BIND2(tb, ld, io_axi_data_bits_data);
+#define IO_BIND(x)                               \
+  BIND2(tb, ld, io_in_bits_##x##_valid);         \
+  BIND2(tb, ld, io_in_bits_##x##_bits_m);        \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vd_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_ve_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vf_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vg_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vs_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vt_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vu_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vx_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vy_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vz_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_sv_valid); \
+  BIND2(tb, ld, io_in_bits_##x##_bits_cmdsync);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_op);       \
+  BIND2(tb, ld, io_in_bits_##x##_bits_f2);       \
+  BIND2(tb, ld, io_in_bits_##x##_bits_sz);       \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vd_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_ve_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vf_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vg_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vs_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vs_tag);   \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vt_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vt_tag);   \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vu_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vu_tag);   \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vx_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vx_tag);   \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vy_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vy_tag);   \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vz_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_vz_tag);   \
+  BIND2(tb, ld, io_in_bits_##x##_bits_sv_addr);  \
+  BIND2(tb, ld, io_in_bits_##x##_bits_sv_data);
+  REPEAT(IO_BIND, KP_instructionLanes);
+#undef IO_BIND
 
   if (trace) {
     tb.trace(ld);
diff --git a/tests/verilator_sim/kelvin/vldst_tb.cc b/tests/verilator_sim/kelvin/vldst_tb.cc
index 9539c6a..835bf4f 100644
--- a/tests/verilator_sim/kelvin/vldst_tb.cc
+++ b/tests/verilator_sim/kelvin/vldst_tb.cc
@@ -13,10 +13,11 @@
 // limitations under the License.
 
 #include "VVLdSt.h"
-
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/kelvin/core_if.h"
 #include "tests/verilator_sim/kelvin/vencodeop.h"
 #include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 using encode::vld;
 using encode::vst;
@@ -25,62 +26,6 @@
 struct VLdSt_tb : Sysc_tb {
   sc_in<bool> io_in_ready;
   sc_out<bool> io_in_valid;
-  sc_out<bool> io_in_bits_0_valid;
-  sc_out<bool> io_in_bits_0_bits_m;
-  sc_out<bool> io_in_bits_0_bits_vd_valid;
-  sc_out<bool> io_in_bits_0_bits_ve_valid;
-  sc_out<bool> io_in_bits_0_bits_vf_valid;
-  sc_out<bool> io_in_bits_0_bits_vg_valid;
-  sc_out<bool> io_in_bits_0_bits_vs_valid;
-  sc_out<bool> io_in_bits_0_bits_vt_valid;
-  sc_out<bool> io_in_bits_0_bits_vu_valid;
-  sc_out<bool> io_in_bits_0_bits_vx_valid;
-  sc_out<bool> io_in_bits_0_bits_vy_valid;
-  sc_out<bool> io_in_bits_0_bits_vz_valid;
-  sc_out<bool> io_in_bits_0_bits_sv_valid;
-  sc_out<bool> io_in_bits_0_bits_cmdsync;
-  sc_out<bool> io_in_bits_1_valid;
-  sc_out<bool> io_in_bits_1_bits_m;
-  sc_out<bool> io_in_bits_1_bits_vd_valid;
-  sc_out<bool> io_in_bits_1_bits_ve_valid;
-  sc_out<bool> io_in_bits_1_bits_vf_valid;
-  sc_out<bool> io_in_bits_1_bits_vg_valid;
-  sc_out<bool> io_in_bits_1_bits_vs_valid;
-  sc_out<bool> io_in_bits_1_bits_vt_valid;
-  sc_out<bool> io_in_bits_1_bits_vu_valid;
-  sc_out<bool> io_in_bits_1_bits_vx_valid;
-  sc_out<bool> io_in_bits_1_bits_vy_valid;
-  sc_out<bool> io_in_bits_1_bits_vz_valid;
-  sc_out<bool> io_in_bits_1_bits_sv_valid;
-  sc_out<bool> io_in_bits_1_bits_cmdsync;
-  sc_out<bool> io_in_bits_2_valid;
-  sc_out<bool> io_in_bits_2_bits_m;
-  sc_out<bool> io_in_bits_2_bits_vd_valid;
-  sc_out<bool> io_in_bits_2_bits_ve_valid;
-  sc_out<bool> io_in_bits_2_bits_vf_valid;
-  sc_out<bool> io_in_bits_2_bits_vg_valid;
-  sc_out<bool> io_in_bits_2_bits_vs_valid;
-  sc_out<bool> io_in_bits_2_bits_vt_valid;
-  sc_out<bool> io_in_bits_2_bits_vu_valid;
-  sc_out<bool> io_in_bits_2_bits_vx_valid;
-  sc_out<bool> io_in_bits_2_bits_vy_valid;
-  sc_out<bool> io_in_bits_2_bits_vz_valid;
-  sc_out<bool> io_in_bits_2_bits_sv_valid;
-  sc_out<bool> io_in_bits_2_bits_cmdsync;
-  sc_out<bool> io_in_bits_3_valid;
-  sc_out<bool> io_in_bits_3_bits_m;
-  sc_out<bool> io_in_bits_3_bits_vd_valid;
-  sc_out<bool> io_in_bits_3_bits_ve_valid;
-  sc_out<bool> io_in_bits_3_bits_vf_valid;
-  sc_out<bool> io_in_bits_3_bits_vg_valid;
-  sc_out<bool> io_in_bits_3_bits_vs_valid;
-  sc_out<bool> io_in_bits_3_bits_vt_valid;
-  sc_out<bool> io_in_bits_3_bits_vu_valid;
-  sc_out<bool> io_in_bits_3_bits_vx_valid;
-  sc_out<bool> io_in_bits_3_bits_vy_valid;
-  sc_out<bool> io_in_bits_3_bits_vz_valid;
-  sc_out<bool> io_in_bits_3_bits_sv_valid;
-  sc_out<bool> io_in_bits_3_bits_cmdsync;
   sc_in<bool> io_read_valid;
   sc_out<bool> io_read_ready;
   sc_in<bool> io_read_stall;
@@ -88,90 +33,6 @@
   sc_in<bool> io_dbus_valid;
   sc_out<bool> io_dbus_ready;
   sc_in<bool> io_dbus_write;
-  sc_out<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_in<sc_bv<64> > io_active;
   sc_out<sc_bv<128> > io_vrfsb;
   sc_in<sc_bv<6> > io_read_addr;
@@ -187,6 +48,44 @@
   sc_out<sc_bv<kVector> > io_dbus_rdata;
   sc_in<bool> io_last;
   sc_in<bool> io_vstoreCount;
+#define IO_BITS(x)                                  \
+  sc_out<bool> io_in_bits_##x##_valid;              \
+  sc_out<bool> io_in_bits_##x##_bits_m;             \
+  sc_out<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_out<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   using Sysc_tb::Sysc_tb;
 
@@ -233,30 +132,28 @@
   }
 
     io_in_valid = rand_bool();
-    IN_RAND(0);
-    IN_RAND(1);
-    IN_RAND(2);
-    IN_RAND(3);
+    REPEAT(IN_RAND, KP_instructionLanes);
+#undef IN_RAND
 
-#define IN_READ(idx)                                        \
-  Input(io_in_bits_##idx##_bits_m,                          \
-        io_in_bits_##idx##_bits_op.read().get_word(0),      \
-        io_in_bits_##idx##_bits_f2.read().get_word(0),      \
-        io_in_bits_##idx##_bits_sz.read().get_word(0),      \
-        io_in_bits_##idx##_bits_vd_valid,                   \
-        io_in_bits_##idx##_bits_vd_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_vs_valid,                   \
-        io_in_bits_##idx##_bits_vs_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_vs_tag.read().get_word(0),  \
-        io_in_bits_##idx##_bits_sv_addr.read().get_word(0), \
-        io_in_bits_##idx##_bits_sv_data.read().get_word(0));
+#define IN_READ(idx)                                           \
+  if (io_in_bits_##idx##_valid) {                              \
+    Input(io_in_bits_##idx##_bits_m,                           \
+          io_in_bits_##idx##_bits_op.read().get_word(0),       \
+          io_in_bits_##idx##_bits_f2.read().get_word(0),       \
+          io_in_bits_##idx##_bits_sz.read().get_word(0),       \
+          io_in_bits_##idx##_bits_vd_valid,                    \
+          io_in_bits_##idx##_bits_vd_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_vs_valid,                    \
+          io_in_bits_##idx##_bits_vs_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_vs_tag.read().get_word(0),   \
+          io_in_bits_##idx##_bits_sv_addr.read().get_word(0),  \
+          io_in_bits_##idx##_bits_sv_data.read().get_word(0)); \
+  }
 
     if (io_in_valid && io_in_ready) {
-      if (io_in_bits_0_valid) IN_READ(0);
-      if (io_in_bits_1_valid) IN_READ(1);
-      if (io_in_bits_2_valid) IN_READ(2);
-      if (io_in_bits_3_valid) IN_READ(3);
+      REPEAT(IN_READ, KP_instructionLanes);
     }
+#undef IN_READ
 
     // Outputs.
     if (io_read_valid) {
@@ -562,62 +459,6 @@
 static void VLdSt_test(char* name, int loops, bool trace) {
   sc_signal<bool> io_in_ready;
   sc_signal<bool> io_in_valid;
-  sc_signal<bool> io_in_bits_0_valid;
-  sc_signal<bool> io_in_bits_0_bits_m;
-  sc_signal<bool> io_in_bits_0_bits_vd_valid;
-  sc_signal<bool> io_in_bits_0_bits_ve_valid;
-  sc_signal<bool> io_in_bits_0_bits_vf_valid;
-  sc_signal<bool> io_in_bits_0_bits_vg_valid;
-  sc_signal<bool> io_in_bits_0_bits_vs_valid;
-  sc_signal<bool> io_in_bits_0_bits_vt_valid;
-  sc_signal<bool> io_in_bits_0_bits_vu_valid;
-  sc_signal<bool> io_in_bits_0_bits_vx_valid;
-  sc_signal<bool> io_in_bits_0_bits_vy_valid;
-  sc_signal<bool> io_in_bits_0_bits_vz_valid;
-  sc_signal<bool> io_in_bits_0_bits_sv_valid;
-  sc_signal<bool> io_in_bits_0_bits_cmdsync;
-  sc_signal<bool> io_in_bits_1_valid;
-  sc_signal<bool> io_in_bits_1_bits_m;
-  sc_signal<bool> io_in_bits_1_bits_vd_valid;
-  sc_signal<bool> io_in_bits_1_bits_ve_valid;
-  sc_signal<bool> io_in_bits_1_bits_vf_valid;
-  sc_signal<bool> io_in_bits_1_bits_vg_valid;
-  sc_signal<bool> io_in_bits_1_bits_vs_valid;
-  sc_signal<bool> io_in_bits_1_bits_vt_valid;
-  sc_signal<bool> io_in_bits_1_bits_vu_valid;
-  sc_signal<bool> io_in_bits_1_bits_vx_valid;
-  sc_signal<bool> io_in_bits_1_bits_vy_valid;
-  sc_signal<bool> io_in_bits_1_bits_vz_valid;
-  sc_signal<bool> io_in_bits_1_bits_sv_valid;
-  sc_signal<bool> io_in_bits_1_bits_cmdsync;
-  sc_signal<bool> io_in_bits_2_valid;
-  sc_signal<bool> io_in_bits_2_bits_m;
-  sc_signal<bool> io_in_bits_2_bits_vd_valid;
-  sc_signal<bool> io_in_bits_2_bits_ve_valid;
-  sc_signal<bool> io_in_bits_2_bits_vf_valid;
-  sc_signal<bool> io_in_bits_2_bits_vg_valid;
-  sc_signal<bool> io_in_bits_2_bits_vs_valid;
-  sc_signal<bool> io_in_bits_2_bits_vt_valid;
-  sc_signal<bool> io_in_bits_2_bits_vu_valid;
-  sc_signal<bool> io_in_bits_2_bits_vx_valid;
-  sc_signal<bool> io_in_bits_2_bits_vy_valid;
-  sc_signal<bool> io_in_bits_2_bits_vz_valid;
-  sc_signal<bool> io_in_bits_2_bits_sv_valid;
-  sc_signal<bool> io_in_bits_2_bits_cmdsync;
-  sc_signal<bool> io_in_bits_3_valid;
-  sc_signal<bool> io_in_bits_3_bits_m;
-  sc_signal<bool> io_in_bits_3_bits_vd_valid;
-  sc_signal<bool> io_in_bits_3_bits_ve_valid;
-  sc_signal<bool> io_in_bits_3_bits_vf_valid;
-  sc_signal<bool> io_in_bits_3_bits_vg_valid;
-  sc_signal<bool> io_in_bits_3_bits_vs_valid;
-  sc_signal<bool> io_in_bits_3_bits_vt_valid;
-  sc_signal<bool> io_in_bits_3_bits_vu_valid;
-  sc_signal<bool> io_in_bits_3_bits_vx_valid;
-  sc_signal<bool> io_in_bits_3_bits_vy_valid;
-  sc_signal<bool> io_in_bits_3_bits_vz_valid;
-  sc_signal<bool> io_in_bits_3_bits_sv_valid;
-  sc_signal<bool> io_in_bits_3_bits_cmdsync;
   sc_signal<bool> io_read_valid;
   sc_signal<bool> io_read_ready;
   sc_signal<bool> io_read_stall;
@@ -625,90 +466,6 @@
   sc_signal<bool> io_dbus_valid;
   sc_signal<bool> io_dbus_ready;
   sc_signal<bool> io_dbus_write;
-  sc_signal<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_signal<sc_bv<64> > io_active;
   sc_signal<sc_bv<128> > io_vrfsb;
   sc_signal<sc_bv<6> > io_read_addr;
@@ -724,6 +481,44 @@
   sc_signal<sc_bv<kVector> > io_dbus_rdata;
   sc_signal<bool> io_last;
   sc_signal<bool> io_vstoreCount;
+#define IO_BITS(x)                                     \
+  sc_signal<bool> io_in_bits_##x##_valid;              \
+  sc_signal<bool> io_in_bits_##x##_bits_m;             \
+  sc_signal<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_signal<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   VLdSt_tb tb("VLdSt_tb", loops, true /* random */);
   VVLdSt ldst(name);
@@ -732,62 +527,6 @@
   ldst.reset(tb.reset);
   BIND2(tb, ldst, io_in_ready);
   BIND2(tb, ldst, io_in_valid);
-  BIND2(tb, ldst, io_in_bits_0_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_m);
-  BIND2(tb, ldst, io_in_bits_0_bits_vd_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_ve_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vf_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vg_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vs_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vt_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vu_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vx_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vy_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_vz_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_sv_valid);
-  BIND2(tb, ldst, io_in_bits_0_bits_cmdsync);
-  BIND2(tb, ldst, io_in_bits_1_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_m);
-  BIND2(tb, ldst, io_in_bits_1_bits_vd_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_ve_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vf_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vg_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vs_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vt_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vu_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vx_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vy_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_vz_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_sv_valid);
-  BIND2(tb, ldst, io_in_bits_1_bits_cmdsync);
-  BIND2(tb, ldst, io_in_bits_2_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_m);
-  BIND2(tb, ldst, io_in_bits_2_bits_vd_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_ve_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vf_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vg_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vs_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vt_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vu_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vx_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vy_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_vz_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_sv_valid);
-  BIND2(tb, ldst, io_in_bits_2_bits_cmdsync);
-  BIND2(tb, ldst, io_in_bits_3_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_m);
-  BIND2(tb, ldst, io_in_bits_3_bits_vd_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_ve_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vf_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vg_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vs_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vt_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vu_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vx_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vy_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_vz_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_sv_valid);
-  BIND2(tb, ldst, io_in_bits_3_bits_cmdsync);
   BIND2(tb, ldst, io_read_valid);
   BIND2(tb, ldst, io_read_ready);
   BIND2(tb, ldst, io_read_stall);
@@ -795,90 +534,6 @@
   BIND2(tb, ldst, io_dbus_valid);
   BIND2(tb, ldst, io_dbus_ready);
   BIND2(tb, ldst, io_dbus_write);
-  BIND2(tb, ldst, io_in_bits_0_bits_op);
-  BIND2(tb, ldst, io_in_bits_0_bits_f2);
-  BIND2(tb, ldst, io_in_bits_0_bits_sz);
-  BIND2(tb, ldst, io_in_bits_0_bits_vd_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_ve_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vf_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vg_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vs_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vt_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vu_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vx_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vy_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vz_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_vs_tag);
-  BIND2(tb, ldst, io_in_bits_0_bits_vt_tag);
-  BIND2(tb, ldst, io_in_bits_0_bits_vu_tag);
-  BIND2(tb, ldst, io_in_bits_0_bits_vx_tag);
-  BIND2(tb, ldst, io_in_bits_0_bits_vy_tag);
-  BIND2(tb, ldst, io_in_bits_0_bits_vz_tag);
-  BIND2(tb, ldst, io_in_bits_0_bits_sv_addr);
-  BIND2(tb, ldst, io_in_bits_0_bits_sv_data);
-  BIND2(tb, ldst, io_in_bits_1_bits_op);
-  BIND2(tb, ldst, io_in_bits_1_bits_f2);
-  BIND2(tb, ldst, io_in_bits_1_bits_sz);
-  BIND2(tb, ldst, io_in_bits_1_bits_vd_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_ve_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vf_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vg_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vs_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vt_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vu_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vx_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vy_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vz_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_vs_tag);
-  BIND2(tb, ldst, io_in_bits_1_bits_vt_tag);
-  BIND2(tb, ldst, io_in_bits_1_bits_vu_tag);
-  BIND2(tb, ldst, io_in_bits_1_bits_vx_tag);
-  BIND2(tb, ldst, io_in_bits_1_bits_vy_tag);
-  BIND2(tb, ldst, io_in_bits_1_bits_vz_tag);
-  BIND2(tb, ldst, io_in_bits_1_bits_sv_addr);
-  BIND2(tb, ldst, io_in_bits_1_bits_sv_data);
-  BIND2(tb, ldst, io_in_bits_2_bits_op);
-  BIND2(tb, ldst, io_in_bits_2_bits_f2);
-  BIND2(tb, ldst, io_in_bits_2_bits_sz);
-  BIND2(tb, ldst, io_in_bits_2_bits_vd_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_ve_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vf_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vg_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vs_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vt_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vu_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vx_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vy_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vz_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_vs_tag);
-  BIND2(tb, ldst, io_in_bits_2_bits_vt_tag);
-  BIND2(tb, ldst, io_in_bits_2_bits_vu_tag);
-  BIND2(tb, ldst, io_in_bits_2_bits_vx_tag);
-  BIND2(tb, ldst, io_in_bits_2_bits_vy_tag);
-  BIND2(tb, ldst, io_in_bits_2_bits_vz_tag);
-  BIND2(tb, ldst, io_in_bits_2_bits_sv_addr);
-  BIND2(tb, ldst, io_in_bits_2_bits_sv_data);
-  BIND2(tb, ldst, io_in_bits_3_bits_op);
-  BIND2(tb, ldst, io_in_bits_3_bits_f2);
-  BIND2(tb, ldst, io_in_bits_3_bits_sz);
-  BIND2(tb, ldst, io_in_bits_3_bits_vd_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_ve_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vf_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vg_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vs_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vt_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vu_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vx_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vy_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vz_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_vs_tag);
-  BIND2(tb, ldst, io_in_bits_3_bits_vt_tag);
-  BIND2(tb, ldst, io_in_bits_3_bits_vu_tag);
-  BIND2(tb, ldst, io_in_bits_3_bits_vx_tag);
-  BIND2(tb, ldst, io_in_bits_3_bits_vy_tag);
-  BIND2(tb, ldst, io_in_bits_3_bits_vz_tag);
-  BIND2(tb, ldst, io_in_bits_3_bits_sv_addr);
-  BIND2(tb, ldst, io_in_bits_3_bits_sv_data);
   BIND2(tb, ldst, io_active);
   BIND2(tb, ldst, io_vrfsb);
   BIND2(tb, ldst, io_read_addr);
@@ -894,6 +549,44 @@
   BIND2(tb, ldst, io_dbus_rdata);
   BIND2(tb, ldst, io_last);
   BIND2(tb, ldst, io_vstoreCount);
+#define IO_BIND(x)                                 \
+  BIND2(tb, ldst, io_in_bits_##x##_valid);         \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_m);        \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vd_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_ve_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vf_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vg_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vs_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vt_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vu_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vx_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vy_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vz_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_sv_valid); \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_cmdsync);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_op);       \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_f2);       \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_sz);       \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vd_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_ve_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vf_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vg_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vs_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vt_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vu_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vx_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vy_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vz_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vs_tag);   \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vt_tag);   \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vu_tag);   \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vx_tag);   \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vy_tag);   \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_vz_tag);   \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_sv_addr);  \
+  BIND2(tb, ldst, io_in_bits_##x##_bits_sv_data);
+  REPEAT(IO_BIND, KP_instructionLanes);
+#undef IO_BIND
 
   if (trace) {
     tb.trace(ldst);
diff --git a/tests/verilator_sim/kelvin/vst_tb.cc b/tests/verilator_sim/kelvin/vst_tb.cc
index 79567e7..ccdb249 100644
--- a/tests/verilator_sim/kelvin/vst_tb.cc
+++ b/tests/verilator_sim/kelvin/vst_tb.cc
@@ -13,10 +13,11 @@
 // limitations under the License.
 
 #include "VVSt.h"
-
+#include "hdl/chisel/src/kelvin/kelvin_parameters.h"
 #include "tests/verilator_sim/kelvin/core_if.h"
 #include "tests/verilator_sim/kelvin/vencodeop.h"
 #include "tests/verilator_sim/sysc_tb.h"
+#include "tests/verilator_sim/util.h"
 
 using encode::vld;
 using encode::vst;
@@ -25,62 +26,6 @@
 struct VSt_tb : Sysc_tb {
   sc_in<bool> io_in_ready;
   sc_out<bool> io_in_valid;
-  sc_out<bool> io_in_bits_0_valid;
-  sc_out<bool> io_in_bits_0_bits_m;
-  sc_out<bool> io_in_bits_0_bits_vd_valid;
-  sc_out<bool> io_in_bits_0_bits_ve_valid;
-  sc_out<bool> io_in_bits_0_bits_vf_valid;
-  sc_out<bool> io_in_bits_0_bits_vg_valid;
-  sc_out<bool> io_in_bits_0_bits_vs_valid;
-  sc_out<bool> io_in_bits_0_bits_vt_valid;
-  sc_out<bool> io_in_bits_0_bits_vu_valid;
-  sc_out<bool> io_in_bits_0_bits_vx_valid;
-  sc_out<bool> io_in_bits_0_bits_vy_valid;
-  sc_out<bool> io_in_bits_0_bits_vz_valid;
-  sc_out<bool> io_in_bits_0_bits_sv_valid;
-  sc_out<bool> io_in_bits_0_bits_cmdsync;
-  sc_out<bool> io_in_bits_1_valid;
-  sc_out<bool> io_in_bits_1_bits_m;
-  sc_out<bool> io_in_bits_1_bits_vd_valid;
-  sc_out<bool> io_in_bits_1_bits_ve_valid;
-  sc_out<bool> io_in_bits_1_bits_vf_valid;
-  sc_out<bool> io_in_bits_1_bits_vg_valid;
-  sc_out<bool> io_in_bits_1_bits_vs_valid;
-  sc_out<bool> io_in_bits_1_bits_vt_valid;
-  sc_out<bool> io_in_bits_1_bits_vu_valid;
-  sc_out<bool> io_in_bits_1_bits_vx_valid;
-  sc_out<bool> io_in_bits_1_bits_vy_valid;
-  sc_out<bool> io_in_bits_1_bits_vz_valid;
-  sc_out<bool> io_in_bits_1_bits_sv_valid;
-  sc_out<bool> io_in_bits_1_bits_cmdsync;
-  sc_out<bool> io_in_bits_2_valid;
-  sc_out<bool> io_in_bits_2_bits_m;
-  sc_out<bool> io_in_bits_2_bits_vd_valid;
-  sc_out<bool> io_in_bits_2_bits_ve_valid;
-  sc_out<bool> io_in_bits_2_bits_vf_valid;
-  sc_out<bool> io_in_bits_2_bits_vg_valid;
-  sc_out<bool> io_in_bits_2_bits_vs_valid;
-  sc_out<bool> io_in_bits_2_bits_vt_valid;
-  sc_out<bool> io_in_bits_2_bits_vu_valid;
-  sc_out<bool> io_in_bits_2_bits_vx_valid;
-  sc_out<bool> io_in_bits_2_bits_vy_valid;
-  sc_out<bool> io_in_bits_2_bits_vz_valid;
-  sc_out<bool> io_in_bits_2_bits_sv_valid;
-  sc_out<bool> io_in_bits_2_bits_cmdsync;
-  sc_out<bool> io_in_bits_3_valid;
-  sc_out<bool> io_in_bits_3_bits_m;
-  sc_out<bool> io_in_bits_3_bits_vd_valid;
-  sc_out<bool> io_in_bits_3_bits_ve_valid;
-  sc_out<bool> io_in_bits_3_bits_vf_valid;
-  sc_out<bool> io_in_bits_3_bits_vg_valid;
-  sc_out<bool> io_in_bits_3_bits_vs_valid;
-  sc_out<bool> io_in_bits_3_bits_vt_valid;
-  sc_out<bool> io_in_bits_3_bits_vu_valid;
-  sc_out<bool> io_in_bits_3_bits_vx_valid;
-  sc_out<bool> io_in_bits_3_bits_vy_valid;
-  sc_out<bool> io_in_bits_3_bits_vz_valid;
-  sc_out<bool> io_in_bits_3_bits_sv_valid;
-  sc_out<bool> io_in_bits_3_bits_cmdsync;
   sc_in<bool> io_read_valid;
   sc_out<bool> io_read_ready;
   sc_in<bool> io_read_stall;
@@ -93,90 +38,6 @@
   sc_out<bool> io_axi_resp_valid;
   sc_in<bool> io_nempty;
   sc_in<bool> io_vstoreCount;
-  sc_out<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_out<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_out<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_out<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_out<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_out<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_in<sc_bv<64> > io_active;
   sc_out<sc_bv<128> > io_vrfsb;
   sc_in<sc_bv<6> > io_read_addr;
@@ -187,6 +48,44 @@
   sc_in<sc_bv<kUncStrb> > io_axi_data_bits_strb;
   sc_out<sc_bv<6> > io_axi_resp_bits_id;
   sc_out<sc_bv<2> > io_axi_resp_bits_resp;
+#define IO_BITS(x)                                  \
+  sc_out<bool> io_in_bits_##x##_valid;              \
+  sc_out<bool> io_in_bits_##x##_bits_m;             \
+  sc_out<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_out<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_out<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_out<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_out<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_out<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_out<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   using Sysc_tb::Sysc_tb;
 
@@ -227,7 +126,7 @@
     io_axi_resp_bits_id = w.id;
 
 #define IN_READ(idx)                                                     \
-  {                                                                      \
+  if (io_in_bits_##idx##_valid) {                                        \
     Input(io_in_bits_##idx##_bits_m,                                     \
           io_in_bits_##idx##_bits_op.read().get_word(0),                 \
           io_in_bits_##idx##_bits_f2.read().get_word(0),                 \
@@ -243,19 +142,9 @@
   }
 
     if (io_in_valid && io_in_ready) {
-      if (io_in_bits_0_valid) {
-        IN_READ(0);
-      }
-      if (io_in_bits_1_valid) {
-        IN_READ(1);
-      }
-      if (io_in_bits_2_valid) {
-        IN_READ(2);
-      }
-      if (io_in_bits_3_valid) {
-        IN_READ(3);
-      }
+      REPEAT(IN_READ, KP_instructionLanes);
     }
+#undef IN_READ
 
 #define IN_RAND(idx)                                                    \
   {                                                                     \
@@ -288,10 +177,8 @@
 
     int cmd_valid = 0;
 
-    IN_RAND(0);
-    IN_RAND(1);
-    IN_RAND(2);
-    IN_RAND(3);
+    REPEAT(IN_RAND, KP_instructionLanes);
+#undef IN_RAND
 
     io_in_valid = rand_int(0, 4) == 0 && (cmd_count_ + cmd_valid) <= 256;
 
@@ -506,62 +393,6 @@
 static void VSt_test(char* name, int loops, bool trace) {
   sc_signal<bool> io_in_ready;
   sc_signal<bool> io_in_valid;
-  sc_signal<bool> io_in_bits_0_valid;
-  sc_signal<bool> io_in_bits_0_bits_m;
-  sc_signal<bool> io_in_bits_0_bits_vd_valid;
-  sc_signal<bool> io_in_bits_0_bits_ve_valid;
-  sc_signal<bool> io_in_bits_0_bits_vf_valid;
-  sc_signal<bool> io_in_bits_0_bits_vg_valid;
-  sc_signal<bool> io_in_bits_0_bits_vs_valid;
-  sc_signal<bool> io_in_bits_0_bits_vt_valid;
-  sc_signal<bool> io_in_bits_0_bits_vu_valid;
-  sc_signal<bool> io_in_bits_0_bits_vx_valid;
-  sc_signal<bool> io_in_bits_0_bits_vy_valid;
-  sc_signal<bool> io_in_bits_0_bits_vz_valid;
-  sc_signal<bool> io_in_bits_0_bits_sv_valid;
-  sc_signal<bool> io_in_bits_0_bits_cmdsync;
-  sc_signal<bool> io_in_bits_1_valid;
-  sc_signal<bool> io_in_bits_1_bits_m;
-  sc_signal<bool> io_in_bits_1_bits_vd_valid;
-  sc_signal<bool> io_in_bits_1_bits_ve_valid;
-  sc_signal<bool> io_in_bits_1_bits_vf_valid;
-  sc_signal<bool> io_in_bits_1_bits_vg_valid;
-  sc_signal<bool> io_in_bits_1_bits_vs_valid;
-  sc_signal<bool> io_in_bits_1_bits_vt_valid;
-  sc_signal<bool> io_in_bits_1_bits_vu_valid;
-  sc_signal<bool> io_in_bits_1_bits_vx_valid;
-  sc_signal<bool> io_in_bits_1_bits_vy_valid;
-  sc_signal<bool> io_in_bits_1_bits_vz_valid;
-  sc_signal<bool> io_in_bits_1_bits_sv_valid;
-  sc_signal<bool> io_in_bits_1_bits_cmdsync;
-  sc_signal<bool> io_in_bits_2_valid;
-  sc_signal<bool> io_in_bits_2_bits_m;
-  sc_signal<bool> io_in_bits_2_bits_vd_valid;
-  sc_signal<bool> io_in_bits_2_bits_ve_valid;
-  sc_signal<bool> io_in_bits_2_bits_vf_valid;
-  sc_signal<bool> io_in_bits_2_bits_vg_valid;
-  sc_signal<bool> io_in_bits_2_bits_vs_valid;
-  sc_signal<bool> io_in_bits_2_bits_vt_valid;
-  sc_signal<bool> io_in_bits_2_bits_vu_valid;
-  sc_signal<bool> io_in_bits_2_bits_vx_valid;
-  sc_signal<bool> io_in_bits_2_bits_vy_valid;
-  sc_signal<bool> io_in_bits_2_bits_vz_valid;
-  sc_signal<bool> io_in_bits_2_bits_sv_valid;
-  sc_signal<bool> io_in_bits_2_bits_cmdsync;
-  sc_signal<bool> io_in_bits_3_valid;
-  sc_signal<bool> io_in_bits_3_bits_m;
-  sc_signal<bool> io_in_bits_3_bits_vd_valid;
-  sc_signal<bool> io_in_bits_3_bits_ve_valid;
-  sc_signal<bool> io_in_bits_3_bits_vf_valid;
-  sc_signal<bool> io_in_bits_3_bits_vg_valid;
-  sc_signal<bool> io_in_bits_3_bits_vs_valid;
-  sc_signal<bool> io_in_bits_3_bits_vt_valid;
-  sc_signal<bool> io_in_bits_3_bits_vu_valid;
-  sc_signal<bool> io_in_bits_3_bits_vx_valid;
-  sc_signal<bool> io_in_bits_3_bits_vy_valid;
-  sc_signal<bool> io_in_bits_3_bits_vz_valid;
-  sc_signal<bool> io_in_bits_3_bits_sv_valid;
-  sc_signal<bool> io_in_bits_3_bits_cmdsync;
   sc_signal<bool> io_read_valid;
   sc_signal<bool> io_read_ready;
   sc_signal<bool> io_read_stall;
@@ -574,90 +405,6 @@
   sc_signal<bool> io_axi_resp_valid;
   sc_signal<bool> io_nempty;
   sc_signal<bool> io_vstoreCount;
-  sc_signal<sc_bv<7> > io_in_bits_0_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_0_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_0_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_0_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_0_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_1_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_1_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_1_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_1_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_1_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_2_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_2_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_2_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_2_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_2_bits_sv_data;
-  sc_signal<sc_bv<7> > io_in_bits_3_bits_op;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_f2;
-  sc_signal<sc_bv<3> > io_in_bits_3_bits_sz;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vd_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_ve_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vf_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vg_addr;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vs_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vs_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vt_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vt_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vu_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vu_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vx_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vx_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vy_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vy_tag;
-  sc_signal<sc_bv<6> > io_in_bits_3_bits_vz_addr;
-  sc_signal<sc_bv<4> > io_in_bits_3_bits_vz_tag;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_addr;
-  sc_signal<sc_bv<32> > io_in_bits_3_bits_sv_data;
   sc_signal<sc_bv<64> > io_active;
   sc_signal<sc_bv<128> > io_vrfsb;
   sc_signal<sc_bv<6> > io_read_addr;
@@ -668,6 +415,44 @@
   sc_signal<sc_bv<kUncStrb> > io_axi_data_bits_strb;
   sc_signal<sc_bv<6> > io_axi_resp_bits_id;
   sc_signal<sc_bv<2> > io_axi_resp_bits_resp;
+#define IO_BITS(x)                                     \
+  sc_signal<bool> io_in_bits_##x##_valid;              \
+  sc_signal<bool> io_in_bits_##x##_bits_m;             \
+  sc_signal<bool> io_in_bits_##x##_bits_vd_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_ve_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vf_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vg_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vs_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vt_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vu_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vx_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vy_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_vz_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_sv_valid;      \
+  sc_signal<bool> io_in_bits_##x##_bits_cmdsync;       \
+  sc_signal<sc_bv<7> > io_in_bits_##x##_bits_op;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_f2;       \
+  sc_signal<sc_bv<3> > io_in_bits_##x##_bits_sz;       \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vd_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_ve_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vf_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vg_addr;  \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vs_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vs_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vt_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vt_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vu_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vu_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vx_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vx_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vy_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vy_tag;   \
+  sc_signal<sc_bv<6> > io_in_bits_##x##_bits_vz_addr;  \
+  sc_signal<sc_bv<4> > io_in_bits_##x##_bits_vz_tag;   \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_addr; \
+  sc_signal<sc_bv<32> > io_in_bits_##x##_bits_sv_data;
+  REPEAT(IO_BITS, KP_instructionLanes);
+#undef IO_BITS
 
   VSt_tb tb("VSt_tb", loops, true /*random*/);
   VVSt st(name);
@@ -676,62 +461,6 @@
   st.reset(tb.reset);
   BIND2(tb, st, io_in_ready);
   BIND2(tb, st, io_in_valid);
-  BIND2(tb, st, io_in_bits_0_valid);
-  BIND2(tb, st, io_in_bits_0_bits_m);
-  BIND2(tb, st, io_in_bits_0_bits_vd_valid);
-  BIND2(tb, st, io_in_bits_0_bits_ve_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vf_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vg_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vs_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vt_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vu_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vx_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vy_valid);
-  BIND2(tb, st, io_in_bits_0_bits_vz_valid);
-  BIND2(tb, st, io_in_bits_0_bits_sv_valid);
-  BIND2(tb, st, io_in_bits_0_bits_cmdsync);
-  BIND2(tb, st, io_in_bits_1_valid);
-  BIND2(tb, st, io_in_bits_1_bits_m);
-  BIND2(tb, st, io_in_bits_1_bits_vd_valid);
-  BIND2(tb, st, io_in_bits_1_bits_ve_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vf_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vg_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vs_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vt_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vu_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vx_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vy_valid);
-  BIND2(tb, st, io_in_bits_1_bits_vz_valid);
-  BIND2(tb, st, io_in_bits_1_bits_sv_valid);
-  BIND2(tb, st, io_in_bits_1_bits_cmdsync);
-  BIND2(tb, st, io_in_bits_2_valid);
-  BIND2(tb, st, io_in_bits_2_bits_m);
-  BIND2(tb, st, io_in_bits_2_bits_vd_valid);
-  BIND2(tb, st, io_in_bits_2_bits_ve_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vf_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vg_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vs_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vt_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vu_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vx_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vy_valid);
-  BIND2(tb, st, io_in_bits_2_bits_vz_valid);
-  BIND2(tb, st, io_in_bits_2_bits_sv_valid);
-  BIND2(tb, st, io_in_bits_2_bits_cmdsync);
-  BIND2(tb, st, io_in_bits_3_valid);
-  BIND2(tb, st, io_in_bits_3_bits_m);
-  BIND2(tb, st, io_in_bits_3_bits_vd_valid);
-  BIND2(tb, st, io_in_bits_3_bits_ve_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vf_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vg_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vs_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vt_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vu_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vx_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vy_valid);
-  BIND2(tb, st, io_in_bits_3_bits_vz_valid);
-  BIND2(tb, st, io_in_bits_3_bits_sv_valid);
-  BIND2(tb, st, io_in_bits_3_bits_cmdsync);
   BIND2(tb, st, io_read_valid);
   BIND2(tb, st, io_read_ready);
   BIND2(tb, st, io_read_stall);
@@ -744,90 +473,6 @@
   BIND2(tb, st, io_axi_resp_valid);
   BIND2(tb, st, io_nempty);
   BIND2(tb, st, io_vstoreCount);
-  BIND2(tb, st, io_in_bits_0_bits_op);
-  BIND2(tb, st, io_in_bits_0_bits_f2);
-  BIND2(tb, st, io_in_bits_0_bits_sz);
-  BIND2(tb, st, io_in_bits_0_bits_vd_addr);
-  BIND2(tb, st, io_in_bits_0_bits_ve_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vf_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vg_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vs_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vs_tag);
-  BIND2(tb, st, io_in_bits_0_bits_vt_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vt_tag);
-  BIND2(tb, st, io_in_bits_0_bits_vu_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vu_tag);
-  BIND2(tb, st, io_in_bits_0_bits_vx_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vx_tag);
-  BIND2(tb, st, io_in_bits_0_bits_vy_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vy_tag);
-  BIND2(tb, st, io_in_bits_0_bits_vz_addr);
-  BIND2(tb, st, io_in_bits_0_bits_vz_tag);
-  BIND2(tb, st, io_in_bits_0_bits_sv_addr);
-  BIND2(tb, st, io_in_bits_0_bits_sv_data);
-  BIND2(tb, st, io_in_bits_1_bits_op);
-  BIND2(tb, st, io_in_bits_1_bits_f2);
-  BIND2(tb, st, io_in_bits_1_bits_sz);
-  BIND2(tb, st, io_in_bits_1_bits_vd_addr);
-  BIND2(tb, st, io_in_bits_1_bits_ve_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vf_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vg_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vs_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vs_tag);
-  BIND2(tb, st, io_in_bits_1_bits_vt_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vt_tag);
-  BIND2(tb, st, io_in_bits_1_bits_vu_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vu_tag);
-  BIND2(tb, st, io_in_bits_1_bits_vx_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vx_tag);
-  BIND2(tb, st, io_in_bits_1_bits_vy_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vy_tag);
-  BIND2(tb, st, io_in_bits_1_bits_vz_addr);
-  BIND2(tb, st, io_in_bits_1_bits_vz_tag);
-  BIND2(tb, st, io_in_bits_1_bits_sv_addr);
-  BIND2(tb, st, io_in_bits_1_bits_sv_data);
-  BIND2(tb, st, io_in_bits_2_bits_op);
-  BIND2(tb, st, io_in_bits_2_bits_f2);
-  BIND2(tb, st, io_in_bits_2_bits_sz);
-  BIND2(tb, st, io_in_bits_2_bits_vd_addr);
-  BIND2(tb, st, io_in_bits_2_bits_ve_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vf_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vg_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vs_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vs_tag);
-  BIND2(tb, st, io_in_bits_2_bits_vt_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vt_tag);
-  BIND2(tb, st, io_in_bits_2_bits_vu_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vu_tag);
-  BIND2(tb, st, io_in_bits_2_bits_vx_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vx_tag);
-  BIND2(tb, st, io_in_bits_2_bits_vy_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vy_tag);
-  BIND2(tb, st, io_in_bits_2_bits_vz_addr);
-  BIND2(tb, st, io_in_bits_2_bits_vz_tag);
-  BIND2(tb, st, io_in_bits_2_bits_sv_addr);
-  BIND2(tb, st, io_in_bits_2_bits_sv_data);
-  BIND2(tb, st, io_in_bits_3_bits_op);
-  BIND2(tb, st, io_in_bits_3_bits_f2);
-  BIND2(tb, st, io_in_bits_3_bits_sz);
-  BIND2(tb, st, io_in_bits_3_bits_vd_addr);
-  BIND2(tb, st, io_in_bits_3_bits_ve_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vf_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vg_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vs_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vs_tag);
-  BIND2(tb, st, io_in_bits_3_bits_vt_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vt_tag);
-  BIND2(tb, st, io_in_bits_3_bits_vu_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vu_tag);
-  BIND2(tb, st, io_in_bits_3_bits_vx_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vx_tag);
-  BIND2(tb, st, io_in_bits_3_bits_vy_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vy_tag);
-  BIND2(tb, st, io_in_bits_3_bits_vz_addr);
-  BIND2(tb, st, io_in_bits_3_bits_vz_tag);
-  BIND2(tb, st, io_in_bits_3_bits_sv_addr);
-  BIND2(tb, st, io_in_bits_3_bits_sv_data);
   BIND2(tb, st, io_active);
   BIND2(tb, st, io_vrfsb);
   BIND2(tb, st, io_read_addr);
@@ -838,6 +483,44 @@
   BIND2(tb, st, io_axi_data_bits_strb);
   BIND2(tb, st, io_axi_resp_bits_id);
   BIND2(tb, st, io_axi_resp_bits_resp);
+#define IO_BIND(x)                               \
+  BIND2(tb, st, io_in_bits_##x##_valid);         \
+  BIND2(tb, st, io_in_bits_##x##_bits_m);        \
+  BIND2(tb, st, io_in_bits_##x##_bits_vd_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_ve_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vf_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vg_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vs_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vt_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vu_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vx_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vy_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_vz_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_sv_valid); \
+  BIND2(tb, st, io_in_bits_##x##_bits_cmdsync);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_op);       \
+  BIND2(tb, st, io_in_bits_##x##_bits_f2);       \
+  BIND2(tb, st, io_in_bits_##x##_bits_sz);       \
+  BIND2(tb, st, io_in_bits_##x##_bits_vd_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_ve_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vf_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vg_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vs_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vs_tag);   \
+  BIND2(tb, st, io_in_bits_##x##_bits_vt_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vt_tag);   \
+  BIND2(tb, st, io_in_bits_##x##_bits_vu_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vu_tag);   \
+  BIND2(tb, st, io_in_bits_##x##_bits_vx_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vx_tag);   \
+  BIND2(tb, st, io_in_bits_##x##_bits_vy_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vy_tag);   \
+  BIND2(tb, st, io_in_bits_##x##_bits_vz_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_vz_tag);   \
+  BIND2(tb, st, io_in_bits_##x##_bits_sv_addr);  \
+  BIND2(tb, st, io_in_bits_##x##_bits_sv_data);
+  REPEAT(IO_BIND, KP_instructionLanes);
+#undef IO_BIND
 
   if (trace) {
     tb.trace(st);
diff --git a/tests/verilator_sim/util.h b/tests/verilator_sim/util.h
new file mode 100644
index 0000000..be454b0
--- /dev/null
+++ b/tests/verilator_sim/util.h
@@ -0,0 +1,18 @@
+#ifndef TESTS_VERILATOR_SIM_UTIL_H_
+#define TESTS_VERILATOR_SIM_UTIL_H_
+
+#define REPEAT_1(FN) FN(0)
+#define REPEAT_2(FN) REPEAT_1(FN) FN(1)
+#define REPEAT_3(FN) REPEAT_2(FN) FN(2)
+#define REPEAT_4(FN) REPEAT_3(FN) FN(3)
+#define REPEAT_5(FN) REPEAT_4(FN) FN(4)
+#define REPEAT_6(FN) REPEAT_5(FN) FN(5)
+#define REPEAT_7(FN) REPEAT_6(FN) FN(6)
+#define REPEAT_8(FN) REPEAT_7(FN) FN(7)
+#define REPEAT(FN, N) REPEAT_(FN, N)
+#define REPEAT_(FN, N) REPEAT_##N(FN)
+
+#define STRINGIFY(x) STRINGIFY_(x)
+#define STRINGIFY_(x) #x
+
+#endif  // TESTS_VERILATOR_SIM_UTIL_H_
\ No newline at end of file
