diff --git a/flist/corstone101_ip.flist b/flist/corstone101_ip.flist
index 48f5211809d81035e9df9908c3ca9e07952ac95c..ed1140654008e056995ff1fb6854537c2de73aff 100644
--- a/flist/corstone101_ip.flist
+++ b/flist/corstone101_ip.flist
@@ -16,9 +16,9 @@
 +libext+.v+.vlib
 
 // =============    Corstone-101 search path    =============
-+incdir+$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog
-+incdir+$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog
-+incdir+$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/memories/
+-incdir $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog
+-incdir $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog
+-incdir $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/memories/
 
 // CMSDK APB Timer IP
 //-y $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_timer/verilog
@@ -26,7 +26,6 @@ $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_timer/verilog/cmsdk
 
 // CMSDK Dual Timers IP
 //-y $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog
-$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_defs.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers_frc.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers.v
 
@@ -36,7 +35,6 @@ $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_uart/verilog/cmsdk_
 
 // CMSDK APB Watchdog IP
 //-y $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog
-$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_defs.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog_frc.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog.v
 
@@ -73,19 +71,10 @@ $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_iop_gpio/verilog/cmsdk_
 
 // CMSDK Clockgate Models
 //-y $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm0_acg_tsmc180.v
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm0p_acg_tsmc180.v
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm0_pmu_acg_tsmc180.v
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm0p_pmu_acg_tsmc180.v
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm3_clk_gate_tsmc180.v
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm3_etm_clk_gate_tsmc180.v
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm4_clk_gate_tsmc180.v
-// $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cm4_etm_clk_gate_tsmc180.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/clkgate/cmsdk_clock_gate.v
 
 // CMSDK Memory Models
 //-y $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/memories/
-$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/memories/cmsdk_ahb_memory_models_defs.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/memories/cmsdk_ahb_ram_beh.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/memories/cmsdk_ahb_ram.v
 $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/memories/cmsdk_ahb_rom.v
diff --git a/flist/corstone101_vip.flist b/flist/corstone101_vip.flist
index b97dab251d2ae28033793b598a3f18e8bd398c69..1efe3d7d6d1c9b48da9d3b19cc9810134039e421 100644
--- a/flist/corstone101_vip.flist
+++ b/flist/corstone101_vip.flist
@@ -16,9 +16,9 @@
 +libext+.v+.vlib
 
 // =============    DMA-230 search path    =============
