pll moved to pinmux and uart master strap update and test bench clean up
diff --git a/gds/pinmux_top.gds.gz b/gds/pinmux_top.gds.gz
index c004dfd..a8cf7e6 100644
--- a/gds/pinmux_top.gds.gz
+++ b/gds/pinmux_top.gds.gz
Binary files differ
diff --git a/gds/user_project_wrapper.gds.gz b/gds/user_project_wrapper.gds.gz
index 8ddef2d..6c2d71f 100644
--- a/gds/user_project_wrapper.gds.gz
+++ b/gds/user_project_wrapper.gds.gz
Binary files differ
diff --git a/gds/wb_host.gds.gz b/gds/wb_host.gds.gz
index 4d08159..11093ea 100644
--- a/gds/wb_host.gds.gz
+++ b/gds/wb_host.gds.gz
Binary files differ
diff --git a/lef/pinmux_top.lef.gz b/lef/pinmux_top.lef.gz
index 1d19338..0e7986a 100644
--- a/lef/pinmux_top.lef.gz
+++ b/lef/pinmux_top.lef.gz
Binary files differ
diff --git a/lef/user_project_wrapper.lef.gz b/lef/user_project_wrapper.lef.gz
index aa0d2c5..d75d274 100644
--- a/lef/user_project_wrapper.lef.gz
+++ b/lef/user_project_wrapper.lef.gz
Binary files differ
diff --git a/lef/wb_host.lef.gz b/lef/wb_host.lef.gz
index bf095a2..fd2c96b 100644
--- a/lef/wb_host.lef.gz
+++ b/lef/wb_host.lef.gz
Binary files differ
diff --git a/openlane/pinmux_top/config.tcl b/openlane/pinmux_top/config.tcl
index 8c844d5..aec92b4 100755
--- a/openlane/pinmux_top/config.tcl
+++ b/openlane/pinmux_top/config.tcl
@@ -88,7 +88,7 @@
 set ::env(FP_PIN_ORDER_CFG) $::env(DESIGN_DIR)/pin_order.cfg
 
 set ::env(FP_SIZING) absolute
-set ::env(DIE_AREA) "0 0 500 800"
+set ::env(DIE_AREA) "0 0 500 750"
 
 
 # If you're going to use multiple power domains, then keep this disabled.
@@ -98,8 +98,8 @@
 
 
 set ::env(PL_TIME_DRIVEN) 1
-set ::env(PL_TARGET_DENSITY) "0.35"
-set ::env(CELL_PAD) "8"
+set ::env(PL_TARGET_DENSITY) "0.38"
+set ::env(CELL_PAD) "4"
 #set ::env(GRT_ADJUSTMENT) {0.2}
 
 
diff --git a/openlane/pinmux_top/pin_order.cfg b/openlane/pinmux_top/pin_order.cfg
index cd68806..25515be 100644
--- a/openlane/pinmux_top/pin_order.cfg
+++ b/openlane/pinmux_top/pin_order.cfg
@@ -72,6 +72,8 @@
 s_reset_n
 rtc_clk
 usb_clk
+strap_uartm\[1\]
+strap_uartm\[0\]
 strap_sticky\[31\]
 strap_sticky\[30\]
 strap_sticky\[29\]
@@ -301,7 +303,7 @@
 
 
 #N
-digital_io_oen\[37\]  000 0 2
+digital_io_oen\[37\]  000 0 4
 digital_io_out\[37\]
 digital_io_in\[37\]
 digital_io_oen\[36\]
diff --git a/openlane/user_project_wrapper/config.tcl b/openlane/user_project_wrapper/config.tcl
index da00168..d1a637e 100644
--- a/openlane/user_project_wrapper/config.tcl
+++ b/openlane/user_project_wrapper/config.tcl
@@ -136,6 +136,7 @@
 set ::env(VDD_PIN) {vccd1}
 set ::env(GND_PIN) {vssd1}
 
+set ::env(DRT_OPT_ITERS) {32}
 
 set ::env(GRT_OBS) "                              \
 	                li1   150 130  833.1  546.54,\
diff --git a/openlane/user_project_wrapper/macro.cfg b/openlane/user_project_wrapper/macro.cfg
index 368aff0..e702974 100644
--- a/openlane/user_project_wrapper/macro.cfg
+++ b/openlane/user_project_wrapper/macro.cfg
@@ -1,7 +1,7 @@
 u_qspi_master                2250             650           N
 u_uart_i2c_usb_spi           2250            1350           N
 u_pinmux                     2250            2250           N
-u_pll                        2300            3148           N
+u_pll                        2500            3148           N
 
 u_riscv_top.i_core_top_0    50	            1400 	       N
 u_riscv_top.u_connect       735	            1400	       N
diff --git a/openlane/wb_host/config.tcl b/openlane/wb_host/config.tcl
index ad81b5f..08d18dd 100755
--- a/openlane/wb_host/config.tcl
+++ b/openlane/wb_host/config.tcl
@@ -96,8 +96,8 @@
 
 
 
-#set ::env(FP_IO_VEXTEND) 4
-#set ::env(FP_IO_HEXTEND) 4
+set ::env(FP_IO_VEXTEND) 4
+set ::env(FP_IO_HEXTEND) 4
 
 set ::env(FP_PDN_VPITCH) 100
 set ::env(FP_PDN_HPITCH) 100
diff --git a/openlane/wb_host/pin_order.cfg b/openlane/wb_host/pin_order.cfg
index 25aea17..26c9f8e 100644
--- a/openlane/wb_host/pin_order.cfg
+++ b/openlane/wb_host/pin_order.cfg
@@ -315,6 +315,8 @@
 p_reset_n
 s_reset_n
 xtal_clk
+strap_uartm\[1\]
+strap_uartm\[0\]
 strap_sticky\[31\]
 strap_sticky\[30\]
 strap_sticky\[29\]
diff --git a/spef/pinmux_top.spef.gz b/spef/pinmux_top.spef.gz
index a5affea..533f3c9 100644
--- a/spef/pinmux_top.spef.gz
+++ b/spef/pinmux_top.spef.gz
Binary files differ
diff --git a/spef/user_project_wrapper.spef.gz b/spef/user_project_wrapper.spef.gz
index 935bc18..876c971 100644
--- a/spef/user_project_wrapper.spef.gz
+++ b/spef/user_project_wrapper.spef.gz
Binary files differ
diff --git a/spef/wb_host.spef.gz b/spef/wb_host.spef.gz
index 9434fbf..14df172 100644
--- a/spef/wb_host.spef.gz
+++ b/spef/wb_host.spef.gz
Binary files differ
diff --git a/spi/lvs/user_project_wrapper.spice.gz b/spi/lvs/user_project_wrapper.spice.gz
index e44f891..ff9c375 100644
--- a/spi/lvs/user_project_wrapper.spice.gz
+++ b/spi/lvs/user_project_wrapper.spice.gz
Binary files differ
diff --git a/sta/scripts/caravel_timing.tcl b/sta/scripts/caravel_timing.tcl
index e4a1421..9c9b9cd 100644
--- a/sta/scripts/caravel_timing.tcl
+++ b/sta/scripts/caravel_timing.tcl
@@ -207,9 +207,9 @@
     set tsram_iport [get_pins {mprj/u_tsram0_2kb/din0[*]}]
 	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/addr0[*]}]]
 	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/addr1[*]}]]
