diff --git a/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v b/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v
index f48916d..e973ddd 100644
--- a/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v
+++ b/verilog/dv/BrqRV_EB1/BrqRV_EB1_tb.v
@@ -91,7 +91,7 @@
             wait(mprj_io_0 == 28'd30);
             */
             // Observe Output pins [35:8] for mean & Determinant
-            //wait(mprj_io_0 == 28'd5);
+            wait(mprj_io_0 == 28'd5);
             
             // Observe Output pins [35:8] for power
             //wait(mprj_io_0 == 28'd64);
@@ -100,9 +100,9 @@
             //wait(mprj_io_0 == 28'd4889874);
             
             // Observe Output pins [35:8] for Queue 
-            wait(mprj_io_0 == 28'd5);
-            wait(mprj_io_0 == 28'd6);
-            wait(mprj_io_0 == 28'd7);
+            //wait(mprj_io_0 == 28'd5);
+            //wait(mprj_io_0 == 28'd6);
+            //wait(mprj_io_0 == 28'd7);
             
             // Observe Output pins [35:8] for perfect square
             //wait(mprj_io_0 == 28'd5);
diff --git a/verilog/dv/hex/uart.hex b/verilog/dv/hex/uart.hex
index 5a3b56e..a1a7a1a 100755
--- a/verilog/dv/hex/uart.hex
+++ b/verilog/dv/hex/uart.hex
@@ -1,12 +1,8 @@
 @00000000
-B0 20 10 73 B8 20 10 73 10 73 42 11 04 37 7F 92
-04 93 F0 04 09 13 00 50 09 93 00 60 0A 13 00 70
-02 93 00 30 03 13 00 00 03 93 00 10 0E 13 00 20
-00 EF 00 30 A0 0D 00 60 87 63 02 85 87 63 00 62
-88 63 00 72 80 82 01 C2 B7 FD C0 04 01 24 22 23
-24 23 B7 E5 B7 CD 01 34 00 04 22 83 00 44 23 03
-00 84 23 83 D0 58 0B 37 00 5B 20 23 00 01 0B 11
-00 01 00 01 20 23 00 01 0B 11 00 6B 00 01 00 01
-20 23 00 01 00 01 00 7B 00 01 00 01 D0 58 01 B7
-0F F0 02 93 00 51 80 23 FE 00 0A E3 00 01 00 01
-00 00 0F FF 
+B0 20 10 73 B8 20 10 73 5F 55 50 B7 55 50 80 93
+7C 00 90 73 90 73 40 91 00 01 7F 90 F0 04 04 37
+D0 58 09 B7 00 23 42 91 42 95 00 54 00 54 00 A3
+01 23 42 99 02 83 00 54 03 03 00 04 83 B3 00 14
+02 83 00 62 83 33 00 24 42 8D 00 53 02 53 43 B3
+00 74 01 A3 00 79 80 23 D0 58 01 B7 0F F0 02 93
+00 51 80 23 FE 00 0A E3 00 01 00 01 00 00 0F FF 
diff --git a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
index 5a071dc..39130bf 100644
--- a/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
+++ b/verilog/rtl/BrqRV_EB1/BrqRV_EB1.v
@@ -16,8 +16,8 @@
 
 module eb1_brqrv_wrapper (
 `ifdef USE_POWER_PINS
-	VPWR,
-	VGND,
+	vccd1,
+	vssd1,
 `endif	
 	clk,
 	rst_l,
@@ -225,8 +225,8 @@
 	endfunction
 	parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01};
 `ifdef USE_POWER_PINS
-	inout wire VPWR;
-	inout wire VGND;
+	inout wire vccd1;
+	inout wire vssd1;
 `endif
 	input wire clk;
 	input wire rst_l;
@@ -839,8 +839,8 @@
 		.iccm_wr_data((core_rst ? iccm_wr_data : {7'h00, iccm_instr_wdata, 7'h00, iccm_instr_wdata})),
 		.iccm_wr_size((core_rst ? iccm_wr_size : 3'b010)),
 		`ifdef USE_POWER_PINS
-		.VPWR(VPWR),
-		.VGND(VGND),
+		.vccd1(vccd1),
+		.vssd1(vssd1),
 		`endif
 		.dccm_clk_override(dccm_clk_override),
 		.icm_clk_override(icm_clk_override),
@@ -896,6 +896,11 @@
 		.wdata_o(iccm_instr_wdata),
 		.reset_o(core_rst)
 	);
+	
+	always @(iccm_instr_wdata) begin
+	$display("Instruction = %h", iccm_instr_wdata);
+	end
+	
 	eb1_uart_rx_prog uart_rx_m(
 		.i_Clock(clk),
 		.rst_ni(rst_l),
@@ -3079,8 +3084,8 @@
 endmodule
 module eb1_mem (
 `ifdef USE_POWER_PINS
-	VPWR,
-	VGND,
+	vccd1,
+	vssd1,
 `endif
 	clk,
 	rst_l,
@@ -3138,8 +3143,8 @@
 	endfunction
 	parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01};
 `ifdef USE_POWER_PINS
-	inout wire VPWR;
-	inout wire VGND;
+	inout wire vccd1;
+	inout wire vssd1;
 `endif
 	input wire clk;
 	input wire rst_l;
@@ -3202,8 +3207,8 @@
 			eb1_lsu_dccm_mem #(.pt(pt)) dccm(
 				.clk_override(dccm_clk_override),
 				`ifdef USE_POWER_PINS
-				.VPWR(VPWR),
-				.VGND(VGND),
+				.vccd1(vccd1),
+				.vssd1(vssd1),
 				`endif
 				.clk(clk),
 				.active_clk(active_clk),
@@ -3245,8 +3250,8 @@
 		if (pt[927-:5]) begin : iccm
 			eb1_ifu_iccm_mem #(.pt(pt)) iccm(
 				`ifdef USE_POWER_PINS
-				.VPWR(VPWR),
-				.VGND(VGND),
+				.vccd1(vccd1),
+				.vssd1(vssd1),
 				`endif
 				.clk(clk),
 				.active_clk(active_clk),
@@ -15182,8 +15187,8 @@
 endmodule
 module eb1_ifu_iccm_mem (
 `ifdef USE_POWER_PINS	
-	VPWR,
-	VGND,
+	vccd1,
+	vssd1,
 `endif
 	clk,
 	active_clk,
@@ -15207,8 +15212,8 @@
 	endfunction
 	parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01};
 `ifdef USE_POWER_PINS
-	inout wire VPWR;
-	inout wire VGND;
+	inout wire vccd1;
+	inout wire vssd1;
 `endif
 	input wire clk;
 	input wire active_clk;
@@ -15312,10 +15317,10 @@
 				);
 			end
 			else if (pt[917-:8] == 8) begin : iccm
-				/*sky130_sram_1kbyte_1rw1r_32x256_8 sram(
+				sky130_sram_1kbyte_1rw1r_32x256_8 sram(
 					`ifdef USE_POWER_PINS 
-					.vccd1(VPWR),
-					.vssd1(VGND),
+					.vccd1(vccd1),
+					.vssd1(vssd1),
 					`endif
 					.clk0(clk),
 					.csb0(~iccm_clken[i]),
@@ -15328,12 +15333,12 @@
 					.csb1(1'b1),
 					.addr1(8'h00),
 					.dout1()
-				);*/
-				DFFRAM iccm
+				);
+				/*DFFRAM iccm
 					(
 					`ifdef USE_POWER_PINS
-    					 .VPWR(VPWR),
-    					 .VGND(VGND),
+    					 .VPWR(vccd1),
+    					 .VGND(vssd1),
 					 `endif
     					 .CLK(clk),
     					 .WE({4{wren_bank[i]}}),
@@ -15341,7 +15346,7 @@
     					 .Di(iccm_bank_wr_data[(i * 39) + 31-:32]),
     					 .Do(iccm_bank_dout[(i * 39) + 31-:32]),
     					 .A(addr_bank[((pt[936-:9] - 1) >= pt[945-:9] ? pt[945-:9] : pt[936-:9] - 1) + (i * ((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1))+:((pt[936-:9] - 1) >= pt[945-:9] ? ((pt[936-:9] - 1) - pt[945-:9]) + 1 : (pt[945-:9] - (pt[936-:9] - 1)) + 1)])
-					);
+					);*/
 					
 			end
 			else if (pt[917-:8] == 9) begin : iccm
@@ -15367,8 +15372,8 @@
 			else if (pt[917-:8] == 10) begin : iccm
 				sky130_sram_1kbyte_1rw1r_32x256_8 sram(
 					`ifdef USE_POWER_PINS
-					.vccd1(VPWR),
-					.vssd1(VGND),
+					.vccd1(vccd1),
+					.vssd1(vssd1),
 					`endif
 					.clk0(clk),
 					.csb0(~iccm_clken[i]),
@@ -20646,8 +20651,8 @@
 endmodule
 module eb1_lsu_dccm_mem (
 `ifdef USE_POWER_PINS	
-	VPWR,
-	VGND,
+	vccd1,
+	vssd1,
 `endif
 	clk,
 	active_clk,
@@ -20672,8 +20677,8 @@
 	endfunction
 	parameter [2270:0] pt = {232'h0808040001c0400000000000010102000060800080103c12160802000c, sv2v_cast_1(4'h0), 5'h01, 5'h01, 6'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 7'h02, 9'h00c, 7'h04, 10'h020, 7'h07, 5'h01, 10'h027, 8'h08, 9'h004, 8'h0f, 36'h0f0040000, 14'h0004, 6'h02, 7'h03, 5'h01, 7'h05, 9'h001, 6'h02, 8'h01, 5'h01, 5'h01, 7'h01, 7'h03, 6'h03, 8'h08, 7'h02, 8'h05, 8'h03, 5'h01, 18'h00200, 7'h04, 11'h040, 5'h01, 5'h00, 11'h047, 9'h00c, 11'h040, 8'h08, 8'h02, 8'h02, 7'h02, 5'h00, 8'h06, 13'h0010, 7'h01, 5'h01, 17'h00080, 7'h06, 9'h00d, 8'h02, 8'h02, 5'h01, 7'h02, 9'h003, 9'h004, 9'h00c, 5'h01, 5'h00, 8'h08, 9'h004, 5'h01, 8'h0a, 36'h0affff000, 14'h0004, 5'h01, 6'h02, 8'h03, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 36'h000000000, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 5'h00, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 36'h0ffffffff, 5'h00, 5'h00, 5'h01, 6'h02, 8'h03, 9'h004, 7'h02, 9'h00c, 8'h04, 5'h00, 5'h00, 36'h0f00c0000, 9'h00f, 8'h01, 8'h0f, 13'h0020, 12'h01f, 13'h0020, 8'h08, 5'h01, 6'h02, 8'h01, 5'h01};
 `ifdef USE_POWER_PINS
-	inout wire VPWR;
-	inout wire VGND;
+	inout wire vccd1;
+	inout wire vssd1;
 `endif
 	input wire clk;
 	input wire active_clk;
@@ -20848,8 +20853,8 @@
 			else if (DCCM_INDEX_DEPTH == 1024) begin : dccm
 				sky130_sram_1kbyte_1rw1r_32x256_8 sram(
 					`ifdef USE_POWER_PINS
-					.vccd1(VPWR),
-					.vssd1(VGND),
+					.vccd1(vccd1),
+					.vssd1(vssd1),
 					`endif
 					.clk0(clk),
 					.csb0(~dccm_clken[i]),
@@ -20886,10 +20891,10 @@
 				);
 			end
 			else if (DCCM_INDEX_DEPTH == 256) begin : dccm
-				/*sky130_sram_1kbyte_1rw1r_32x256_8 sram(
+				sky130_sram_1kbyte_1rw1r_32x256_8 sram(
 					`ifdef USE_POWER_PINS
-					.vccd1(VPWR),
-					.vssd1(VGND),
+					.vccd1(vccd1),
+					.vssd1(vssd1),
 					`endif
 					.clk0(clk),
 					.csb0(~dccm_clken[i]),
@@ -20902,12 +20907,12 @@
 					.csb1(1'b1),
 					.addr1(8'h00),
 					.dout1()
-				);*/
-				DFFRAM dccm
+				);
+				/*DFFRAM dccm
 					(
 					`ifdef USE_POWER_PINS
-    					 .VPWR(VPWR),
-    					 .VGND(VGND),
+    					 .VPWR(vccd1),
+    					 .VGND(vssd1),
 					 `endif
     					 .CLK(clk),
     					 .WE({4{wren_bank[i]}}),
@@ -20915,7 +20920,7 @@
     					 .Di(wr_data_bank[(i * pt[1360-:10]) + 31-:32]),
     					 .Do(dccm_bank_dout[(i * pt[1360-:10]) + 31-:32]),
     					 .A(addr_bank[((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? pt[1405-:7] + 2 : pt[1398-:9] - 1) + (i * ((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1))+:((pt[1398-:9] - 1) >= (pt[1405-:7] + 2) ? ((pt[1398-:9] - 1) - (pt[1405-:7] + 2)) + 1 : ((pt[1405-:7] + 2) - (pt[1398-:9] - 1)) + 1)])
-					);
+					);*/
 			end
 			else if (DCCM_INDEX_DEPTH == 128) begin : dccm
 				ram_128x39 dccm_bank(