-+incdir+$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_debug_tester/verilog
-+incdir+$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/protocol_checkers/AhbLitePC/verilog
-+incdir+$(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/protocol_checkers/ApbPC/verilog
+-incdir $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_debug_tester/verilog
+-incdir $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/protocol_checkers/AhbLitePC/verilog
+-incdir $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/models/protocol_checkers/ApbPC/verilog
 
 // CMSDK Debug Tester VIP
 //-y $(ARM_IP_LIBRARY_PATH)/latest/Corstone-101/logical/cmsdk_debug_tester/verilog
diff --git a/flist/nanosoc_busmatrix.flist b/flist/nanosoc_busmatrix.flist
index 4b5ab27c7c1c98e934896a9d52f6830fe92c2484..26272a2137b2e4d8a771b404b580ce9fdababd64 100644
--- a/flist/nanosoc_busmatrix.flist
+++ b/flist/nanosoc_busmatrix.flist
@@ -16,7 +16,7 @@
 +libext+.v+.vlib
 
 // =============    NanoSoC BusMatrix IP search path    =============
-+incdir+$(SOCLABS_NANOSOC_TECH_DIR)/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix
+-incdir $(SOCLABS_NANOSOC_TECH_DIR)/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix
 
 $(SOCLABS_NANOSOC_TECH_DIR)/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_BOOTROM_0.v
 $(SOCLABS_NANOSOC_TECH_DIR)/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_arbiter_DMEM_0.v
diff --git a/lint/corstone101_ip.bb b/lint/corstone101_ip.bb
new file mode 100644
index 0000000000000000000000000000000000000000..b01fe4112e6e321d59f943c410d39c4490720263
--- /dev/null
+++ b/lint/corstone101_ip.bb
@@ -0,0 +1,60 @@
+//-----------------------------------------------------------------------------
+// NanoSoC Corstone-101 Blackbox Lint Design Info File
+// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
+//
+// Contributors
+//
+// David Mapstone (d.a.mapstone@soton.ac.uk)
+//
+// Copyright � 2021-3, SoC Labs (www.soclabs.org)
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+// Abstract : HAL Design Info File for Blackboxing Arm IP
+//-----------------------------------------------------------------------------
+
+bb_list
+{
+    // Exclude APB Timer as Arm IP
+    designunit = cmsdk_apb_timer;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_apb_timer/verilog/cmsdk_apb_timer.v;
+    
+    // Exclude APB Dual Timer as Arm IP
+    designunit = cmsdk_apb_dualtimers;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_apb_dualtimers/verilog/cmsdk_apb_dualtimers.v;
+    
+    // Exclude APB UART as Arm IP
+    designunit = cmsdk_apb_uart;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_apb_uart/verilog/cmsdk_apb_uart.v;
+    
+    // Exclude APB Watchdog as Arm IP
+    designunit = cmsdk_apb_watchdog;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_apb_watchdog/verilog/cmsdk_apb_watchdog.v;
+    
+    // Exclude AHB Slave Mux as Arm IP
+    designunit = cmsdk_ahb_slave_mux;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_ahb_slave_mux/verilog/cmsdk_ahb_slave_mux.v;
+    
+    // Exclude AHB Default Slave as Arm IP
+    designunit = cmsdk_ahb_default_slave;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_ahb_default_slave/verilog/cmsdk_ahb_default_slave.v;
+    
+    // Exclude AHB GPIO as Arm IP
+    designunit = cmsdk_ahb_gpio;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_ahb_gpio/verilog/cmsdk_ahb_gpio.v;
+    
+    // Exclude AHB to APB Bridge as Arm IP
+    designunit = cmsdk_ahb_to_apb;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_ahb_to_apb/verilog/cmsdk_ahb_to_apb.v;
+    
+    // Exclude IOP to GPIO Bridge as Arm IP
+    designunit = cmsdk_iop_gpio;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_iop_gpio/verilog/cmsdk_iop_gpio.v;
+    
+    // Exclude AHB to SRAM Bridge as Arm IP
+    designunit = cmsdk_ahb_to_sram;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/cmsdk_ahb_to_sram/verilog/cmsdk_ahb_to_sram.v;
+    
+    // Exclude SRAM Model as Arm IP
+    designunit = cmsdk_fpga_sram;
+    file = $ARM_IP_LIBRARY_PATH/latest/Corstone-101/logical/models/memories/cmsdk_fpga_sram.v;
+}
\ No newline at end of file
diff --git a/lint/nanosoc_ip.bb b/lint/nanosoc_ip.bb
new file mode 100644
index 0000000000000000000000000000000000000000..b5da7956992ec2797ffef0f6d858d224072b0e61
--- /dev/null
+++ b/lint/nanosoc_ip.bb
@@ -0,0 +1,20 @@
+//-----------------------------------------------------------------------------
+// NanoSoC Blackbox Lint Design Info File
+// A joint work commissioned on behalf of SoC Labs, under Arm Academic Access license.
+//
+// Contributors
+//
+// David Mapstone (d.a.mapstone@soton.ac.uk)
+//
+// Copyright � 2021-3, SoC Labs (www.soclabs.org)
+//-----------------------------------------------------------------------------
+//-----------------------------------------------------------------------------
+// Abstract : HAL Design Info File for Blackboxing NanoSoC IP Generated from Arm Scripts
+//-----------------------------------------------------------------------------
+
+bb_list
+{
+    // Exclude Bus Matrix as Generated from Arm IP
+    designunit = nanosoc_busmatrix_lite;
+    file = $SOCLABS_NANOSOC_TECH_DIR/system/nanosoc_busmatrix/verilog/nanosoc_busmatrix/nanosoc_busmatrix_lite.v;
+}
\ No newline at end of file
diff --git a/makefile b/makefile
index b57e233b1a1b735e3b1d1ccb2b8de22c36b3e07d..ec3a8f11263c3e1f690d260f5f498593502e5759 100644
--- a/makefile
+++ b/makefile
@@ -102,6 +102,9 @@ SIM_TOP_DIR ?= $(SOCLABS_PROJECT_DIR)/simulate/sim
 
 SIM_DIR = $(SIM_TOP_DIR)/$(TESTNAME)
 
+LINT_DIR = $(SOCLABS_PROJECT_DIR)/lint/nanosoc
+LINT_INFO_DIR = $(SOCLABS_NANOSOC_TECH_DIR)/lint
+
 # MTI option
 #DF#MTI_OPTIONS    = -novopt
 MTI_OPTIONS    = -suppress 2892
@@ -187,7 +190,9 @@ compile_xm : bootrom
 	cd $(SIM_DIR); xmelab  -mess -f xmelab.args -access +r | tee -a compile_xm.log
 
 lint_xm: compile_xm
-	cd $(SIM_DIR); hal $(XM_VC_OPTIONS) $(DEFINES_VC)
+	@rm -rf $(LINT_DIR) 
+	@mkdir -p $(LINT_DIR)
+	cd $(LINT_DIR); hal $(XM_VC_OPTIONS) $(DEFINES_VC) +debug -XMVERILOGARGS "-timescale 1ps/1ps" -top nanosoc_chip -design_info $(LINT_INFO_DIR)/nanosoc_ip.bb -design_info $(LINT_INFO_DIR)/corstone101_ip.bb
 	
 # Note : If coverage is required, you can add -coverage all to xmelab
 
diff --git a/system/slcorem0_tech b/system/slcorem0_tech
index 3cfcbf349a30c2da2903d33baa35d3e8d3c51fc2..d739e768c05b22987c06f3f86495890307fe480e 160000
--- a/system/slcorem0_tech
+++ b/system/slcorem0_tech
@@ -1 +1 @@
-Subproject commit 3cfcbf349a30c2da2903d33baa35d3e8d3c51fc2
+Subproject commit d739e768c05b22987c06f3f86495890307fe480e
diff --git a/system/sldma230_tech b/system/sldma230_tech
index f050e6fd3a8e67511f4974fb54eb6c72576f2614..7df15848c5c99720fa1853706ef76b1caef29ab0 160000
--- a/system/sldma230_tech
+++ b/system/sldma230_tech
@@ -1 +1 @@
-Subproject commit f050e6fd3a8e67511f4974fb54eb6c72576f2614
+Subproject commit 7df15848c5c99720fa1853706ef76b1caef29ab0
diff --git a/verif/verilog/nanosoc_tb.v b/verif/verilog/nanosoc_tb.v
index 80022c0770e1ae7745a2bd27e9a281836759e161..a802b3ea629617a6c8057c474a514e901fa63532 100644
--- a/verif/verilog/nanosoc_tb.v
+++ b/verif/verilog/nanosoc_tb.v
@@ -82,11 +82,11 @@ module nanosoc_tb;
 localparam BE=0;
 `define ARM_CMSDK_INCLUDE_DEBUG_TESTER 1
 
-`ifdef ADP_FILE
-  localparam ADP_FILENAME=`ADP_FILE;
-`else
+// `ifdef ADP_FILE
+  // localparam ADP_FILENAME=`ADP_FILE;
+// `else
   localparam ADP_FILENAME="adp.cmd";
-`endif
+// `endif
 
 
 SROM_Ax32