diff --git a/hw_sim/BUILD b/hw_sim/BUILD
index e79024f..ba3360b 100644
--- a/hw_sim/BUILD
+++ b/hw_sim/BUILD
@@ -23,8 +23,8 @@
         "hw_primitives.h",
     ],
     deps = [
-        "//hdl/chisel/src/kelvin:core_mini_axi_cc_library_cc",
         "@com_google_absl//absl/types:span",
+        "@verilator//:libverilator",
     ],
 )
 
@@ -36,6 +36,8 @@
     ],
     deps = [
         ":hw_primitives",
+        "//hdl/chisel/src/kelvin:core_mini_axi_cc_library_cc",
+        "//hdl/chisel/src/kelvin:rvv_core_mini_axi_cc_library_cc",
     ],
 )
 
@@ -50,35 +52,38 @@
     deps = [
         ":core_mini_axi_wrapper",
         "//tests/verilator_sim:elf",
-        "//hdl/chisel/src/kelvin:core_mini_axi_cc_library_cc",
-        "@com_google_absl//absl/types:span",
     ],
 )
 
 cc_library(
-  name = "kelvin_simulator_headers",
-  hdrs = [
-    "kelvin_simulator.h",
-    "mailbox.h",
-  ],
+    name = "kelvin_simulator_headers",
+    hdrs = [
+        "kelvin_simulator.h",
+        "mailbox.h",
+    ],
 )
 
 cc_library(
-  name = "core_mini_axi_simulator",
-  srcs = ["core_mini_axi_simulator.cc"],
-  deps = [
-    ":core_mini_axi_wrapper",
-    ":kelvin_simulator_headers",
-  ],
-  linkstatic = True,
-  alwayslink = True,
-)
-
-cc_shared_library(
-    name = "core_mini_axi_sim",
+    name = "core_mini_axi_simulator",
+    srcs = ["core_mini_axi_simulator.cc"],
+    linkstatic = True,
     deps = [
-        ":core_mini_axi_simulator",
+        ":core_mini_axi_wrapper",
+        ":kelvin_simulator_headers",
     ],
+    alwayslink = True,
+)
+
+cc_library(
+    name = "core_mini_axi_simulator_rvv",
+    srcs = ["core_mini_axi_simulator.cc"],
+    copts = ["-DENABLE_RVV"],
+    linkstatic = True,
+    deps = [
+        ":core_mini_axi_wrapper",
+        ":kelvin_simulator_headers",
+    ],
+    alwayslink = True,
 )
 
 kelvin_v2_binary(
@@ -99,13 +104,20 @@
     deps = [
         ":core_mini_axi_simulator",
         "//tests/verilator_sim:elf",
-        "@com_google_absl//absl/types:span",
     ],
 )
 
+# generate libraries for external projects
 cc_binary(
     name = "libkelvin_simulator.so",
-    linkshared = 1,
+    linkshared = True,
     visibility = ["//visibility:public"],
     deps = [":core_mini_axi_simulator"],
 )
+
+cc_binary(
+    name = "libkelvin_simulator_rvv.so",
+    linkshared = True,
+    visibility = ["//visibility:public"],
+    deps = [":core_mini_axi_simulator_rvv"],
+)
diff --git a/hw_sim/core_mini_axi_simulator.cc b/hw_sim/core_mini_axi_simulator.cc
index d1f181e..356c2a7 100644
--- a/hw_sim/core_mini_axi_simulator.cc
+++ b/hw_sim/core_mini_axi_simulator.cc
@@ -12,6 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+#include <vector>
+
 #include "hw_sim/core_mini_axi_wrapper.h"
 #include "hw_sim/kelvin_simulator.h"
 
@@ -89,7 +91,7 @@
 
   AxiWResp resp;
   resp.write_resp_bits_id = addr.addr_bits_id;
-  resp.write_resp_bits_resp = 1;
+  resp.write_resp_bits_resp = 0;
   return resp;
 }
 
diff --git a/hw_sim/core_mini_axi_simulator_example.cc b/hw_sim/core_mini_axi_simulator_example.cc
index 73c9f43..6ede961 100644
--- a/hw_sim/core_mini_axi_simulator_example.cc
+++ b/hw_sim/core_mini_axi_simulator_example.cc
@@ -17,16 +17,9 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
-#include <bitset>
 #include <cstdint>
-#include <future>
 #include <iostream>
-#include <memory>
-#include <optional>
-#include <queue>
-#include <vector>
 
