diff --git a/.gitmodules b/.gitmodules
index b9b9e6772bd93c78bca4435ad5522bf1a6a9a0d1..4ab49125c06bff68c9c4395eea0c4f900f736d1e 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -22,9 +22,6 @@
 	path = rtl_primitives_tech
 	url = https://git.soton.ac.uk/soclabs/rtl_primitives_tech.git
 	branch = main
-[submodule "secworks-aes"]
-	path = secworks-aes
-	url = https://github.com/secworks/aes.git
 [submodule "asic_lib_tech"]
 	path = asic_lib_tech
 	url = https://git.soton.ac.uk/soclabs/asic_library_tech
diff --git a/asic_lib_tech b/asic_lib_tech
index 5687e4966986706e13dcc9fe14a7ec741a57a022..ddda4a64c07b133b6d60c539ac403fb6644bb55f 160000
--- a/asic_lib_tech
+++ b/asic_lib_tech
@@ -1 +1 @@
-Subproject commit 5687e4966986706e13dcc9fe14a7ec741a57a022
+Subproject commit ddda4a64c07b133b6d60c539ac403fb6644bb55f
diff --git a/flist/project/system.flist b/flist/project/system.flist
index 1b65e446df1dc10e19004c08dc051247e6a515e7..e7f9758e2798f4cf897bb85b03fd0c5641ddc4f7 100644
--- a/flist/project/system.flist
+++ b/flist/project/system.flist
@@ -29,7 +29,7 @@
 -f $(SOCLABS_FPGA_LIB_TECH_DIR)/flist/fpga_lib_mem_ip.flist
 
 // - Accelerator Wrapper IP
-///-f $(SOCLABS_WRAPPER_TECH_DIR)/flist/accelerator_wrapper_ip.flist
+//-f $(SOCLABS_WRAPPER_TECH_DIR)/flist/accelerator_wrapper_ip.flist
 
 // - Bootrom Code RTL
 $(SOCLABS_PROJECT_DIR)/system/src/bootrom/verilog/bootrom.v
diff --git a/flist/project/system_ASIC.flist b/flist/project/system_ASIC.flist
index 7330052510779ba01d61b9887040fc5ad192b189..dcd438920c03fda5e9fb5ede2a67ef52786a1016 100644
--- a/flist/project/system_ASIC.flist
+++ b/flist/project/system_ASIC.flist
@@ -22,11 +22,9 @@
 // - Primitives IP
 -f $(SOCLABS_PRIMITIVES_TECH_DIR)/flist/rtl_primitives_ip.flist
 
-// - Generic Pad Library
--f $(SOCLABS_GENERIC_LIB_TECH_DIR)/flist/generic_lib_ip.flist
-
-// - FPGA sram
--f $(SOCLABS_ASIC_LIB_TECH_DIR)/flist/asic_lib_mem_ip.flist
+// - ASIC memories and pads
+-f $(SOCLABS_ASIC_LIB_TECH_DIR)/flist/asic_lib_ip.flist
 
 // - Accelerator Wrapper IP
 -f $(SOCLABS_WRAPPER_TECH_DIR)/flist/accelerator_wrapper_ip.flist
+
diff --git a/flist/project/top.flist b/flist/project/top.flist
index c87d9bec9506e498c15bfcddee635d3463533e3b..0b24f7c23e3f9d4ba36a066719a7317c788e4481 100644
--- a/flist/project/top.flist
+++ b/flist/project/top.flist
@@ -32,4 +32,8 @@
 
 // - CMSDK IP
 -f $(SOCLABS_PROJECT_DIR)/flist/ahb/ahb_ip.flist
--f $(SOCLABS_PROJECT_DIR)/flist/apb/apb_ip.flist
\ No newline at end of file
+-f $(SOCLABS_PROJECT_DIR)/flist/apb/apb_ip.flist
+
+// the chosen DMA controller
+//-f $(SOCLABS_SLDMA350_TECH_DIR)/flist/sldma350_ahb.flist
+-f $(SOCLABS_SLDMA230_TECH_DIR)/flist/sldma230_ip.flist
\ No newline at end of file
diff --git a/flist/project/top_ASIC.flist b/flist/project/top_ASIC.flist
index 7b9d4f993202ca7b3d7298c93a5f7694b8cc7e75..dd1da6ca6c7f922ee1eedad31585c24e5ee0c8a1 100644
--- a/flist/project/top_ASIC.flist
+++ b/flist/project/top_ASIC.flist
@@ -31,4 +31,8 @@
 -f $(SOCLABS_PROJECT_DIR)/flist/ahb/ahb_ip.flist
 -f $(SOCLABS_PROJECT_DIR)/flist/apb/apb_ip.flist
 
