diff --git a/hw/ip/prim_generic/rtl/prim_generic_ram_1p.sv b/hw/ip/prim_generic/rtl/prim_generic_ram_1p.sv
index 4f0080a..4c8085f 100644
--- a/hw/ip/prim_generic/rtl/prim_generic_ram_1p.sv
+++ b/hw/ip/prim_generic/rtl/prim_generic_ram_1p.sv
@@ -62,48 +62,5 @@
     end
   end
 
-  `ifdef VERILATOR
-    // Task for loading 'mem' with SystemVerilog system task $readmemh()
-    export "DPI-C" task simutil_verilator_memload;
-
-    task simutil_verilator_memload;
-      input string file;
-      $readmemh(file, mem);
-    endtask
-
-    // Width must be a multiple of 32bit for this function to work
-    // Note that the DPI export and function definition must both be in the same generate
-    // context to get the correct name.
-    if ((Width % 32) == 0) begin : gen_set_mem
-      // Function for setting a specific element in |mem|
-      // Returns 1 (true) for success, 0 (false) for errors.
-      export "DPI-C" function simutil_verilator_set_mem;
-
-      function int simutil_verilator_set_mem(input int index,
-                                             input bit [Width-1:0] val);
-        if (index >= Depth) begin
-          return 0;
-        end
-
-        mem[index] = val;
-        return 1;
-      endfunction
-    end else begin : gen_other
-      // Function doesn't work unless Width % 32 so just return 0
-      export "DPI-C" function simutil_verilator_set_mem;
-
-      function int simutil_verilator_set_mem(input int index,
-                                             input bit [Width-1:0] val);
-        return 0;
-      endfunction
-    end
-  `endif
-
-  `ifdef SRAM_INIT_FILE
-    localparam MEM_FILE = `PRIM_STRINGIFY(`SRAM_INIT_FILE);
-    initial begin
-      $display("Initializing SRAM from %s", MEM_FILE);
-      $readmemh(MEM_FILE, mem);
-    end
-  `endif
+  `include "prim_util_memload.sv"
 endmodule
