[smc/hw] Prevent LSU misalignment accesses on dPTW

-DMEM PTWs on a misaligned load/store previously had the LSU fsm waiting
on rvalid in addition to the MMU

Change-Id: Ib6601b3436d9d4d9bbcd8ae5ecbbc8ac089abf3c
diff --git a/hw/top_matcha/ip/smc/rtl/smc_core.sv b/hw/top_matcha/ip/smc/rtl/smc_core.sv
index 0471728..43e5242 100644
--- a/hw/top_matcha/ip/smc/rtl/smc_core.sv
+++ b/hw/top_matcha/ip/smc/rtl/smc_core.sv
@@ -886,7 +886,8 @@
     .perf_store_o(perf_store),
 
     // mmu
-    .ptw_spec_iwalk_i(mmu_ptw_spec_iwalk)
+    .ptw_spec_iwalk_i(mmu_ptw_spec_iwalk),
+    .ptw_spec_walk_i(mmu_ptw_spec_walk)
   );
 
   ////////////////////////////
diff --git a/hw/top_matcha/ip/smc/rtl/smc_load_store_unit.sv b/hw/top_matcha/ip/smc/rtl/smc_load_store_unit.sv
index 8724991..cac7e89 100644
--- a/hw/top_matcha/ip/smc/rtl/smc_load_store_unit.sv
+++ b/hw/top_matcha/ip/smc/rtl/smc_load_store_unit.sv
@@ -70,7 +70,8 @@
   output logic                 perf_store_o,
 
   // MMU
-  input logic                  ptw_spec_iwalk_i
+  input logic                  ptw_spec_iwalk_i,
+  input logic                  ptw_spec_walk_i
 );
 
   logic [31:0]  data_addr;
@@ -369,7 +370,7 @@
   /////////////
 
   // check for misaligned accesses that need to be split into two word-aligned accesses
-  assign split_misaligned_access =
+  assign split_misaligned_access = ~ptw_spec_walk_i &
       ((lsu_type_i == 2'b00) && (data_offset != 2'b00)) || // misaligned word access
       ((lsu_type_i == 2'b01) && (data_offset == 2'b11));   // misaligned half-word access