-#include "absl/types/span.h"
 #include "hw_sim/kelvin_simulator.h"
 #include "tests/verilator_sim/elf.h"
 
diff --git a/hw_sim/core_mini_axi_wrapper.h b/hw_sim/core_mini_axi_wrapper.h
index 16efc56..3f8a24f 100644
--- a/hw_sim/core_mini_axi_wrapper.h
+++ b/hw_sim/core_mini_axi_wrapper.h
@@ -15,9 +15,19 @@
 #ifndef HW_SIM_CORE_MINI_AXI_WRAPPER_H_
 #define HW_SIM_CORE_MINI_AXI_WRAPPER_H_
 
+#include <algorithm>
+#include <memory>
+#include <vector>
+
 #include "hw_sim/hw_primitives.h"
 #include "hw_sim/mailbox.h"
 
+#ifdef ENABLE_RVV
+#include "VRvvCoreMiniAxi.h"
+#else
+#include "VCoreMiniAxi.h"
+#endif
+
 class CoreMiniAxiWrapper {
  public:
   explicit CoreMiniAxiWrapper(VerilatedContext* context)
@@ -208,7 +218,11 @@
  private:
   VerilatedContext* const context_;
   KelvinMailbox mailbox_;
+#ifdef ENABLE_RVV
+  VRvvCoreMiniAxi core_;
+#else
   VCoreMiniAxi core_;
+#endif
   Clock clock_;
   AxiSlaveWriteDriver slave_write_driver_;
   AxiSlaveReadDriver slave_read_driver_;
diff --git a/hw_sim/core_mini_axi_wrapper_example.cc b/hw_sim/core_mini_axi_wrapper_example.cc
index 740f6cd..f7b6132 100644
--- a/hw_sim/core_mini_axi_wrapper_example.cc
+++ b/hw_sim/core_mini_axi_wrapper_example.cc
@@ -17,16 +17,9 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
-#include <bitset>
 #include <cstdint>
-#include <future>
 #include <iostream>
-#include <memory>
-#include <optional>
-#include <queue>
-#include <vector>
-
-#include "absl/types/span.h"
+#
 #include "hw_sim/core_mini_axi_wrapper.h"
 #include "tests/verilator_sim/elf.h"
 
diff --git a/hw_sim/hw_primitives.h b/hw_sim/hw_primitives.h
index b8f4316..dc2ea18 100644
--- a/hw_sim/hw_primitives.h
+++ b/hw_sim/hw_primitives.h
@@ -15,13 +15,15 @@
 #ifndef HW_SIM_HW_PRIMITIVES_H_
 #define HW_SIM_HW_PRIMITIVES_H_
 
-#include <functional>
+#include <verilated.h>
+
+#include <algorithm>
+#include <map>
+#include <memory>
 #include <queue>
 #include <vector>
 
 #include "absl/types/span.h"
-#include "VCoreMiniAxi.h"
-
 
 // A class that wraps and controls a verilator clock signal. Also provides an
 // observer mechanism
@@ -548,9 +550,8 @@
         write_resp_bits_id_(write_resp_bits_id),
         write_resp_bits_resp_(write_resp_bits_resp),
         write_resp_ready_(write_resp_ready) {
-    // Always ready to accept address and data
-    *write_addr_ready_ = 1;
-    *write_data_ready_ = 1;
+    *write_addr_ready_ = 0;
+    *write_data_ready_ = 0;
   }
   ~AxiMasterWriteDriver() final = default;
 
@@ -595,12 +596,17 @@
     }
 
     if (*write_addr_valid_ && *write_data_valid_) {
+      *write_addr_ready_ = 1;
+      *write_data_ready_ = 1;
       if (write_cb_) {
         AxiWResp resp_result = write_cb_(axi_addr_, axi_data_);
         resp_queue_.push(resp_result);
       } else {
         assert(false && "Write callback is empty!");
       }
+    } else {
+      *write_addr_ready_ = 0;
+      *write_data_ready_ = 0;
     }
   }
 
diff --git a/hw_sim/kelvin_simulator.h b/hw_sim/kelvin_simulator.h
index f512490..73eee7d 100644
--- a/hw_sim/kelvin_simulator.h
+++ b/hw_sim/kelvin_simulator.h
@@ -15,8 +15,6 @@
 #ifndef HW_SIM_KELVIN_SIMULATOR_H_
 #define HW_SIM_KELVIN_SIMULATOR_H_
 
-#include <cstdlib>
-
 #include "hw_sim/mailbox.h"
 
 class KelvinSimulator {
