diff --git a/nanosoc/nanosoc_subsystems/dma/dma230/verilog/nanosoc_ss_dma.v b/nanosoc/nanosoc_subsystems/dma/dma230/verilog/nanosoc_ss_dma.v
index 734083ba70dff67db5864efe02f5962c14c816de..3102dc43475ab75cefa99bff7c6ae0ab77f9604a 100644
--- a/nanosoc/nanosoc_subsystems/dma/dma230/verilog/nanosoc_ss_dma.v
+++ b/nanosoc/nanosoc_subsystems/dma/dma230/verilog/nanosoc_ss_dma.v
@@ -43,6 +43,8 @@ module nanosoc_ss_dma #(
     input  wire   [DMAC_0_CFG_ADDR_W-1:0] DMAC_0_PADDR,       // APB address
     input  wire          [SYS_DATA_W-1:0] DMAC_0_PWDATA,      // APB write data
     output wire          [SYS_DATA_W-1:0] DMAC_0_PRDATA,      // APB read data
+    output wire                           DMAC_0_PREADY,      // APB Ready
+    output wire                           DMAC_0_PSLVERR,     // APB Slave Error
     
     // DMAC 0 DMA Request and Status Port
     input  wire  [DMAC_0_CHANNEL_NUM-1:0] DMAC_0_DMA_REQ,     // DMA transfer request
@@ -69,6 +71,8 @@ module nanosoc_ss_dma #(
     input  wire   [DMAC_1_CFG_ADDR_W-1:0] DMAC_1_PADDR,       // APB address
     input  wire          [SYS_DATA_W-1:0] DMAC_1_PWDATA,      // APB write data
     output wire          [SYS_DATA_W-1:0] DMAC_1_PRDATA,      // APB read data
+    output wire                           DMAC_1_PREADY,      // APB Ready
+    output wire                           DMAC_1_PSLVERR,     // APB Slave Error
     
     // DMAC 1 DMA Request and Status Port
     input  wire  [DMAC_1_CHANNEL_NUM-1:0] DMAC_1_DMA_REQ,     // DMA transfer request
@@ -117,6 +121,12 @@ module nanosoc_ss_dma #(
         .DMA_ERR(DMAC_0_DMA_ERR)
     );
     
+    // APB Assignments
+    //--------------------------
+    assign DMAC_0_PREADY  = 1'b1;
+    assign DMAC_0_PSLVERR = 1'b0;
+    
+    
     // -------------------------------
     // DMA Controller 1 Instantiation - Not implemented
     // -------------------------------
@@ -132,9 +142,13 @@ module nanosoc_ss_dma #(
     
     // APB Tie-off signals
     assign DMAC_1_PRDATA    = 32'd0;