-$(SOCLABS_PROJECT_DIR)/system/src/defines/gen_defines.v
\ No newline at end of file
+$(SOCLABS_PROJECT_DIR)/system/src/defines/gen_defines.v
+
+// the chosen DMA controller
+-f $(SOCLABS_SLDMA350_TECH_DIR)/flist/sldma350_ahb.flist
+//-f $(SOCLABS_SLDMA230_TECH_DIR)/flist/sldma230_ip.flist
diff --git a/nanosoc_tech b/nanosoc_tech
index f2193c6c86d6e17b94d97f59489415f9aab53947..62a44820d495ed04647627e6fb1b5308f0c3c678 160000
--- a/nanosoc_tech
+++ b/nanosoc_tech
@@ -1 +1 @@
-Subproject commit f2193c6c86d6e17b94d97f59489415f9aab53947
+Subproject commit 62a44820d495ed04647627e6fb1b5308f0c3c678
diff --git a/projbranch b/projbranch
index 1d14a8b18cb92593334ba4e09dfca1ddfada4ac2..38d87897e02b83afbe62429b39fa046a12cb24a6 100644
--- a/projbranch
+++ b/projbranch
@@ -11,7 +11,6 @@
 # Each Repo needs to have its branch set manually in here - they will defaultly be checked out to main
 # Project Repository Subrepository Branch Index
 # Add your Accelerator Repository here
-secworks-aes: master
 
 nanosoc_tech: main
 accelerator_wrapper_tech: main
diff --git a/secworks-aes b/secworks-aes
deleted file mode 160000
index b9a3f1965b4e0568f0ca9b2d575ce6ea6fec2f36..0000000000000000000000000000000000000000
--- a/secworks-aes
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b9a3f1965b4e0568f0ca9b2d575ce6ea6fec2f36
diff --git a/set_env.sh b/set_env.sh
index 392e8cb4ca4dfc3c1d9f43bc15e6991bf00c86d9..2afe7f5ec9a0e5770b7e4abf7e6050e99858f600 100755
--- a/set_env.sh
+++ b/set_env.sh
@@ -16,4 +16,4 @@ if [ ! -f .dma350_configured ]; then
     cp nanosoc_tech/nanosoc/sldma350_tech/config/address_map_m1_nanosoc.sv $ARM_IP_LIBRARY_PATH/DMA-350/CG096-r0p0-00rel0/CG096-BU-50000-r0p0-00rel0/dma350/logical/models/modules/generic/address_map_m1_nanosoc.sv
     make -C nanosoc_tech/nanosoc/sldma350_tech/ config_dma_ahb
     touch .dma350_configured
-fi
\ No newline at end of file
+fi
diff --git a/simulate/socsim/regression_accelerator.sh b/simulate/socsim/regression_accelerator.sh
new file mode 100755
index 0000000000000000000000000000000000000000..737c8ae3ac20a8dadf5f225d81560b2d081223f9
--- /dev/null
+++ b/simulate/socsim/regression_accelerator.sh
@@ -0,0 +1,31 @@
+#-----------------------------------------------------------------------------
+# SoC Labs Simulation script for system level verification
+# A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
+#
+# Contributors
+#
+# David Mapstone (d.a.mapstone@soton.ac.uk)
+#
+# Copyright  2023, SoC Labs (www.soclabs.org)
+#-----------------------------------------------------------------------------
+
+#!/usr/bin/env bash
+
+# Get simulation name from name of script
+SIM_NAME=`basename -s .sh "$0"`
+
+# Directory to put simulation files
+SIM_DIR=$SOCLABS_PROJECT_DIR/simulate/sim/$SIM_NAME
+
+# Create Directory to put simulation files
+mkdir -p $SIM_DIR
+cd $SOCLABS_PROJECT_DIR/simulate/sim/$SIM_NAME
+
+# Compile Simulation
+# Call makefile in NanoSoC Repo with options
+echo ${2}
+make -C $SOCLABS_NANOSOC_TECH_DIR regression_mti \
+    SIM_DIR=$SIM_DIR \
+    ACCELERATOR=yes \
+    ${@:2}
+
diff --git a/simulate/socsim/test_accelerator.sh b/simulate/socsim/test_accelerator.sh
new file mode 100755
index 0000000000000000000000000000000000000000..1bfacd413d1a7326dee7254953312d535c2a755a
--- /dev/null
+++ b/simulate/socsim/test_accelerator.sh
@@ -0,0 +1,31 @@
+#-----------------------------------------------------------------------------
+# SoC Labs Simulation script for system level verification
+# A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
+#
+# Contributors
+#
+# David Mapstone (d.a.mapstone@soton.ac.uk)
+#
+# Copyright  2023, SoC Labs (www.soclabs.org)
+#-----------------------------------------------------------------------------
+
+#!/usr/bin/env bash
+
+# Get simulation name from name of script
+SIM_NAME=`basename -s .sh "$0"`
+
+# Directory to put simulation files
+SIM_DIR=$SOCLABS_PROJECT_DIR/simulate/sim/$SIM_NAME
+
+# Create Directory to put simulation files
+mkdir -p $SIM_DIR
+cd $SOCLABS_PROJECT_DIR/simulate/sim/$SIM_NAME
+
+# Compile Simulation
+# Call makefile in NanoSoC Repo with options
+echo ${2}
+make -C $SOCLABS_NANOSOC_TECH_DIR run_mti \
+    SIM_DIR=$SIM_DIR \
+    ACCELERATOR=yes \
+    ${@:2}
+
diff --git a/soctools_flow b/soctools_flow
index 73a86713b7fb0b98ef3fd59032b6c6326a20041f..1fec0158c729f99888c692dc85696069be8e4006 160000
--- a/soctools_flow
+++ b/soctools_flow
@@ -1 +1 @@
-Subproject commit 73a86713b7fb0b98ef3fd59032b6c6326a20041f
+Subproject commit 1fec0158c729f99888c692dc85696069be8e4006
diff --git a/system/src/accelerator_subsystem.v b/system/src/accelerator_subsystem.v
index 0957c7cbfd9fca47408e9b99607ffa56c68d7794..6e68edad48b81fb3e96af758649229329eaf826c 100644
--- a/system/src/accelerator_subsystem.v
+++ b/system/src/accelerator_subsystem.v
@@ -9,7 +9,6 @@
 //
 // Copyright (C) 2023; SoC Labs (www.soclabs.org)
 //-----------------------------------------------------------------------------
