diff --git a/flist/cortexm0_ip.flist b/flist/cortexm0_ip.flist
index b189b983be630103e4d5bebe627960f5f89f1a57..284942649391cd0d37d775c362ac2b8627da70ba 100644
--- a/flist/cortexm0_ip.flist
+++ b/flist/cortexm0_ip.flist
@@ -16,11 +16,7 @@
 +libext+.v+.vlib
 
 // =============    Accelerator Module search path    =============
--incdir $(ARM_IP_LIBRARY_PATH)/latest/Cortex-M0/logical/cortexm0/verilog
 -incdir $(ARM_IP_LIBRARY_PATH)/latest/Cortex-M0/logical/cortexm0_dap/verilog
--incdir $(ARM_IP_LIBRARY_PATH)/latest/Cortex-M0/logical/cortexm0_integration/verilog
--incdir $(ARM_IP_LIBRARY_PATH)/latest/Cortex-M0/logical/models/cells
--incdir $(ARM_IP_LIBRARY_PATH)/latest/Cortex-M0/logical/models/wrappers
 -incdir $(ARM_IP_LIBRARY_PATH)/latest/Cortex-M0/logical/ualdis/verilog
 
 // Cortex-M0 Core IP
diff --git a/hal/slcorem0_ip.waive b/hal/slcorem0_ip.waive
index 9e7d2582d2e0f00b4eedd8e9d79d2bf3530fc3e2..580454f621619516e4250d3d78c8289285ffe83a 100644
--- a/hal/slcorem0_ip.waive
+++ b/hal/slcorem0_ip.waive
@@ -18,12 +18,24 @@ lint_checking designunit = slcorem0
     DIFCLK {"SYS_|CORE_"} off;
     DIFRST {"SYS_|CORE_"} off;
     
+    // System HCLK is Alias of System FClk
+    IOCOMB {"SYS_HCLK"} off;
+    
+    // Acts as a wrapper - some outputs are not registered (registered at lower levels)
+    TPOUNR off;
+    
+    // Following Intergation Output Signals are Unused
+    UNCONN {"HMASTER|TDO|nTDOEN|DBGRESTARTED|HALTED|WICSENSE|CODEHINTDE|SPECHTRANS|CODENSEQ"} off;
+    UNCONO {"HMASTER|TDO|nTDOEN|DBGRESTARTED|HALTED|WICSENSE|CODEHINTDE|SPECHTRANS|CODENSEQ"} off;
 }
 
 lint_checking designunit = slcorem0_integration
 {
     // Constant Conditional for Debug Configuration
     CONSTC {"cfg_dbg"} off;
+    
+    // lowercase n used to represent negation in signal name
+    UCCONN {"n"} off;
 }
 
 lint_checking designunit = slcorem0_prmu
@@ -31,7 +43,26 @@ lint_checking designunit = slcorem0_prmu
     // Constant Conditional for Clock Gating
     CONSTC {"CLKGATE"} off;
     
-    // With CLock Gating Disabled, Clocks may be aliased
+    // With Clock Gating Disabled, Clocks may be aliased and Some Output may not be used
     DALIAS {"CLK"} off;
     DIFCLK {"CLKGATE"} off;
+    // Some PMU Output Signals are Unused
+    UNCONO {"HCLK|DCLK|SCLK|SYSISOLATEn|SYSRETAINn|DBGISOLATEn"} off;
+    // System HClock is generated from FClock and needs to be always on
+    FDTHRU {"CLKGATE|SYS_HCLK"} off;
+    
+    // Output Signals SYSISOLATEn, SYSRETAINn, DBGISOLATEn are Unused
+    UNCONN {"SYSISOLATEn|SYSRETAINn|DBGISOLATEn"} off;
+}
+
+lint_checking designunit = slcorem0_stclkctrl
+{
+    // Bit-wise Inversion for Reset (Arm implemented)
+    LOGNEG {"RESET"} off;
+    
+    // Arm Don't Like to use begin and end in if statements (not going to change their IP)
+    NBGEND off;
+    
+    // STCALIB output is Assigned to a Constant Value
+    TIELOG {"STCALIB"} off;
 }
diff --git a/src/verilog/slcorem0.v b/src/verilog/slcorem0.v
index 97c4f8f5573fdc0ef972d9a3e92d98201fe7609c..a215da64b353541e64f0e8e06535d4d49e6b6721 100644
--- a/src/verilog/slcorem0.v
+++ b/src/verilog/slcorem0.v
@@ -161,11 +161,6 @@ module slcorem0 #(
   // -------------------------------
   // Cortex-M0 CPU Instantiation
   // -------------------------------
-  // Processor status
-  wire      [2:0]   CORE_CODEHINTDE;
-  wire              CORE_SPECHTRANS;
-  wire              CORE_CODENSEQ;
-  wire              CORE_SHAREABLE;
   
   // Cortex-M0 Logic Instantiation
   slcorem0_integration #(
@@ -223,9 +218,9 @@ module slcorem0 #(
     .HRESP         (HRESP),
     .HMASTER       ( ),
 
-    .CODEHINTDE    (CORE_CODEHINTDE),
-    .SPECHTRANS    (CORE_SPECHTRANS),
-    .CODENSEQ      (CORE_CODENSEQ),
+    .CODEHINTDE    ( ),
+    .SPECHTRANS    ( ),
+    .CODENSEQ      ( ),
 
     // Interrupts
     .IRQ           (CORE_IRQ[31:0]),
diff --git a/src/verilog/slcorem0_prmu.v b/src/verilog/slcorem0_prmu.v
index baf39ec9d83940433533bf107265b79f03aac1b8..3fc0f25fa135ccf0d0f0864466d0aa08f9a5be9a 100644
--- a/src/verilog/slcorem0_prmu.v
+++ b/src/verilog/slcorem0_prmu.v
@@ -92,7 +92,7 @@ module slcorem0_prmu #(
     
     // System HCLK needs to be assigned to System Free-running Clock
     // so other managers can still access bus when CPU is sleeping
-    assign SYS_HCLK   = SYS_FCLK;
+    assign SYS_HCLK = SYS_FCLK;
     
     // Power Management Unit Instantiation
     cortexm0_pmu u_cortexm0_pmu ( 
diff --git a/src/verilog/slcorem0_stclkctrl.v b/src/verilog/slcorem0_stclkctrl.v
index 4f7c443d824929930db02b2d3a305e2f0ab366d9..85f90c086d968f56106f01a3c1b2af7acdf6b1c6 100644
--- a/src/verilog/slcorem0_stclkctrl.v
+++ b/src/verilog/slcorem0_stclkctrl.v
@@ -56,7 +56,7 @@ module slcorem0_stclkctrl #(
   assign STCALIB[23:0] = {24{1'b0}}; // 10 ms value  set to 0, indicate this value is not used
 
   // Divider
-  wire [17:0] reg_clk_div_min1 = reg_clk_divider - 1;
+  wire [17:0] reg_clk_div_min1 = reg_clk_divider - 18'd1;
   always @(posedge FCLK or negedge SYSRESETn)
   begin
   if (~SYSRESETn)