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