-	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/csb0[*]}]]
-	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/csb1[*]}]]
-	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/web0[*]}]]
+	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/csb0}]]
+	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/csb1}]]
+	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/web0}]]
 	set tsram_iport [concat $tsram_iport [get_pins {mprj/u_tsram0_2kb/wmask0[*]}]]
 
     set tsram_oport [get_pins {mprj/u_tsram0_2kb/dout0[*]}]
@@ -228,12 +228,12 @@
         }
 
     #ICACHE SRAM 
-    set isram_iport [                     get_pins {mprj/u_icahce_2kb/din0[*]}]
+    set isram_iport [                     get_pins {mprj/u_icache_2kb/din0[*]}]
 	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/addr0[*]}]]
 	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/addr1[*]}]]
-	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/csb0[*]}]]
-	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/csb1[*]}]]
-	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/web0[*]}]]
+	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/csb0}]]
+	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/csb1}]]
+	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/web0}]]
 	set isram_iport [concat $isram_iport [get_pins {mprj/u_icache_2kb/wmask0[*]}]]
 
     set isram_oport [                     get_pins {mprj/u_icache_2kb/dout0[*]}]
@@ -252,12 +252,12 @@
         }
 
     #DCACHE SRAM 
-    set dsram_iport [                     get_pins {mprj/u_dcahce_2kb/din0[*]}]
+    set dsram_iport [                     get_pins {mprj/u_dcache_2kb/din0[*]}]
 	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/addr0[*]}]]
 	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/addr1[*]}]]
-	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/csb0[*]}]]
-	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/csb1[*]}]]
-	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/web0[*]}]]
+	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/csb0}]]
+	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/csb1}]]
+	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/web0}]]
 	set dsram_iport [concat $isram_iport [get_pins {mprj/u_dcache_2kb/wmask0[*]}]]
 
     set dsram_oport [                     get_pins {mprj/u_dcache_2kb/dout0[*]}]
diff --git a/sta/sdc/caravel.sdc b/sta/sdc/caravel.sdc
index b4df712..ab8d910 100644
--- a/sta/sdc/caravel.sdc
+++ b/sta/sdc/caravel.sdc
@@ -18,17 +18,17 @@
 
 
 create_generated_clock -name wb_clk -add -source [get_ports {clock}] -master_clock [get_clocks master_clock] -divide_by 1 -comment {Wishbone User Clock} [get_pins mprj/wb_clk_i]
-create_clock -name int_pll_clock -period 5.0000  [get_pins {mprj/u_wb_host/u_clkbuf_pll.u_buf/X}]
+create_clock -name int_pll_clock -period 5.0000  [get_pins {mprj/u_pinmux/int_pll_clock}]
 
-create_clock -name wbs_ref_clk -period 5.0000   [get_pins {mprj/u_wb_host/u_wbs_ref_clkbuf.u_buf/X}]
+create_clock -name wbs_ref_clk -period 5.0000   [get_pins {mprj/u_wb_host/u_reg.u_wbs_ref_clkbuf.u_buf/X}]
 create_clock -name wbs_clk_i   -period 10.0000  [get_pins {mprj/u_wb_host/wbs_clk_out}]
 
-create_clock -name cpu_ref_clk -period 5.0000   [get_pins {mprj/u_wb_host/u_cpu_ref_clkbuf.u_buf/X}]
+create_clock -name cpu_ref_clk -period 5.0000   [get_pins {mprj/u_wb_host/u_reg.u_cpu_ref_clkbuf.u_buf/X}]
 create_clock -name cpu_clk     -period 10.0000  [get_pins {mprj/u_wb_host/cpu_clk}]
 
 create_clock -name rtc_clk     -period 50.0000  [get_pins {mprj/u_pinmux/rtc_clk}]
 
-create_clock -name pll_ref_clk -period 20.0000  [get_pins {mprj/u_wb_host/pll_ref_clk}]
+create_clock -name pll_ref_clk -period 20.0000  [get_pins {mprj/u_pinmux/pll_ref_clk}]
 create_clock -name pll_clk_0   -period 5.0000   [get_pins {mprj/u_pll/ringosc.ibufp01/Y}]
 
 create_clock -name usb_ref_clk -period 5.0000   [get_pins {mprj/u_pinmux/u_glbl_reg.u_usb_ref_clkbuf.u_buf/X}]
@@ -84,7 +84,7 @@
 set_case_analysis 0 [get_pins {mprj/u_riscv_top.u_connect/cfg_sram_lphase[1]}]
 
 #disable clock gating check at static clock select pins
-set_false_path -through [get_pins mprj/u_wb_host/u_wbs_clk_sel.genblk1.u_mux/S]
+#set_false_path -through [get_pins mprj/u_wb_host/u_wbs_clk_sel.genblk1.u_mux/S]
 
 set_propagated_clock [all_clocks]
 
diff --git a/verilog/dv/Makefile b/verilog/dv/Makefile
index e5717ba..37b0dcc 100644
--- a/verilog/dv/Makefile
+++ b/verilog/dv/Makefile
@@ -19,11 +19,13 @@
 .SUFFIXES:
 .SILENT: clean all
 
-PATTERNS = wb_port risc_boot user_risc_boot user_uart user_uart1 user_qspi user_i2cm riscv_regress user_basic user_usb user_pwm user_timer user_uart_master uart_master user_sram_exec user_cache_bypass user_gpio user_spi_isp arduino_risc_boot arduino_hello_world arduino_ascii_table arduino_multi_serial arduino_arrays arduino_switchCase2 arduino_character_analysis arduino_string arduino_digital_port_control user_sspi user_aes user_sema arduino_timer_intr
+PATTERNS = user_basic user_uart user_uart1 user_risc_boot user_qspi user_sspi user_i2cm user_usb user_gpio user_aes user_spi_isp user_timer user_uart_master user_sram_exec user_cache_bypass user_pwm user_sema risc_boot uart_master wb_port arduino_arrays arduino_digital_port_control arduino_i2c_scaner arduino_risc_boot arduino_timer_intr arduino_ascii_table arduino_gpio_intr arduino_i2c_wr_rd arduino_string arduino_ws281x arduino_character_analysis arduino_hello_world arduino_multi_serial arduino_switchCase2 riscv_regress
 
 all:  ${PATTERNS}
+	echo "################# Test case Summary #####################" > regression.rpt
+	xterm -e /usr/bin/watch -n 25 /bin/cat regression.rpt & 
 	for i in ${PATTERNS}; do \
-		( cd $$i && make -f Makefile $${i}.vcd &> verify.log && grep Monitor verify.log) ; \
+		( cd $$i && make | tee run.log && grep Monitor run.log | grep $$i >> ../regression.rpt) ; \
 	done
 
 DV_PATTERNS = $(foreach dv, $(PATTERNS), verify-$(dv))