-`include "gen_defines.v"
 
 module accelerator_subsystem #(
   parameter SYS_ADDR_W = 32,
@@ -37,35 +36,7 @@ module accelerator_subsystem #(
   // Data Request Signal to DMAC
   output wire   [1:0]              EXP_DRQ,
   input  wire   [1:0]              EXP_DLAST,
-   // DMAC Stream interfaces
-`ifdef DMAC_DMA350
-  input  wire                      EXP_STR_IN_0_TVALID,
-  output wire                      EXP_STR_IN_0_TREADY,
-  input  wire [SYS_DATA_W-1:0]     EXP_STR_IN_0_TDATA,
-  input  wire [15:0]               EXP_STR_IN_0_TSTRB,
-  input  wire                      EXP_STR_IN_0_TLAST,
-
-  output wire                      EXP_STR_OUT_0_TVALID,
-  input  wire                      EXP_STR_OUT_0_TREADY,
-  output wire [SYS_DATA_W-1:0]     EXP_STR_OUT_0_TDATA,
-  output wire [15:0]               EXP_STR_OUT_0_TSTRB,
-  output wire                      EXP_STR_OUT_0_TLAST,
-  input  wire                      EXP_STR_OUT_0_FLUSH,
-
-  input  wire                      EXP_STR_IN_1_TVALID,
-  output wire                      EXP_STR_IN_1_TREADY,
-  input  wire [SYS_DATA_W-1:0]     EXP_STR_IN_1_TDATA,
-  input  wire [15:0]               EXP_STR_IN_1_TSTRB,
-  input  wire                      EXP_STR_IN_1_TLAST,
-
-  output wire                      EXP_STR_OUT_1_TVALID,
-  input  wire                      EXP_STR_OUT_1_TREADY,
-  output wire [SYS_DATA_W-1:0]     EXP_STR_OUT_1_TDATA,
-  output wire [15:0]               EXP_STR_OUT_1_TSTRB,
-  output wire                      EXP_STR_OUT_1_TLAST,
-  input  wire                      EXP_STR_OUT_1_FLUSH,
-`endif 
-
+  
   // Interrupts
   output wire   [IRQ_NUM-1:0]      EXP_IRQ
 );
diff --git a/system/testcodes/aes128_tests_dma230/aes128_tests_dma230.hex b/system/testcodes/aes128_tests_dma230/aes128_tests_dma230.hex
index 83ddb957e67e16e2be71003d4558afd27ab8913a..e4dca2583571f8ac0bba3fdddbc7c3151136b42f 100644
--- a/system/testcodes/aes128_tests_dma230/aes128_tests_dma230.hex
+++ b/system/testcodes/aes128_tests_dma230/aes128_tests_dma230.hex
@@ -250,12 +250,12 @@ AB
 43
 18
 47
-84
+F4
 1B
 00
 00
-A4
-1B
+14
+1C
 00
 00
 00
@@ -294,8 +294,8 @@ B5
 D1
 01
 F0
-D9
-F9
+11
+FA
 10
 BD
 78
@@ -304,7 +304,7 @@ BD
 D1
 01
 F0
-0A
+42
 FA
 10
 BD
@@ -314,7 +314,7 @@ BD
 D1
 01
 F0
-B2
+EA
 FB
 10
 BD
@@ -332,8 +332,8 @@ B5
 BD
 01
 F0
-EE
-FB
+26
+FC
 11
 46
 FF
@@ -346,7 +346,7 @@ AE
 FA
 01
 F0
-06
+3E
 FC
 03
 B4
@@ -506,7 +506,7 @@ EC
 A0
 01
 F0
-11
+49
 F9
 6D
 1C
@@ -552,7 +552,7 @@ EE
 A0
 01
 F0
-56
+8E
 FA
 F6
 4C
@@ -602,12 +602,12 @@ EE
 A0
 01
 F0
-3D
+75
 FA
 01
 F0
-D2
-F8
+03
+F9
 28
 46
 0E
@@ -674,7 +674,7 @@ EA
 48
 01
 F0
-2F
+67
 FA
 E0
 69
@@ -704,7 +704,7 @@ E4
 48
 01
 F0
-20
+58
 FA
 10
 2C
@@ -720,7 +720,7 @@ E0
 18
 01
 F0
-75
+AD
 FA
 03
 20
@@ -740,7 +740,7 @@ DC
 46
 01
 F0
-0E
+46
 FA
 3F
 19
@@ -866,7 +866,7 @@ BD
 A0
 01
 F0
-5D
+95
 F8
 71
 5D
@@ -874,7 +874,7 @@ BE
 A0
 01
 F0
-59
+91
 F8
 6D
 1C
@@ -900,7 +900,7 @@ BA
 48
 01
 F0
-4C
+84
 F8
 00
 20
@@ -1498,8 +1498,8 @@ E0
 00
 00
 00
-F4
-19
+64
+1A
 00
 00
 44
@@ -1642,7 +1642,7 @@ C0
 78
 2C
 00
-50
+C0
 1B
 00
 00
@@ -1776,19 +1776,19 @@ E2
 A0
 00
 F0
-96
+CE
 FE
 E1
 A0
 00
 F0
-93
+CB
 FE
 E6
 A0
 00
 F0
-90
+C8
 FE
 03
 21
@@ -1822,7 +1822,7 @@ D6
 A0
 00
 F0
-7F
+B7
 FE
 25
 61
@@ -1894,19 +1894,19 @@ CF
 A0
 00
 F0
-5B
+93
 FE
 D6
 A0
 00
 F0
-58
+90
 FE
 DD
 A0
 00
 F0
-55
+8D
 FE
 BF
 4A
@@ -1950,7 +1950,7 @@ A0
 1C
 00
 F0
-3F
+77
 FE
 A0
 69
@@ -1966,7 +1966,7 @@ A0
 1C
 00
 F0
-37
+6F
 FE
 20
 6A
@@ -1982,7 +1982,7 @@ A0
 1C
 00
 F0
-2F
+67
 FE
 A0
 6A
@@ -1998,13 +1998,13 @@ A0
 1C
 00
 F0
-27
+5F
 FE
 FE
 A0
 00
 F0
-24
+5C
 FE
 A6
 4A
@@ -2038,7 +2038,7 @@ FC
 A0
 00
 F0
-13
+4B
 FE
 C5
 4B
@@ -2080,14 +2080,14 @@ F9
 A0
 00
 F0
+36
 FE
-FD
 FE
 A0
 00
 F0
-FB
-FD
+33
+FE
 92
 4A
 B8
@@ -2140,8 +2140,8 @@ A0
 1C
 00
 F0
-E0
-FD
+18
+FE
 A0
 69
 82
@@ -2156,8 +2156,8 @@ A0
 1C
 00
 F0
-D8
-FD
+10
+FE
 20
 6A
 81
@@ -2172,8 +2172,8 @@ A0
 1C
 00
 F0
-D0
-FD
+08
+FE
 A0
 6A
 00
@@ -2188,13 +2188,13 @@ A0
 1C
 00
 F0
-C8
-FD
+00
+FE
 ED
 A0
 00
 F0
-C5
+FD
 FD
 77
 4A
@@ -2218,7 +2218,7 @@ F0
 A0
 00
 F0
-B9
+F1
 FD
 98
 4A
@@ -2254,7 +2254,7 @@ F1
 A0
 00
 F0
-A7
+DF
 FD
 25
 61
@@ -2290,7 +2290,7 @@ EE
 A0
 00
 F0
-95
+CD
 FD
 5F
 4A
@@ -2330,8 +2330,8 @@ EE
 A0
 00
 F0
-DD
-FE
+15
+FF
 6D
 1C
 03
@@ -2342,13 +2342,13 @@ F2
 A0
 00
 F0
-7B
+B3
 FD
 F9
 A0
 00
 F0
-78
+B0
 FD
 50
 4A
@@ -2382,7 +2382,7 @@ F7
 A0
 00
 F0
-67
+9F
 FD
 6F
 4B
@@ -2422,7 +2422,7 @@ D7
 A0
 00
 F0
-AF
+E7
 FE
 6D
 1C
@@ -2434,13 +2434,13 @@ DB
 A0
 00
 F0
-4D
+85
 FD
 F0
 A0
 00
 F0
-4A
+82
 FD
 39
 4A
@@ -2484,7 +2484,7 @@ EF
 A0
 00
 F0
-34
+6C
 FD
 2E
 4A
@@ -2520,7 +2520,7 @@ F0
 A0
 00
 F0
-22
+5A
 FD
 25
 4A
@@ -2542,7 +2542,7 @@ F3
 A0
 00
 F0
-17
+4F
 FD
 20
 48
@@ -2582,7 +2582,7 @@ AF
 A0
 00
 F0
-5F
+97
 FE
 6D
 1C
@@ -2594,8 +2594,8 @@ B3
 A0
 00
 F0
+35
 FD
-FC
 20
 69
 00
@@ -2610,8 +2610,8 @@ A0
 1C
 00
 F0
-F5
-FC
+2D
+FD
 A0
 69
 07
@@ -2626,8 +2626,8 @@ A0
 1C
 00
 F0
-ED
-FC
+25
+FD
 20
 6A
 00
@@ -2642,8 +2642,8 @@ A0
 1C
 00
 F0
-E5
-FC
+1D
+FD
 A0
 6A
 00
@@ -2658,8 +2658,8 @@ A0
 1C
 00
 F0
-DD
-FC
+15
+FD
 0F
 20
 00
@@ -2670,7 +2670,7 @@ FA
 20
 B7
 E1
-14
+84
 1A
 00
 00
@@ -3578,7 +3578,7 @@ F8
 A0
 00
 F0
-11
+49
 FB
 04
 A9
@@ -3586,7 +3586,7 @@ A9
 A0
 00
 F0
-0D
+45
 FB
 00
 2D
@@ -3598,7 +3598,7 @@ DD
 A0
 00
 F0
-07
+3F
 FB
 02
 E0
@@ -3606,12 +3606,12 @@ E0
 A0
 00
 F0
-03
+3B
 FB
 00
 F0
-F4
-FA
+25
+FB
 60
 E4
 10
@@ -3646,12 +3646,12 @@ D1
 A0
 00
 F0
-4B
+83
 FC
 00
 F0
-E0
-FA
+11
+FB
 FE
 E7
 01
@@ -3670,12 +3670,12 @@ D1
 A0
 00
 F0
-3F
+77
 FC
 00
 F0
-D4
-FA
+05
+FB
 FE
 E7
 10
@@ -3706,11 +3706,11 @@ D1
 48
 00
 F0
-2D
+65
 FC
 00
 F0
-C2
+F3
 FA
 FE
 E7
@@ -3742,11 +3742,11 @@ D1
 48
 00
 F0
-1B
+53
 FC
 00
 F0
-B0
+E1
 FA
 FE
 E7
@@ -3778,11 +3778,11 @@ D1
 48
 00
 F0
-09
+41
 FC
 00
 F0
-9E
+CF
 FA
 FE
 E7
@@ -3814,11 +3814,11 @@ D1
 A0
 00
 F0
-F7
-FB
+2F
+FC
 00
 F0
-8C
+BD
 FA
 FE
 E7
@@ -3840,8 +3840,8 @@ B5
 A0
 00
 F0
-EA
-FB
+22
+FC
 68
 6B
 00
@@ -3856,7 +3856,7 @@ A5
 68
 00
 F0
-86
+BE
 FA
 29
 46
@@ -3864,7 +3864,7 @@ FA
 A0
 00
 F0
-82
+BA
 FA
 30
 48
@@ -3878,11 +3878,11 @@ BD
 A0
 00
 F0
-D7
-FB
+0F
+FC
 00
 F0
-6C
+9D
 FA
 FE
 E7
@@ -4174,16 +4174,16 @@ F0
 00
 00
 60
-38
+A8
 1C
 00
 00
-EC
-1B
+5C
+1C
 00
 00
-A0
-1B
+10
+1C
 00
 00
 45
@@ -4490,7 +4490,7 @@ A0
 60
 00
 F0
-49
+81
 F9
 00
 21
@@ -4534,7 +4534,7 @@ B5
 A0
 00
 F0
-8F
+C7
 FA
 35
 4C
@@ -4550,7 +4550,7 @@ A0
 1C
 00
 F0
-2B
+63
 F9
 28
 06
@@ -4560,7 +4560,7 @@ F9
 A0
 00
 F0
-26
+5E
 F9
 E9
 07
@@ -4570,7 +4570,7 @@ C9
 A0
 00
 F0
-21
+59
 F9
 20
 68
@@ -4592,7 +4592,7 @@ D0
 A0
 00
 F0
-72
+AA
 FA
 20
 68
@@ -4608,7 +4608,7 @@ FA
 A0
 00
 F0
-0E
+46
 F9
 00
 2D
@@ -4682,7 +4682,7 @@ E0
 A0
 00
 F0
-45
+7D
 FA
 20
 68
@@ -4967,9 +4967,9 @@ FF
 70
 47
 00
-E1
-F5
-05
+1C
+4E
+0E
 84
 08
 00
@@ -5036,7 +5036,7 @@ C0
 B2
 00
 F0
-1E
+36
 F8
 10
 BD
@@ -5044,11 +5044,11 @@ BD
 B5
 00
 F0
-20
+41
 F8
 00
 F0
-18
+30
 F8
 10
 BD
@@ -5064,42 +5064,96 @@ C0
 B2
 00
 F0
-10
+28
 F8
 10
 BD
 FE
 E7
-41
-20
-0F
+27
+48
+00
+21
+81
+60
+27
 49
-40
 01
-08
 61
 01
-22
-8A
+21
+81
 60
-0D
-49
-08
-61
+26
+48
 03
+21
+01
+61
+81
+60
+25
+49
+20
 20
 88
+61
+70
+47
+25
+48
+23
+49
+01
 60
-0C
+24
+49
+81
+61
+01
+21
+C1
+60
+C3
+21
+81
+60
+01
+69
+C9
+07
+FC
+D0
+1D
 49
 20
 20
 88
 61
+1A
+48
+00
+21
+81
+60
+30
+21
+01
+61
+03
+21
+81
+60
 70
 47
-09
+16
 49
+8A
+68
+D2
+07
+04
+D0
 4A
 68
 D2
@@ -5110,16 +5164,60 @@ D1
 60
 70
 47
-06
-48
-41
+10
+4A
+53
 68
-89
+DB
 07
 FC
+D1
+10
+60
+F7
+E7
+0D
+48
+0E
+49
+42
+68
+4B
+68
+92
+07
+D2
+17
+9B
+07
+DB
+17
+52
+1C
+5B
+1C
+1A
+42
+F5
+D1
+42
+68
+92
+07
+01
 D5
 00
 68
+03
+E0
+48
+68
+80
+07
+01
+D5
+08
+68
 C0
 B2
 70
@@ -5128,16 +5226,18 @@ B2
 20
 FF
 F7
-F0
+D7
 FF
 FE
 E7
 00
-00
-00
 60
 00
 40
+6A
+18
+00
+00
 00
 E0
 00
@@ -5146,6 +5246,18 @@ E0
 10
 01
 40
+8E
+0C
+01
+00
+00
+20
+00
+40
+24
+F4
+00
+00
 70
 47
 00
@@ -5790,7 +5902,7 @@ C0
 46
 FE
 F7
-3F
+07
 FD
 00
 28
@@ -5854,7 +5966,7 @@ B5
 E0
 FF
 F7
-63
+2B
 FE
 40
 1C
@@ -5874,7 +5986,7 @@ D1
 20
 FF
 F7
-59
+21
 FE
 10
 BD
@@ -5958,8 +6070,8 @@ C9
 E0
 FE
 F7
-25
-FD
+ED
+FC
 F8
 BD
 1D
@@ -6332,7 +6444,7 @@ F8
 46
 FF
 F7
-7F
+47
 FD
 00
 28
@@ -6350,7 +6462,7 @@ BD
 BD
 00
 00
-F3
+83
 FA
 FF
 FF
@@ -6468,8 +6580,8 @@ B0
 B5
 FF
 F7
-1E
-FD
+E6
+FC
 60
 BC
 00
@@ -6516,7 +6628,7 @@ C0
 46
 FE
 F7
-F3
+BB
 FB
 10
 BD
@@ -7294,8 +7406,8 @@ B1
 2E
 0A
 00
-A0
-1C
+10
+1D
 00
 00
 00
@@ -7306,11 +7418,11 @@ A0
 08
 00
 00
-84
+F4
 19
 00
 00
-64
+D4
 1E
 00
 00
@@ -7771,9 +7883,9 @@ FF
 00
 30
 00
-E1
-F5
-05
+1C
+4E
+0E
 88
 08
 00
diff --git a/system/testcodes/aes128_tests_memcpy/aes128_tests_memcpy.hex b/system/testcodes/aes128_tests_memcpy/aes128_tests_memcpy.hex
index 470c6d0046dbcc707fb809b2e7ebc5da006fb877..cc234191d303cae66b4b88f5584c19888b1c9934 100644
--- a/system/testcodes/aes128_tests_memcpy/aes128_tests_memcpy.hex
+++ b/system/testcodes/aes128_tests_memcpy/aes128_tests_memcpy.hex
@@ -250,11 +250,11 @@ AB
 43
 18
 47
-00
+70
 11
 00
 00
-20
+90
 11
 00
 00
@@ -294,7 +294,7 @@ B5
 D1
 00
 F0
-A7
+DF
 FC
 10
 BD
@@ -304,8 +304,8 @@ BD
 D1
 00
 F0
-D8
-FC
+10
+FD
 10
 BD
 73
@@ -314,7 +314,7 @@ BD
 D1
 00
 F0
-80
+B8
 FE
 10
 BD
@@ -332,7 +332,7 @@ B5
 BD
 00
 F0
-BC
+F4
 FE
 11
 46
@@ -346,8 +346,8 @@ BB
 F8
 00
 F0
-D4
-FE
+0C
+FF
 03
 B4
 FF
@@ -478,7 +478,7 @@ F4
 48
 00
 F0
-5F
+97
 FD
 E0
 69
@@ -508,7 +508,7 @@ EE
 48
 00
 F0
-50
+88
 FD
 10
 2C
@@ -524,7 +524,7 @@ EA
 18
 00
 F0
-A5
+DD
 FD
 03
 20
@@ -544,7 +544,7 @@ E6
 46
 00
 F0
-3E
+76
 FD
 3F
 19
@@ -670,7 +670,7 @@ C7
 A0
 00
 F0
-8D
+C5
 FB
 71
 5D
@@ -678,7 +678,7 @@ C8
 A0
 00
 F0
-89
+C1
 FB
 6D
 1C
@@ -704,7 +704,7 @@ C4
 48
 00
 F0
-7C
+B4
 FB
 00
 20
@@ -756,19 +756,19 @@ B9
 A0
 00
 F0
-62
+9A
 FB
 B8
 A0
 00
 F0
-5F
+97
 FB
 BD
 A0
 00
 F0
-5C
+94
 FB
 03
 21
@@ -804,7 +804,7 @@ AD
 A0
 00
 F0
-4A
+82
 FB
 B6
 4C
@@ -878,19 +878,19 @@ A6
 A0
 00
 F0
-25
+5D
 FB
 AD
 A0
 00
 F0
-22
+5A
 FB
 B4
 A0
 00
 F0
-1F
+57
 FB
 22
 46
@@ -934,7 +934,7 @@ A0
 1C
 00
 F0
-09
+41
 FB
 A0
 68
@@ -950,7 +950,7 @@ A0
 1C
 00
 F0
-01
+39
 FB
 20
 69
@@ -966,8 +966,8 @@ A0
 1C
 00
 F0
-F9
-FA
+31
+FB
 A0
 69
 00
@@ -982,14 +982,14 @@ A0
 1C
 00
 F0
-F1
-FA
+29
+FB
 D5
 A0
 00
 F0
-EE
-FA
+26
+FB
 88
 4A
 10
@@ -1022,8 +1022,8 @@ D3
 A0
 00
 F0
-DD
-FA
+15
+FB
 9C
 4B
 7F
@@ -1064,13 +1064,13 @@ D0
 A0
 00
 F0
-C8
-FA
+00
+FB
 D5
 A0
 00
 F0
-C5
+FD
 FA
 74
 4A
@@ -1124,7 +1124,7 @@ A0
 1C
 00
 F0
-AA
+E2
 FA
 A0
 68
@@ -1140,7 +1140,7 @@ A0
 1C
 00
 F0
-A2
+DA
 FA
 20
 69
@@ -1156,7 +1156,7 @@ A0
 1C
 00
 F0
-9A
+D2
 FA
 A0
 69
@@ -1172,13 +1172,13 @@ A0
 1C
 00
 F0
-92
+CA
 FA
 C4
 A0
 00
 F0
-8F
+C7
 FA
 59
 4A
@@ -1202,7 +1202,7 @@ C7
 A0
 00
 F0
-83
+BB
 FA
 6F
 4A
@@ -1264,7 +1264,7 @@ C2
 A0
 00
 F0
-64
+9C
 FA
 04
 A9
@@ -1272,7 +1272,7 @@ C9
 A0
 00
 F0
-60
+98
 FA
 00
 2C
@@ -1284,7 +1284,7 @@ CF
 A0
 00
 F0
-5A
+92
 FA
 02
 E0
@@ -1292,11 +1292,11 @@ D5
 A0
 00
 F0
-56
+8E
 FA
 00
 F0
-47
+78
 FA
 00
 20
@@ -1330,11 +1330,11 @@ D1
 48
 00
 F0
-9F
+D7
 FB
 00
 F0
-34
+65
 FA
 FE
 E7
@@ -1366,11 +1366,11 @@ C9
 48
 00
 F0
-8D
+C5
 FB
 00
 F0
-22
+53
 FA
 FE
 E7
@@ -1402,11 +1402,11 @@ C1
 48
 00
 F0
-7B
+B3
 FB
 00
 F0
-10
+41
 FA
 FE
 E7
@@ -1438,12 +1438,12 @@ B9
 A0
 00
 F0
-69
+A1
 FB
 00
 F0
-FE
-F9
+2F
+FA
 FE
 E7
 88
@@ -1486,12 +1486,12 @@ C0
 78
 2C
 00
-CC
-10
+3C
+11
 00
 00
-90
-0F
+00
+10
 00
 00
 25
@@ -2166,15 +2166,15 @@ CC
 0A
 00
 00
-B4
-11
+24
+12
 00
 00
-68
+D8
 11
 00
 00
-1C
+8C
 11
 00
 00
@@ -2307,9 +2307,9 @@ E0
 70
 47
 00
-E1
-F5
-05
+1C
+4E
+0E
 60
 08
 00
@@ -2376,7 +2376,7 @@ C0
 B2
 00
 F0
-1E
+36
 F8
 10
 BD
@@ -2384,11 +2384,11 @@ BD
 B5
 00
 F0
-20
+41
 F8
 00
 F0
-18
+30
 F8
 10
 BD
@@ -2404,42 +2404,96 @@ C0
 B2
 00
 F0
-10
+28
 F8
 10
 BD
 FE
 E7
-41
-20
-0F
+27
+48
+00
+21
+81
+60
+27
 49
-40
 01
-08
 61
 01
-22
-8A
+21
+81
 60
-0D
-49
-08
-61
+26
+48
 03
+21
+01
+61
+81
+60
+25
+49
+20
 20
 88
+61
+70
+47
+25
+48
+23
+49
+01
 60
-0C
+24
+49
+81
+61
+01
+21
+C1
+60
+C3
+21
+81
+60
+01
+69
+C9
+07
+FC
+D0
+1D
 49
 20
 20
 88
 61
+1A
+48
+00
+21
+81
+60
+30
+21
+01
+61
+03
+21
+81
+60
 70
 47
-09
+16
 49
+8A
+68
+D2
+07
+04
+D0
 4A
 68
 D2
@@ -2450,16 +2504,60 @@ D1
 60
 70
 47
-06
-48
-41
+10
+4A
+53
 68
-89
+DB
 07
 FC
+D1
+10
+60
+F7
+E7
+0D
+48
+0E
+49
+42
+68
+4B
+68
+92
+07
+D2
+17
+9B
+07
+DB
+17
+52
+1C
+5B
+1C
+1A
+42
+F5
+D1
+42
+68
+92
+07
+01
 D5
 00
 68
+03
+E0
+48
+68
+80
+07
+01
+D5
+08
+68
 C0
 B2
 70
@@ -2468,16 +2566,18 @@ B2
 20
 FF
 F7
-F0
+D7
 FF
 FE
 E7
 00
-00
-00
 60
 00
 40
+6A
+18
+00
+00
 00
 E0
 00
@@ -2486,6 +2586,18 @@ E0
 10
 01
 40
+8E
+0C
+01
+00
+00
+20
+00
+40
+24
+F4
+00
+00
 70
 47
 00
@@ -3130,7 +3242,7 @@ C0
 46
 FF
 F7
-71
+39
 FA
 00
 28
@@ -3194,7 +3306,7 @@ B5
 E0
 FF
 F7
-63
+2B
 FE
 40
 1C
@@ -3214,7 +3326,7 @@ D1
 20
 FF
 F7
-59
+21
 FE
 10
 BD
@@ -3298,7 +3410,7 @@ C9
 E0
 FF
 F7
-43
+0B
 FA
 F8
 BD
@@ -3672,7 +3784,7 @@ F8
 46
 FF
 F7
-7F
+47
 FD
 00
 28
@@ -3690,7 +3802,7 @@ BD
 BD
 00
 00
-F3
+83
 FA
 FF
 FF
@@ -3808,8 +3920,8 @@ B0
 B5
 FF
 F7
-1E
-FD
+E6
+FC
 60
 BC
 00
@@ -3856,8 +3968,8 @@ C0
 46
 FF
 F7
-25
-F9
+ED
+F8
 10
 BD
 00
@@ -4602,7 +4714,7 @@ D2
 2E
 0A
 00
-1C
+8C
 12
 00
 00
@@ -4614,12 +4726,12 @@ D2
 08
 00
 00
-20
+90
 0F
 00
 00
-DC
-13
+4C
+14
 00
 00
 68
@@ -5075,9 +5187,9 @@ ED
 06
 00
 00
-E1
-F5
-05
+1C
+4E
+0E
 64
 08
 00