+    assign DMAC_1_PREADY    = 1'b1;
+    assign DMAC_1_PSLVERR   = 1'b1;
     
     // DMA Status Tie-off signals
     assign DMAC_1_DMA_DONE  = {DMAC_1_CHANNEL_NUM{1'b0}};
     assign DMAC_1_DMA_ERR   = 1'b0;
     
+
+    
 endmodule
\ No newline at end of file
diff --git a/nanosoc/nanosoc_system/verilog/nanosoc_system.v b/nanosoc/nanosoc_system/verilog/nanosoc_system.v
index c3d2ab99b4e383b4e6bab300b2f287da05a59f38..92651e5678e94a6ac99c6f6717db84b716a8d996 100644
--- a/nanosoc/nanosoc_system/verilog/nanosoc_system.v
+++ b/nanosoc/nanosoc_system/verilog/nanosoc_system.v
@@ -442,14 +442,6 @@ module nanosoc_system #(
     
     assign DMAC_1_DMA_REQ = {DMAC_1_CHANNEL_NUM{1'b0}};
     
-    // APB Assignments
-    //--------------------------
-    assign DMAC_0_PREADY  = 1'b1;
-    assign DMAC_0_PSLVERR = 1'b0;
-    
-    assign DMAC_1_PREADY  = 1'b1;
-    assign DMAC_1_PSLVERR = 1'b0;
-    
     // Instantiate Subsystem
     //--------------------------
     
@@ -489,6 +481,8 @@ module nanosoc_system #(
         .DMAC_0_PADDR(SYSIO_PADDR),
         .DMAC_0_PWDATA(SYSIO_PWDATA),
         .DMAC_0_PRDATA(DMAC_0_PRDATA),
+        .DMAC_0_PREADY(DMAC_0_PREADY),
+        .DMAC_0_PSLVERR(DMAC_0_PSLVERR),
         
         // DMAC 0 DMA Request and Status Port
         .DMAC_0_DMA_REQ(DMAC_0_DMA_REQ),
@@ -515,6 +509,8 @@ module nanosoc_system #(
         .DMAC_1_PADDR(SYSIO_PADDR),
         .DMAC_1_PWDATA(SYSIO_PWDATA),
         .DMAC_1_PRDATA(DMAC_1_PRDATA),
+        .DMAC_1_PREADY(DMAC_1_PREADY),
+        .DMAC_1_PSLVERR(DMAC_1_PSLVERR),
         
         // DMAC 1 DMA Request and Status Port
         .DMAC_1_DMA_REQ(DMAC_1_DMA_REQ),
diff --git a/software/common/validation/apb_mux_tests.c b/software/common/validation/apb_mux_tests.c
index c1edb227b63c1fc85c816b63a5e4e048a0625e09..a350c60056073024d36abf0c137cbc560aa08497 100644
--- a/software/common/validation/apb_mux_tests.c
+++ b/software/common/validation/apb_mux_tests.c
@@ -106,31 +106,31 @@ int main (void)
     if ( ID_Check(&apb_timer_id[0],     CMSDK_TIMER1_BASE   ) == 1 ) err_code |= 1<<1;
   puts ("2: dual timer");
     if ( ID_Check(&apb_dualtimer_id[0], CMSDK_DUALTIMER_BASE) == 1 ) err_code |= 1<<2;
-  puts ("3: blank");
-    if ( ID_Check(&blank_id[0],         0x40003000          ) == 1 ) err_code |= 1<<3;
-  puts ("4: UART 0");
-    if ( ID_Check(&apb_uart_id[0],      CMSDK_UART0_BASE    ) == 1 ) err_code |= 1<<4;
-  puts ("5: UART 1");
-    if ( ID_Check(&apb_uart_id[0],      CMSDK_UART1_BASE    ) == 1 ) err_code |= 1<<5;
+  puts ("3: blank - default slave (generates slave error)");
+    // if ( ID_Check(&blank_id[0],         0x40003000          ) == 1 ) err_code |= 1<<3;
+  puts ("4: UART 0 - Not Implemented");
+    // if ( ID_Check(&apb_uart_id[0],      CMSDK_UART0_BASE    ) == 1 ) err_code |= 1<<4;
+  puts ("5: UART 1 - Not Implemented");
+    // if ( ID_Check(&apb_uart_id[0],      CMSDK_UART1_BASE    ) == 1 ) err_code |= 1<<5;
   puts ("6: UART 2");
     if ( ID_Check(&apb_uart_id[0],      CMSDK_UART2_BASE    ) == 1 ) err_code |= 1<<6;
-  puts ("7: blank");
-    if ( ID_Check(&blank_id[0],         0x40007000          ) == 1 ) err_code |= 1<<7;
+  puts ("7: blank - default slave (generates slave error)");
+    // if ( ID_Check(&blank_id[0],         0x40007000          ) == 1 ) err_code |= 1<<7;
   puts ("8: Watchdog");
     if ( ID_Check(&apb_watchdog_id[0],  CMSDK_WATCHDOG_BASE ) == 1 ) err_code |= 1<<8;
-  puts ("9: blank");
-    if ( ID_Check(&blank_id[0],         0x40009000          ) == 1 ) err_code |= 1<<9;
-  puts ("10: blank");
-    if ( ID_Check(&blank_id[0],         0x4000A000          ) == 1 ) err_code |= 1<<10;
+  puts ("9: blank - default slave (generates slave error)");
+    // if ( ID_Check(&blank_id[0],         0x40009000          ) == 1 ) err_code |= 1<<9;
+  puts ("10: blank - default slave (generates slave error)");
+    // if ( ID_Check(&blank_id[0],         0x4000A000          ) == 1 ) err_code |= 1<<10;
   puts ("11: APB test slave");
     if ( APB_test_slave_Check(          0x4000B000          ) == 1 ) err_code |= 1<<11;
-  puts ("12: APB expansion port 12");
-    if ( ID_Check(&blank_id[0],         0x4000C000          ) == 1 ) err_code |= 1<<12;
-  puts ("13: APB expansion port 13");
-    if ( ID_Check(&blank_id[0],         0x4000D000          ) == 1 ) err_code |= 1<<13;
-  puts ("14: APB expansion port 14");
+  puts ("12: DMAC 1 (Not Implemented) - Slave Error");
+    // if ( ID_Check(&blank_id[0],         0x4000C000          ) == 1 ) err_code |= 1<<12;
+  puts ("13: blank - default slave (generates slave error)");
+    // if ( ID_Check(&blank_id[0],         0x4000D000          ) == 1 ) err_code |= 1<<13;
+  puts ("14: Debug USRT");
     if ( ID_Check(&apb_uart_id[0],      CMSDK_USRT2_BASE    ) == 1 ) err_code |= 1<<14;
-  puts ("15: APB expansion port 15 (optional DMA controller)");
+  puts ("15: DMAC 0 (PL230)");
     if ( ID_Check(&pl230_udma_id[0],    CMSDK_PL230_BASE    ) == 1 ) err_code |= 1<<15;