diff --git a/verilog/dv/arduino_arrays/arduino_arrays_tb.v b/verilog/dv/arduino_arrays/arduino_arrays_tb.v
index d804ea5..f7f4808 100644
--- a/verilog/dv/arduino_arrays/arduino_arrays_tb.v
+++ b/verilog/dv/arduino_arrays/arduino_arrays_tb.v
@@ -238,15 +238,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Ardunio arrays  (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Ardunio arrays (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Ardunio arrays (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Ardunio arrays (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_ascii_table/arduino_ascii_table_tb.v b/verilog/dv/arduino_ascii_table/arduino_ascii_table_tb.v
index ee76859..5152893 100644
--- a/verilog/dv/arduino_ascii_table/arduino_ascii_table_tb.v
+++ b/verilog/dv/arduino_ascii_table/arduino_ascii_table_tb.v
@@ -235,15 +235,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone Hello World (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone Hello World (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone Hello World (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone Hello World (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_character_analysis/arduino_character_analysis_tb.v b/verilog/dv/arduino_character_analysis/arduino_character_analysis_tb.v
index 0aaefb7..275b18b 100644
--- a/verilog/dv/arduino_character_analysis/arduino_character_analysis_tb.v
+++ b/verilog/dv/arduino_character_analysis/arduino_character_analysis_tb.v
@@ -283,15 +283,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	   $display("Monitor: character_analysis (GL) Passed");
+	    	   $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: character_analysis (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	   $display("Monitor: character_analysis (GL) Failed");
+	    	   $display("Monitor: %m  (GL) Failed");
 		    `else
-		       $display("Monitor: character_analysis (RTL) Failed");
+		       $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_digital_port_control/arduino_digital_port_control_tb.v b/verilog/dv/arduino_digital_port_control/arduino_digital_port_control_tb.v
index e12c308..eaf97d5 100644
--- a/verilog/dv/arduino_digital_port_control/arduino_digital_port_control_tb.v
+++ b/verilog/dv/arduino_digital_port_control/arduino_digital_port_control_tb.v
@@ -209,15 +209,15 @@
 	  $display("###################################################");
       if(test_fail == 0) begin
 	    `ifdef GL
-	           $display("Monitor: Ardunio Digital Port Control  (GL) Passed");
+	           $display("Monitor: %m (GL) Passed");
 	    `else
-	       $display("Monitor: Ardunio Digital Port Control (RTL) Passed");
+	       $display("Monitor: %m (RTL) Passed");
 	    `endif
 	  end else begin
 	  `ifdef GL
-	      $display("Monitor: Ardunio Digital Port Control (GL) Failed");
+	      $display("Monitor: %m (GL) Failed");
 	  `else
-	      $display("Monitor: Ardunio Digital Port Control (RTL) Failed");
+	      $display("Monitor: %m (RTL) Failed");
 	  `endif
 	  end
 	    $display("###################################################");
diff --git a/verilog/dv/arduino_gpio_intr/arduino_gpio_intr_tb.v b/verilog/dv/arduino_gpio_intr/arduino_gpio_intr_tb.v
index 92495ad..23e360e 100644
--- a/verilog/dv/arduino_gpio_intr/arduino_gpio_intr_tb.v
+++ b/verilog/dv/arduino_gpio_intr/arduino_gpio_intr_tb.v
@@ -358,15 +358,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone String (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone String (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone String (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone String (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_hello_world/arduino_hello_world_tb.v b/verilog/dv/arduino_hello_world/arduino_hello_world_tb.v
index beb220f..44b41db 100644
--- a/verilog/dv/arduino_hello_world/arduino_hello_world_tb.v
+++ b/verilog/dv/arduino_hello_world/arduino_hello_world_tb.v
@@ -237,15 +237,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone Hello World (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone Hello World (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone Hello World (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone Hello World (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_i2c_scaner/arduino_i2c_scaner_tb.v b/verilog/dv/arduino_i2c_scaner/arduino_i2c_scaner_tb.v
index f8f2cfb..ace2a5b 100644
--- a/verilog/dv/arduino_i2c_scaner/arduino_i2c_scaner_tb.v
+++ b/verilog/dv/arduino_i2c_scaner/arduino_i2c_scaner_tb.v
@@ -245,15 +245,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone i2c scanner (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone i2c scanner (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone i2c scanner (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone i2c scanner (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_i2c_wr_rd/arduino_i2c_wr_rd_tb.v b/verilog/dv/arduino_i2c_wr_rd/arduino_i2c_wr_rd_tb.v
index b507fb0..3c94c7d 100644
--- a/verilog/dv/arduino_i2c_wr_rd/arduino_i2c_wr_rd_tb.v
+++ b/verilog/dv/arduino_i2c_wr_rd/arduino_i2c_wr_rd_tb.v
@@ -242,15 +242,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone i2c scanner (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone i2c scanner (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone i2c scanner (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone i2c scanner (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_multi_serial/arduino_multi_serial_tb.v b/verilog/dv/arduino_multi_serial/arduino_multi_serial_tb.v
index 5c7f4d0..fc55f4c 100644
--- a/verilog/dv/arduino_multi_serial/arduino_multi_serial_tb.v
+++ b/verilog/dv/arduino_multi_serial/arduino_multi_serial_tb.v
@@ -203,7 +203,7 @@
                 tb_uart1.control_setup (uart_data_bit, uart_stop_bits, uart_parity_en, uart_even_odd_parity, 
                                                uart_stick_parity, uart_timeout, uart_divisor);
 
-                repeat (1000) @(posedge clock);  // wait for Processor Get Ready
+                repeat (10000) @(posedge clock);  // wait for Processor Get Ready
 	            flag  = 0;
 		        check_sum = 0;
                 
@@ -263,15 +263,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone Multi Serial (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone Multi Serial (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone Multi Serial (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone Multi Serial (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_risc_boot/arduino_risc_boot_tb.v b/verilog/dv/arduino_risc_boot/arduino_risc_boot_tb.v
index d0e77dd..34247b0 100644
--- a/verilog/dv/arduino_risc_boot/arduino_risc_boot_tb.v
+++ b/verilog/dv/arduino_risc_boot/arduino_risc_boot_tb.v
@@ -141,15 +141,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone User Risc Boot (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone User Risc Boot (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone User Risc Boot (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone User Risc Boot (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_string/arduino_string_tb.v b/verilog/dv/arduino_string/arduino_string_tb.v
index 539b87d..a02727a 100644
--- a/verilog/dv/arduino_string/arduino_string_tb.v
+++ b/verilog/dv/arduino_string/arduino_string_tb.v
@@ -238,15 +238,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone String (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone String (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone String (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone String (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_switchCase2/arduino_switchCase2_tb.v b/verilog/dv/arduino_switchCase2/arduino_switchCase2_tb.v
index 081eca4..3432fca 100644
--- a/verilog/dv/arduino_switchCase2/arduino_switchCase2_tb.v
+++ b/verilog/dv/arduino_switchCase2/arduino_switchCase2_tb.v
@@ -298,15 +298,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: arduino_switchCase2 (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: arduino_switchCase2 (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: arduino_switchCase2 (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: arduino_switchCase2 (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_timer_intr/arduino_timer_intr_tb.v b/verilog/dv/arduino_timer_intr/arduino_timer_intr_tb.v
index 90dee0b..043a19a 100644
--- a/verilog/dv/arduino_timer_intr/arduino_timer_intr_tb.v
+++ b/verilog/dv/arduino_timer_intr/arduino_timer_intr_tb.v
@@ -247,15 +247,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone String (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone String (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone String (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone String (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/arduino_ws281x/arduino_ws281x_tb.v b/verilog/dv/arduino_ws281x/arduino_ws281x_tb.v
index 5c9a9c9..43929a1 100644
--- a/verilog/dv/arduino_ws281x/arduino_ws281x_tb.v
+++ b/verilog/dv/arduino_ws281x/arduino_ws281x_tb.v
@@ -239,15 +239,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone String (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone String (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone String (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone String (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/common/agents/user_tasks.sv b/verilog/dv/common/agents/user_tasks.sv
index 969fb3a..2a1edbe 100644
--- a/verilog/dv/common/agents/user_tasks.sv
+++ b/verilog/dv/common/agents/user_tasks.sv
@@ -4,7 +4,7 @@
 wire  [15:0]    strap_in;
 assign strap_in[`PSTRAP_CLK_SRC] = 2'b00;            // System Clock Source wbs/riscv: User clock1
 assign strap_in[`PSTRAP_CLK_DIV] = 2'b00;            // Clock Division for wbs/riscv : 0 Div
-assign strap_in[`PSTRAP_UARTM_CFG] = 1'b0;           // uart master config control -  constant value based on system clock selection
+assign strap_in[`PSTRAP_UARTM_CFG] = 2'b0;           // uart master config control -  constant value based on system clock selection
 assign strap_in[`PSTRAP_QSPI_SRAM] = 1'b1;           // QSPI SRAM Mode Selection - Quad 
 assign strap_in[`PSTRAP_QSPI_FLASH] = 2'b10;         // QSPI Fash Mode Selection - Quad
 assign strap_in[`PSTRAP_RISCV_RESET_MODE] = 1'b1;    // Riscv Reset control - Removed Riscv on Power On Reset
@@ -30,9 +30,9 @@
 //---------------------------------------------------------
 
 `ifdef RISC_BOOT // RISCV Based Test case
-parameter bit  [15:0] PAD_STRAP = 16'b0000_0001_1011_0000;
+parameter bit  [15:0] PAD_STRAP = 16'b0000_0001_1010_0000;
 `else
-parameter bit  [15:0] PAD_STRAP = 16'b0000_0000_1011_0000;
+parameter bit  [15:0] PAD_STRAP = 16'b0000_0000_1010_0000;
 `endif
 
 //-------------------------------------------------------------
diff --git a/verilog/dv/risc_boot/risc_boot_tb.v b/verilog/dv/risc_boot/risc_boot_tb.v
index 31842cb..51bde45 100644
--- a/verilog/dv/risc_boot/risc_boot_tb.v
+++ b/verilog/dv/risc_boot/risc_boot_tb.v
@@ -151,9 +151,9 @@
 		$display("%c[1;31m",27);
 		$display ("##########################################################");
 		`ifdef GL
-			$display ("Monitor: Timeout, Test Risc Boot (GL) Failed");
+			$display ("Monitor: Timeout, %m (GL) Failed");
 		`else
-			$display ("Monitor: Timeout, Test Risc Boot (RTL) Failed");
+			$display ("Monitor: Timeout, %m (RTL) Failed");
 		`endif
 		$display ("##########################################################");
 		$display("%c[0m",27);
@@ -228,15 +228,15 @@
               $display("###################################################");
               if(test_fail == 0) begin
                  `ifdef GL
-                     $display("Monitor: Standalone User Risc Boot Test (GL) Passed");
+                     $display("Monitor: %m (GL) Passed");
                  `else
-                     $display("Monitor: Standalone User Risc Boot Test (RTL) Passed");
+                     $display("Monitor: %m (RTL) Passed");
                  `endif
               end else begin
                   `ifdef GL
-                      $display("Monitor: Standalone User Risc Boot Test (GL) Failed");
+                      $display("Monitor: %m (GL) Failed");
                   `else
-                      $display("Monitor: Standalone User Risc Boot Test (RTL) Failed");
+                      $display("Monitor: %m (RTL) Failed");
                   `endif
                end
               $display("###################################################");
diff --git a/verilog/dv/uart_master/uart_master_tb.v b/verilog/dv/uart_master/uart_master_tb.v
index a8b6f9e..2a99ff7 100644
--- a/verilog/dv/uart_master/uart_master_tb.v
+++ b/verilog/dv/uart_master/uart_master_tb.v
@@ -91,9 +91,9 @@
 		$display("%c[1;31m",27);
 		$display ("##########################################################");
 		`ifdef GL
-		   $display ("Monitor: Timeout, Test UART Master (GL) Failed");
+		   $display ("Monitor: Timeout, %m (GL) Failed");
 		`else
-		   $display ("Monitor: Timeout, Test UART Master (RTL) Failed");
+		   $display ("Monitor: Timeout, %m (RTL) Failed");
 		`endif
 		$display ("##########################################################");
 		$display("%c[0m",27);
@@ -162,15 +162,15 @@
            $display("###################################################");
            if(test_fail == 0) begin
               `ifdef GL
-                  $display("Monitor: Standalone User UART Master (GL) Passed");
+                  $display("Monitor: %m (GL) Passed");
               `else
-                  $display("Monitor: Standalone User Uart Master (RTL) Passed");
+                  $display("Monitor: %m (RTL) Passed");
               `endif
            end else begin
                `ifdef GL
-                   $display("Monitor: Standalone User Uart Master (GL) Failed");
+                   $display("Monitor: %m (GL) Failed");
                `else
-                   $display("Monitor: Standalone User Uart Master (RTL) Failed");
+                   $display("Monitor: %m (RTL) Failed");
                `endif
             end
            $display("###################################################");
diff --git a/verilog/dv/user_aes/user_aes_tb.v b/verilog/dv/user_aes/user_aes_tb.v
index 548f113..3d47bd3 100644
--- a/verilog/dv/user_aes/user_aes_tb.v
+++ b/verilog/dv/user_aes/user_aes_tb.v
@@ -210,15 +210,15 @@
                $display("###################################################");
                if(test_fail == 0) begin
                   `ifdef GL
-                      $display("Monitor: Standalone User AES Test (GL) Passed");
+                      $display("Monitor: %m (GL) Passed");
                   `else
-                      $display("Monitor: Standalone User AES Test (RTL) Passed");
+                      $display("Monitor: %m (RTL) Passed");
                   `endif
                end else begin
                    `ifdef GL
-                       $display("Monitor: Standalone User AES Test (GL) Failed");
+                       $display("Monitor: %m (GL) Failed");
                    `else
-                       $display("Monitor: Standalone User AES Test (RTL) Failed");
+                       $display("Monitor: %m (RTL) Failed");
                    `endif
                 end
                $display("###################################################");
diff --git a/verilog/dv/user_basic/Makefile b/verilog/dv/user_basic/Makefile
index c1ad8ae..1067943 100644
--- a/verilog/dv/user_basic/Makefile
+++ b/verilog/dv/user_basic/Makefile
@@ -73,7 +73,7 @@
 endif
 
 %.vcd: %.vvp
-	vvp $<
+	vvp $< 
 
 
 # ---- Clean ----
diff --git a/verilog/dv/user_basic/user_basic_tb.v b/verilog/dv/user_basic/user_basic_tb.v
index 6cb1360..2a1858d 100644
--- a/verilog/dv/user_basic/user_basic_tb.v
+++ b/verilog/dv/user_basic/user_basic_tb.v
@@ -422,15 +422,15 @@
       $display("###################################################");
       if(test_fail == 0) begin
          `ifdef GL
-             $display("Monitor: Standalone User UART Test (GL) Passed");
+             $display("Monitor: %m (GL) Passed");
          `else
-             $display("Monitor: Standalone User UART Test (RTL) Passed");
+             $display("Monitor: %m (RTL) Passed");
          `endif
       end else begin
           `ifdef GL
-              $display("Monitor: Standalone User UART Test (GL) Failed");
+              $display("Monitor: %m (GL) Failed");
           `else
-              $display("Monitor: Standalone User UART Test (RTL) Failed");
+              $display("Monitor: %m (RTL) Failed");
           `endif
        end
       $display("###################################################");
diff --git a/verilog/dv/user_cache_bypass/user_cache_bypass_tb.v b/verilog/dv/user_cache_bypass/user_cache_bypass_tb.v
index 838cb98..b8909fa 100644
--- a/verilog/dv/user_cache_bypass/user_cache_bypass_tb.v
+++ b/verilog/dv/user_cache_bypass/user_cache_bypass_tb.v
@@ -130,15 +130,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone User Risc Boot (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone User Risc Boot (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone User Risc Boot (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone User Risc Boot (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/user_gpio/user_gpio_tb.v b/verilog/dv/user_gpio/user_gpio_tb.v
index 406fb8b..0efe8fe 100644
--- a/verilog/dv/user_gpio/user_gpio_tb.v
+++ b/verilog/dv/user_gpio/user_gpio_tb.v
@@ -332,15 +332,15 @@
 
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: GPIO Mode (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: GPIO Mode (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: GPIO Mode (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: GPIO Mode (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/user_i2cm/user_i2cm_tb.v b/verilog/dv/user_i2cm/user_i2cm_tb.v
index 0328fea..0547990 100644
--- a/verilog/dv/user_i2cm/user_i2cm_tb.v
+++ b/verilog/dv/user_i2cm/user_i2cm_tb.v
@@ -245,15 +245,15 @@
      $display("###################################################");
      if(test_fail == 0) begin
         `ifdef GL
-            $display("Monitor: Standalone User I2M Test (GL) Passed");
+            $display("Monitor: %m (GL) Passed");
         `else
-            $display("Monitor: Standalone User I2M Test (RTL) Passed");
+            $display("Monitor: %m (RTL) Passed");
         `endif
      end else begin
          `ifdef GL
-             $display("Monitor: Standalone User I2M Test (GL) Failed");
+             $display("Monitor: %m (GL) Failed");
          `else
-             $display("Monitor: Standalone User I2M Test (RTL) Failed");
+             $display("Monitor: %m (RTL) Failed");
          `endif
       end
      $display("###################################################");
diff --git a/verilog/dv/user_pwm/user_pwm_tb.v b/verilog/dv/user_pwm/user_pwm_tb.v
index 5ec74d4..8d7a20a 100644
--- a/verilog/dv/user_pwm/user_pwm_tb.v
+++ b/verilog/dv/user_pwm/user_pwm_tb.v
@@ -143,15 +143,15 @@
 
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: PWM Mode (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: PWM Mode (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: PWM Mode (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: PWM Mode (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/user_qspi/user_qspi_tb.v b/verilog/dv/user_qspi/user_qspi_tb.v
index 35f1cd2..9801bdd 100644
--- a/verilog/dv/user_qspi/user_qspi_tb.v
+++ b/verilog/dv/user_qspi/user_qspi_tb.v
@@ -1111,15 +1111,15 @@
 
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: SPI Master Mode (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: SPI Master Mode (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: SPI Master Mode (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: SPI Master Mode (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/user_risc_boot/user_risc_boot_tb.v b/verilog/dv/user_risc_boot/user_risc_boot_tb.v
index 527ac4e..0901b82 100644
--- a/verilog/dv/user_risc_boot/user_risc_boot_tb.v
+++ b/verilog/dv/user_risc_boot/user_risc_boot_tb.v
@@ -144,15 +144,15 @@
 	    	$display("###################################################");
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Standalone User Risc Boot (GL) Passed");
+	    	   $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Standalone User Risc Boot (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Standalone User Risc Boot (GL) Failed");
+	    	    $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Standalone User Risc Boot (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/user_sema/user_sema_tb.v b/verilog/dv/user_sema/user_sema_tb.v
index 1f6c3b6..fa2b8a8 100644
--- a/verilog/dv/user_sema/user_sema_tb.v
+++ b/verilog/dv/user_sema/user_sema_tb.v
@@ -172,15 +172,15 @@
       $display("###################################################");
       if(test_fail == 0) begin
          `ifdef GL
-             $display("Monitor: Semaphore Test (GL) Passed");
+             $display("Monitor: %m (GL) Passed");
          `else
-             $display("Monitor: Semaphore Test (RTL) Passed");
+             $display("Monitor: %m (RTL) Passed");
          `endif
       end else begin
           `ifdef GL
-              $display("Monitor: Semaphore Test (GL) Failed");
+              $display("Monitor: %m (GL) Failed");
           `else
-              $display("Monitor: Semaphore Test (RTL) Failed");
+              $display("Monitor: %m (RTL) Failed");
           `endif
        end
       $display("###################################################");
diff --git a/verilog/dv/user_spi_isp/user_spi_isp_tb.v b/verilog/dv/user_spi_isp/user_spi_isp_tb.v
index 0b31aa1..bc6a80c 100644
--- a/verilog/dv/user_spi_isp/user_spi_isp_tb.v
+++ b/verilog/dv/user_spi_isp/user_spi_isp_tb.v
@@ -134,15 +134,15 @@
    $display("###################################################");
    if(u_spim.err_cnt == 0) begin
       `ifdef GL
-          $display("Monitor: Standalone User SPI ISP (GL) Passed");
+          $display("Monitor: %m (GL) Passed");
       `else
-          $display("Monitor: Standalone User SPI ISP (RTL) Passed");
+          $display("Monitor: %m (RTL) Passed");
       `endif
    end else begin
        `ifdef GL
-           $display("Monitor: Standalone User SPI ISP (GL) Failed");
+           $display("Monitor: %m (GL) Failed");
        `else
-           $display("Monitor: Standalone User SPI ISP (RTL) Failed");
+           $display("Monitor: %m (RTL) Failed");
        `endif
     end
    $display("###################################################");
diff --git a/verilog/dv/user_sram_exec/user_sram_exec_tb.v b/verilog/dv/user_sram_exec/user_sram_exec_tb.v
index fb7095d..277dae2 100644
--- a/verilog/dv/user_sram_exec/user_sram_exec_tb.v
+++ b/verilog/dv/user_sram_exec/user_sram_exec_tb.v
@@ -142,15 +142,15 @@
 	    $display("###################################################");
         if(test_fail == 0) begin
 		`ifdef GL
-	    	$display("Monitor: Standalone User Risc Boot (GL) Passed");
+	    	$display("Monitor: %m (GL) Passed");
 		`else
-		    $display("Monitor: Standalone User Risc Boot (RTL) Passed");
+		    $display("Monitor: %m (RTL) Passed");
 		`endif
 	    end else begin
 		`ifdef GL
-	       $display("Monitor: Standalone User Risc Boot (GL) Failed");
+	       $display("Monitor: %m (GL) Failed");
 		`else
-		   $display("Monitor: Standalone User Risc Boot (RTL) Failed");
+		   $display("Monitor: %m (RTL) Failed");
 		`endif
 		 end
 	   	 $display("###################################################");
diff --git a/verilog/dv/user_sspi/user_sspi_tb.v b/verilog/dv/user_sspi/user_sspi_tb.v
index 2ecf28e..1650d50 100644
--- a/verilog/dv/user_sspi/user_sspi_tb.v
+++ b/verilog/dv/user_sspi/user_sspi_tb.v
@@ -352,15 +352,15 @@
 
         if(test_fail == 0) begin
 		`ifdef GL
-	    	$display("Monitor: SPI Master Mode (GL) Passed");
+	    	$display("Monitor: %m (GL) Passed");
 		`else
-		    $display("Monitor: SPI Master Mode (RTL) Passed");
+		    $display("Monitor: %m (RTL) Passed");
 		`endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: SPI Master Mode (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: SPI Master Mode (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/user_timer/user_timer_tb.v b/verilog/dv/user_timer/user_timer_tb.v
index 0fd19b9..62aa667 100644
--- a/verilog/dv/user_timer/user_timer_tb.v
+++ b/verilog/dv/user_timer/user_timer_tb.v
@@ -195,15 +195,15 @@
 
           	if(test_fail == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: Timer Mode (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: Timer Mode (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: Timer Mode (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: Timer Mode (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/user_uart/user_uart_tb.v b/verilog/dv/user_uart/user_uart_tb.v
index db86ad0..8029645 100644
--- a/verilog/dv/user_uart/user_uart_tb.v
+++ b/verilog/dv/user_uart/user_uart_tb.v
@@ -217,15 +217,15 @@
       $display("###################################################");
       if(test_fail == 0) begin
          `ifdef GL
-             $display("Monitor: Standalone User UART Test (GL) Passed");
+             $display("Monitor: %m (GL) Passed");
          `else
-             $display("Monitor: Standalone User UART Test (RTL) Passed");
+             $display("Monitor: %m (RTL) Passed");
          `endif
       end else begin
           `ifdef GL
-              $display("Monitor: Standalone User UART Test (GL) Failed");
+              $display("Monitor: %m (GL) Failed");
           `else
-              $display("Monitor: Standalone User UART Test (RTL) Failed");
+              $display("Monitor: %m (RTL) Failed");
           `endif
        end
       $display("###################################################");
diff --git a/verilog/dv/user_uart1/user_uart1_tb.v b/verilog/dv/user_uart1/user_uart1_tb.v
index 91405a8..2d1c2b2 100644
--- a/verilog/dv/user_uart1/user_uart1_tb.v
+++ b/verilog/dv/user_uart1/user_uart1_tb.v
@@ -213,15 +213,15 @@
       $display("###################################################");
       if(test_fail == 0) begin
          `ifdef GL
-             $display("Monitor: Standalone User UART Test (GL) Passed");
+             $display("Monitor: %m (GL) Passed");
          `else
-             $display("Monitor: Standalone User UART Test (RTL) Passed");
+             $display("Monitor: %m (RTL) Passed");
          `endif
       end else begin
           `ifdef GL
-              $display("Monitor: Standalone User UART Test (GL) Failed");
+              $display("Monitor: %m (GL) Failed");
           `else
-              $display("Monitor: Standalone User UART Test (RTL) Failed");
+              $display("Monitor: %m (RTL) Failed");
           `endif
        end
       $display("###################################################");
diff --git a/verilog/dv/user_uart_master/user_uart_master_tb.v b/verilog/dv/user_uart_master/user_uart_master_tb.v
index 682d986..33277cb 100644
--- a/verilog/dv/user_uart_master/user_uart_master_tb.v
+++ b/verilog/dv/user_uart_master/user_uart_master_tb.v
@@ -116,7 +116,7 @@
 initial
 begin
    strap_in = 0;
-   strap_in[`PSTRAP_UARTM_CFG] = 0; // uart master config control - load from LA
+   strap_in[`PSTRAP_UARTM_CFG] = 2'b11; // uart master config control - load from LA
    apply_strap(strap_in);
 
    uart_data_bit           = 2'b11;
@@ -181,15 +181,15 @@
    $display("###################################################");
    if(test_fail == 0) begin
       `ifdef GL
-          $display("Monitor: Standalone User UART Master (GL) Passed");
+          $display("Monitor: %m (GL) Passed");
       `else
-          $display("Monitor: Standalone User Uart Master (RTL) Passed");
+          $display("Monitor: %m (RTL) Passed");
       `endif
    end else begin
        `ifdef GL
-           $display("Monitor: Standalone User Uart Master (GL) Failed");
+           $display("Monitor: %m (GL) Failed");
        `else
-           $display("Monitor: Standalone User Uart Master (RTL) Failed");
+           $display("Monitor: %m (RTL) Failed");
        `endif
     end
    $display("###################################################");
diff --git a/verilog/dv/user_usb/user_usb_tb.v b/verilog/dv/user_usb/user_usb_tb.v
index 8f4a49c..7c0dac5 100644
--- a/verilog/dv/user_usb/user_usb_tb.v
+++ b/verilog/dv/user_usb/user_usb_tb.v
@@ -145,15 +145,15 @@
 
           	if(test_control.error_count == 0) begin
 		   `ifdef GL
-	    	       $display("Monitor: USB Mode (GL) Passed");
+	    	       $display("Monitor: %m (GL) Passed");
 		   `else
-		       $display("Monitor: USB Mode (RTL) Passed");
+		       $display("Monitor: %m (RTL) Passed");
 		   `endif
 	        end else begin
 		    `ifdef GL
-	    	        $display("Monitor: USB Mode (GL) Failed");
+	    	        $display("Monitor: %m (GL) Failed");
 		    `else
-		        $display("Monitor: USB Mode (RTL) Failed");
+		        $display("Monitor: %m (RTL) Failed");
 		    `endif
 		 end
 	    	$display("###################################################");
diff --git a/verilog/dv/wb_port/wb_port_tb.v b/verilog/dv/wb_port/wb_port_tb.v
index ea2d2c2..271e092 100644
--- a/verilog/dv/wb_port/wb_port_tb.v
+++ b/verilog/dv/wb_port/wb_port_tb.v
@@ -71,9 +71,9 @@
 		$display("%c[1;31m",27);
 		$display ("##########################################################");
 		`ifdef GL
-			$display ("Monitor: Timeout, Test Mega-Project WB Port (GL) Failed");
+			$display ("Monitor: Timeout, %m (GL) Failed");
 		`else
-			$display ("Monitor: Timeout, Test Mega-Project WB Port (RTL) Failed");
+			$display ("Monitor: Timeout, %m (RTL) Failed");
 		`endif
 		$display ("##########################################################");
 		$display("%c[0m",27);
@@ -87,9 +87,9 @@
 		wait(checkbits == 16'h AB6A);
 		$display ("##########################################################");
 		`ifdef GL
-	    	$display("Monitor: Mega-Project WB (GL) Passed");
+	    	$display("Monitor: %m (GL) Passed");
 		`else
-		    $display("Monitor: Mega-Project WB (RTL) Passed");
+		    $display("Monitor: %m (RTL) Passed");
 		`endif
 		$display ("##########################################################");
 	    $finish;
diff --git a/verilog/gl/pinmux_top.v.gz b/verilog/gl/pinmux_top.v.gz
index 45e74f3..2b73266 100644
--- a/verilog/gl/pinmux_top.v.gz
+++ b/verilog/gl/pinmux_top.v.gz
Binary files differ
diff --git a/verilog/gl/user_project_wrapper.v.gz b/verilog/gl/user_project_wrapper.v.gz
index 09b8a2e..d3570af 100644
--- a/verilog/gl/user_project_wrapper.v.gz
+++ b/verilog/gl/user_project_wrapper.v.gz
Binary files differ
diff --git a/verilog/gl/wb_host.v.gz b/verilog/gl/wb_host.v.gz
index 1e4b933..85265ec 100644
--- a/verilog/gl/wb_host.v.gz
+++ b/verilog/gl/wb_host.v.gz
Binary files differ
diff --git a/verilog/rtl/pinmux/src/glbl_reg.sv b/verilog/rtl/pinmux/src/glbl_reg.sv
index 33d37b4..a8e21c7 100644
--- a/verilog/rtl/pinmux/src/glbl_reg.sv
+++ b/verilog/rtl/pinmux/src/glbl_reg.sv
@@ -62,6 +62,7 @@
                        // to/from Global Reset FSM
 	                    input  logic [31:0]    system_strap           ,
 	                    output logic [31:0]    strap_sticky           ,
+	                    output logic [1:0]     strap_uartm            ,
                        
 
                        // Global Reset control
@@ -304,7 +305,6 @@
 
 glbl_rst_reg  #(32'h0) u_reg_1	(
 	      //List of Inputs
-          .e_reset_n  (e_reset_n     ),
 	      .s_reset_n  (s_reset_n     ),
           .rst_in     (rst_in        ),
 	      .clk        (mclk          ),
@@ -490,7 +490,8 @@
 	      
 	      //List of Outs
            .strap_latch         (strap_latch ),
-	       .strap_sticky        (strap_sticky) 
+	       .strap_sticky        (strap_sticky),
+	       .strap_uartm         (strap_uartm) 
          );
 
 
diff --git a/verilog/rtl/pinmux/src/glbl_rst_reg.sv b/verilog/rtl/pinmux/src/glbl_rst_reg.sv
index cca7d0b..c0f8019 100644
--- a/verilog/rtl/pinmux/src/glbl_rst_reg.sv
+++ b/verilog/rtl/pinmux/src/glbl_rst_reg.sv
@@ -26,7 +26,6 @@
 **********************************************************************************/
 
 module  glbl_rst_reg	(
-	      input logic        e_reset_n,
 	      input logic        s_reset_n,
 	      //List of Inputs
           input logic [31:0] rst_in,
@@ -41,22 +40,23 @@
 
   parameter   RESET_DEFAULT    = 32'h0;  
 
-logic [31:0] data_out_l;
 
-always @ (posedge clk or negedge e_reset_n) begin 
-  if (e_reset_n == 1'b0) begin
+logic flag;
+always @ (posedge clk or negedge s_reset_n) begin 
+  if (s_reset_n == 1'b0) begin
     data_out       <= RESET_DEFAULT ;
-    data_out_l     <= 'h0 ;
-  end else if (s_reset_n == 1'b0) begin
-    data_out       <= RESET_DEFAULT ;
-    data_out_l     <= rst_in ;
+    flag           <= 1'b1;
   end else begin
-    data_out  <= data_out_l;
-    if(cs && we[0]) data_out_l[7:0]   <= data_in[7:0];
-    if(cs && we[1]) data_out_l[15:8]  <= data_in[15:8];
-    if(cs && we[2]) data_out_l[23:16] <= data_in[23:16];
-    if(cs && we[3]) data_out_l[31:24] <= data_in[31:24];
-  end
+      flag         <= 1'b0;
+      if (flag == 1'b1) begin
+        data_out    <= rst_in ;
+      end else begin
+        if(cs && we[0]) data_out[7:0]   <= data_in[7:0];
+        if(cs && we[1]) data_out[15:8]  <= data_in[15:8];
+        if(cs && we[2]) data_out[23:16] <= data_in[23:16];
+        if(cs && we[3]) data_out[31:24] <= data_in[31:24];
+      end
+   end
 end
 
 
diff --git a/verilog/rtl/pinmux/src/pinmux_top.sv b/verilog/rtl/pinmux/src/pinmux_top.sv
index 1e7c96b..c9de5f1 100755
--- a/verilog/rtl/pinmux/src/pinmux_top.sv
+++ b/verilog/rtl/pinmux/src/pinmux_top.sv
@@ -94,6 +94,7 @@
                         input  logic           cfg_strap_pad_ctrl     ,
 	                    input  logic [31:0]    system_strap           ,
 	                    output logic [31:0]    strap_sticky           ,
+                        output logic [1:0]     strap_uartm            ,
 
                         input logic            user_clock1            ,
                         input logic            user_clock2            ,
@@ -352,6 +353,7 @@
           .pad_strap_in                 (pad_strap_in            ),
           .system_strap                 (system_strap            ),
           .strap_sticky                 (strap_sticky            ),
+          .strap_uartm                  (strap_uartm             ),
 
           .user_clock1                  (user_clock1             ),
           .user_clock2                  (user_clock2             ),
diff --git a/verilog/rtl/pinmux/src/strap_ctrl.sv b/verilog/rtl/pinmux/src/strap_ctrl.sv
index 643a6de..c0405b0 100644
--- a/verilog/rtl/pinmux/src/strap_ctrl.sv
+++ b/verilog/rtl/pinmux/src/strap_ctrl.sv
@@ -68,16 +68,14 @@
                  01 - 2 Div
                  10 - 4 Div
                  11 - 8 Div
-     bit [4]   - uart master config control
-                 0   - load from LA
-                 1   - constant value based on system clock selection (Default)
+     bit [4]   - Reserved
      bit [5]   - QSPI SRAM Mode Selection
-                 1'b0 - Single (Default)
-                 1'b1 - Quad
+                 1'b0 - Single 
+                 1'b1 - Quad   (Default)
      bit [7:6] - QSPI Fash Mode Selection
-                 2'b00 - Single (Default)
+                 2'b00 - Single 
                  2'b01 - Double
-                 2'b10 - Quad
+                 2'b10 - Quad   (Default)
                  2'b11 - QDDR
      bit [8]   - Riscv Reset control
                  0 - Keep Riscv on Reset
@@ -93,6 +91,11 @@
                  2'b01 - Default value + 2               
                  2'b10 - Default value + 4               
                  2'b11 - Default value - 4 
+     bit [4:13]   - uart master config control
+                 2'b00   - constant value based on system clock-50Mhz (Default)
+                 2'b01   - constant value based on system clock-40Mhz 
+                 2'b10   - constant value based on system clock-60Mhz (USB Ref Clock)
+                 2'b11   - load from LA
      bit [14:13] - Reserved
      bit [15]    - Strap Mode
                    0 - Normal
@@ -165,7 +168,8 @@
 	         
 	         //List of Outs
              output logic [15:0] strap_latch         ,
-	         output logic [31:0] strap_sticky 
+	         output logic [31:0] strap_sticky        ,
+             output logic [1:0]  strap_uartm           // Uart Master Strap Config
 
          );
 
@@ -195,13 +199,16 @@
                    pstrap_select[8]     , // bit[12]      - Riscv Reset control
                    pstrap_select[7:6]   , // bit[11:10]   - QSPI FLASH Mode Selection CS#0
                    pstrap_select[5]     , // bit[9]       - QSPI SRAM Mode Selection CS#2
-                   pstrap_select[4]     , // bit[8]       - uart master config control
+                   pstrap_select[4]     , // bit[8]       - Reserved
                    pstrap_select[3:2]   , // bit[7:6]     - riscv clock div
                    pstrap_select[1:0]   , // bit[5:4]     - riscv clock source sel
                    pstrap_select[3:2]   , // bit[3:2]     - wbs clock division
                    pstrap_select[1:0]     // bit[1:0]     - wbs clock source sel
                    };
 
+
+assign strap_uartm = strap_latch[`PSTRAP_UARTM_CFG];
+
 //------------------------------------
 // Generating strap latch
 //------------------------------------
diff --git a/verilog/rtl/user_params.svh b/verilog/rtl/user_params.svh
index e7c639e..a8b8341 100644
--- a/verilog/rtl/user_params.svh
+++ b/verilog/rtl/user_params.svh
@@ -10,7 +10,7 @@
 
 parameter SKEW_RESET_VAL = 32'b0000_0000_1000_0111_1001_1000_1001_1000;
 
-parameter PSTRAP_DEFAULT_VALUE = 15'b000_0111_1011_0000;
+parameter PSTRAP_DEFAULT_VALUE = 15'b000_0111_1010_0000;
 
 /*****************************************************
 pad_strap_in decoding
@@ -24,10 +24,7 @@
                  01 - 2 Div       
                  10 - 4 Div
                  11 - 8 Div
-     bit [4]   - uart master config control
-                 0   - load from LA
-                 1   - constant value based 
-                       on system clock selection  (Default)
+     bit [4]   - Reserved
      bit [5]   - QSPI SRAM Mode Selection
                  1'b0 - Single    
                  1'b1 - Quad      (Default)
@@ -50,6 +47,11 @@
                  2'b01 - Default value + 2               
                  2'b10 - Default value + 4               
                  2'b11 - Default value - 4 
+     bit [4:13]   - uart master config control
+                 2'b00   - constant value based on system clock-50Mhz (Default)
+                 2'b01   - constant value based on system clock-40Mhz 
+                 2'b10   - constant value based on system clock-60Mhz (USB Ref Clock)
+                 2'b11   - load from LA
 
      bit[15]   - Strap Mode
                 0 - [14:0] loaded from pad
@@ -66,6 +68,7 @@
 `define PSTRAP_RISCV_CACHE_BYPASS  9
 `define PSTRAP_RISCV_SRAM_CLK_EDGE 10
 `define PSTRAP_CLK_SKEW            12:11
+`define PSTRAP_UARTM_CFG           14:13
 
 `define PSTRAP_DEFAULT_VALUE       15
 
diff --git a/verilog/rtl/user_project_wrapper.v b/verilog/rtl/user_project_wrapper.v
index b3e2be1..f832c7e 100644
--- a/verilog/rtl/user_project_wrapper.v
+++ b/verilog/rtl/user_project_wrapper.v
@@ -269,6 +269,10 @@
 ////          pinmux to help risc core to do pll config and reboot////
 ////          B. PLL configuration are kept in p_reset_n to avoid ////
 ////           initialized on soft reboot.                        ////
+////          C. Master Uart has two strap bit to control the     ////
+////          boot up config                                      ////
+////          2'b00 - 50Mhz, 2'b01 - 40Mhz, 2'b10 - 50Mhz,        ////
+////          2'b11 - LA control                                  ////
 ////                                                              ////
 ////                                                              ////
 //////////////////////////////////////////////////////////////////////
@@ -752,6 +756,7 @@
 //---------------------------------------------------------------------
 wire [31:0]                    system_strap                           ;
 wire [31:0]                    strap_sticky                           ;
+wire [1:0]                     strap_uartm                            ;
 wire [1:0]  strap_qspi_flash       = system_strap[`STRAP_QSPI_FLASH];
 wire        strap_qspi_sram        = system_strap[`STRAP_QSPI_SRAM];
 wire        strap_qspi_pre_sram    = system_strap[`STRAP_QSPI_PRE_SRAM];
@@ -805,6 +810,7 @@
           .cfg_strap_pad_ctrl      (cfg_strap_pad_ctrl      ),
 	      .system_strap            (system_strap            ),
 	      .strap_sticky            (strap_sticky            ),
+	      .strap_uartm             (strap_uartm             ),
 
           .wbd_int_rst_n           (wbd_int_rst_n           ),
           .wbd_pll_rst_n           (wbd_pll_rst_n           ),
@@ -1378,6 +1384,7 @@
           .cfg_strap_pad_ctrl      (cfg_strap_pad_ctrl      ),
           .system_strap            (system_strap            ),
           .strap_sticky            (strap_sticky            ),
+	      .strap_uartm             (strap_uartm             ),
 
           .user_clock1             (wb_clk_i                ),
           .user_clock2             (user_clock2             ),
diff --git a/verilog/rtl/wb_host/src/wb_host.sv b/verilog/rtl/wb_host/src/wb_host.sv
index cabcdc1..e35f5cb 100644
--- a/verilog/rtl/wb_host/src/wb_host.sv
+++ b/verilog/rtl/wb_host/src/wb_host.sv
@@ -108,6 +108,7 @@
         output  logic              cfg_strap_pad_ctrl,
 	    output  logic [31:0]       system_strap      ,
 	    input   logic [31:0]       strap_sticky      ,
+	    input   logic [1:0]        strap_uartm       ,
 
 
     // Master Port
@@ -265,20 +266,27 @@
 //    Uart Baud-16x computation
 //      Assumption is default wb clock is 50Mhz 
 //      For 9600 Baud
-//        50,000,000/(9600*16) = 325;
-//      Configured Value = 325-2 = 323
+//        50,000,000/(9600*16) = 324;
+//      Configured Value = 325-2 = 324
 //      Internally we have used pos and neg counter
 //      it has additional 1 cycle additional count,
 //      so we are subtracting desired count by 2
+// strap_uartm
+//     2'b00 - 50Mhz - 324
+//     2'b01 - 40Mhz - 258
+//     2'b10 - 60Mhz - 389
+//     2'b11 - Load from LA
 //-------------------------------------------------
 
-wire strap_uart_cfg_mode = system_strap[`STRAP_UARTM_CFG];
 
-wire       cfg_uartm_tx_enable   = (strap_uart_cfg_mode==0) ? la_data_in[1]     : 1'b1;
-wire       cfg_uartm_rx_enable   = (strap_uart_cfg_mode==0) ? la_data_in[2]     : 1'b1;
-wire       cfg_uartm_stop_bit    = (strap_uart_cfg_mode==0) ? la_data_in[3]     : 1'b1;
-wire [11:0]cfg_uart_baud_16x     = (strap_uart_cfg_mode==0) ? la_data_in[15:4]  : 323;
-wire [1:0] cfg_uartm_cfg_pri_mod = (strap_uart_cfg_mode==0) ? la_data_in[17:16] : 2'b0;
+wire       cfg_uartm_tx_enable   = (strap_uartm==2'b11) ? la_data_in[1]     : 1'b1;
+wire       cfg_uartm_rx_enable   = (strap_uartm==2'b11) ? la_data_in[2]     : 1'b1;
+wire       cfg_uartm_stop_bit    = (strap_uartm==2'b11) ? la_data_in[3]     : 1'b1;
+wire [1:0] cfg_uartm_cfg_pri_mod = (strap_uartm==2'b11) ? la_data_in[17:16] : 2'b0;
+
+wire [11:0]cfg_uart_baud_16x     = (strap_uartm==2'b00) ? 324:
+                                   (strap_uartm==2'b01) ? 258:
+                                   (strap_uartm==2'b10) ? 389: la_data_in[15:4];
 
 
 // UART Master