diff --git a/Changes b/Changes index 60d1ec432..5d3ed06c7 100644 --- a/Changes +++ b/Changes @@ -37,6 +37,7 @@ Verilator 5.021 devel * Fix wrong utimes() parameter (#4829). [Szymon Gizler] * Fix incorrect bit-op-tree NOT optimization (#4832) (#4847). [Yutetsu TAKATSUKASA] * Fix width calculation in replaceShiftOp (#4837) (#4841) (#4849). [Yutetsu TAKATSUKASA] +* Fix tracing chandles (#4860). [Nathan Graybeal] Verilator 5.020 2024-01-01 diff --git a/src/V3Ast.h b/src/V3Ast.h index de4b6be6c..172632fd3 100644 --- a/src/V3Ast.h +++ b/src/V3Ast.h @@ -684,7 +684,7 @@ public: /* UNKNOWN: */ "", // Should not be traced /* BIT: */ "BIT", /* BYTE: */ "BYTE", - /* CHANDLE: */ "", + /* CHANDLE: */ "LONGINT", /* EVENT: */ "EVENT", /* INT: */ "INT", /* INTEGER: */ "INTEGER", diff --git a/test_regress/t/t_trace_complex.out b/test_regress/t/t_trace_complex.out index 8a49fc90c..9f4349c8c 100644 --- a/test_regress/t/t_trace_complex.out +++ b/test_regress/t/t_trace_complex.out @@ -1,6 +1,5 @@ $version Generated by VerilatedVcd $end $timescale 1ps $end - $scope module top $end $scope module $unit $end $var wire 1 # global_bit $end @@ -28,23 +27,24 @@ $timescale 1ps $end $var real 64 / v_real $end $var real 64 1 v_arr_real[0] $end $var real 64 3 v_arr_real[1] $end + $var wire 64 D v_chandle [63:0] $end $var wire 64 5 v_str32x2 [63:0] $end $var wire 32 7 v_enumed [31:0] $end $var wire 32 8 v_enumed2 [31:0] $end $var wire 3 9 v_enumb [2:0] $end $var wire 6 : v_enumb2_str [5:0] $end - $var wire 8 D unpacked_array[-2] [7:0] $end - $var wire 8 E unpacked_array[-1] [7:0] $end - $var wire 8 F unpacked_array[0] [7:0] $end - $var wire 1 G LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end + $var wire 8 F unpacked_array[-2] [7:0] $end + $var wire 8 G unpacked_array[-1] [7:0] $end + $var wire 8 H unpacked_array[0] [7:0] $end + $var wire 1 I LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end - $var wire 32 H PARAM [31:0] $end + $var wire 32 J PARAM [31:0] $end $upscope $end $scope module p2 $end - $var wire 32 I PARAM [31:0] $end + $var wire 32 K PARAM [31:0] $end $upscope $end $scope module p3 $end - $var wire 32 J PARAM [31:0] $end + $var wire 32 L PARAM [31:0] $end $upscope $end $scope module unnamedblk1 $end $var wire 32 ; b [31:0] $end @@ -87,13 +87,14 @@ b00000000000000000000000000000000 < 0A 0B 0C -b00000000 D -b00000000 E +b0000000000000000000000000000000000000000000000000000000000000000 D b00000000 F -0G -b00000000000000000000000000000100 H -b00000000000000000000000000000010 I -b00000000000000000000000000000011 J +b00000000 G +b00000000 H +0I +b00000000000000000000000000000100 J +b00000000000000000000000000000010 K +b00000000000000000000000000000011 L #10 b00000000000000000000000000000001 $ b11 % diff --git a/test_regress/t/t_trace_complex.v b/test_regress/t/t_trace_complex.v index 313440c33..763aef06c 100644 --- a/test_regress/t/t_trace_complex.v +++ b/test_regress/t/t_trace_complex.v @@ -49,6 +49,7 @@ module t (clk); real v_real; real v_arr_real [2]; string v_string; + chandle v_chandle; string v_assoc[string]; initial v_assoc["key"] = "value"; diff --git a/test_regress/t/t_trace_complex_fst.out b/test_regress/t/t_trace_complex_fst.out index d4ca2fffa..e0cd14241 100644 --- a/test_regress/t/t_trace_complex_fst.out +++ b/test_regress/t/t_trace_complex_fst.out @@ -1,5 +1,5 @@ $date - Thu Dec 14 09:06:44 2023 + Thu Jan 25 08:01:43 2024 $end $version @@ -37,52 +37,54 @@ $var bit 2 3 v_arru_strp[4] [1:0] $end $var real 64 4 v_real $end $var real 64 5 v_arr_real[0] $end $var real 64 6 v_arr_real[1] $end -$var logic 64 7 v_str32x2 [63:0] $end +$var longint 64 7 v_chandle [63:0] $end +$var logic 64 8 v_str32x2 [63:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 8 v_enumed [31:0] $end +$var int 32 9 v_enumed [31:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 9 v_enumed2 [31:0] $end +$var int 32 : v_enumed2 [31:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 : v_enumb [2:0] $end -$var logic 6 ; v_enumb2_str [5:0] $end -$var logic 8 < unpacked_array[-2] [7:0] $end -$var logic 8 = unpacked_array[-1] [7:0] $end -$var logic 8 > unpacked_array[0] [7:0] $end -$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end +$var logic 3 ; v_enumb [2:0] $end +$var logic 6 < v_enumb2_str [5:0] $end +$var logic 8 = unpacked_array[-2] [7:0] $end +$var logic 8 > unpacked_array[-1] [7:0] $end +$var logic 8 ? unpacked_array[0] [7:0] $end +$var bit 1 @ LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end -$var parameter 32 @ PARAM [31:0] $end -$upscope $end -$scope module p2 $end $var parameter 32 A PARAM [31:0] $end $upscope $end -$scope module p3 $end +$scope module p2 $end $var parameter 32 B PARAM [31:0] $end $upscope $end +$scope module p3 $end +$var parameter 32 C PARAM [31:0] $end +$upscope $end $scope module unnamedblk1 $end -$var integer 32 C b [31:0] $end +$var integer 32 D b [31:0] $end $scope module unnamedblk2 $end -$var integer 32 D a [31:0] $end +$var integer 32 E a [31:0] $end $upscope $end $upscope $end $upscope $end $upscope $end $enddefinitions $end -$dumpvars #0 +$dumpvars +b00000000000000000000000000000000 E b00000000000000000000000000000000 D -b00000000000000000000000000000000 C -b00000000000000000000000000000011 B -b00000000000000000000000000000010 A -b00000000000000000000000000000100 @ -0? +b00000000000000000000000000000011 C +b00000000000000000000000000000010 B +b00000000000000000000000000000100 A +0@ +b00000000 ? b00000000 > b00000000 = -b00000000 < -b000000 ; -b000 : +b000000 < +b000 ; +b00000000000000000000000000000000 : b00000000000000000000000000000000 9 -b00000000000000000000000000000000 8 -b0000000000000000000000000000000000000000000000000000000011111111 7 +b0000000000000000000000000000000000000000000000000000000011111111 8 +b0000000000000000000000000000000000000000000000000000000000000000 7 r0 6 r0 5 r0 4 @@ -105,6 +107,7 @@ b00 $ b00000000000000000000000000000000 # 0" 1! +$end #10 1" b00000000000000000000000000000001 # @@ -121,20 +124,20 @@ b11 3 r0.1 4 r0.2 5 r0.3 6 -b0000000000000000000000000000000100000000000000000000000011111110 7 -b00000000000000000000000000000001 8 -b00000000000000000000000000000010 9 -b111 : -b00000000000000000000000000000101 C +b0000000000000000000000000000000100000000000000000000000011111110 8 +b00000000000000000000000000000001 9 +b00000000000000000000000000000010 : +b111 ; b00000000000000000000000000000101 D +b00000000000000000000000000000101 E #15 0" #20 1" -b110 : -b00000000000000000000000000000100 9 -b00000000000000000000000000000010 8 -b0000000000000000000000000000001000000000000000000000000011111101 7 +b110 ; +b00000000000000000000000000000100 : +b00000000000000000000000000000010 9 +b0000000000000000000000000000001000000000000000000000000011111101 8 r0.6 6 r0.4 5 r0.2 4 @@ -149,12 +152,12 @@ b00 & b0000 % b00 $ b00000000000000000000000000000010 # -b111111 ; +b111111 < #25 0" #30 1" -b110110 ; +b110110 < b00000000000000000000000000000011 # b11 $ b1111 % @@ -169,18 +172,18 @@ b11 3 r0.3 4 r0.6000000000000001 5 r0.8999999999999999 6 -b0000000000000000000000000000001100000000000000000000000011111100 7 -b00000000000000000000000000000011 8 -b00000000000000000000000000000110 9 -b101 : +b0000000000000000000000000000001100000000000000000000000011111100 8 +b00000000000000000000000000000011 9 +b00000000000000000000000000000110 : +b101 ; #35 0" #40 1" -b100 : -b00000000000000000000000000001000 9 -b00000000000000000000000000000100 8 -b0000000000000000000000000000010000000000000000000000000011111011 7 +b100 ; +b00000000000000000000000000001000 : +b00000000000000000000000000000100 9 +b0000000000000000000000000000010000000000000000000000000011111011 8 r1.2 6 r0.8 5 r0.4 4 @@ -195,12 +198,12 @@ b00 & b0000 % b00 $ b00000000000000000000000000000100 # -b101101 ; +b101101 < #45 0" #50 1" -b100100 ; +b100100 < b00000000000000000000000000000101 # b11 $ b1111 % @@ -215,18 +218,18 @@ b11 3 r0.5 4 r1 5 r1.5 6 -b0000000000000000000000000000010100000000000000000000000011111010 7 -b00000000000000000000000000000101 8 -b00000000000000000000000000001010 9 -b011 : +b0000000000000000000000000000010100000000000000000000000011111010 8 +b00000000000000000000000000000101 9 +b00000000000000000000000000001010 : +b011 ; #55 0" #60 1" -b010 : -b00000000000000000000000000001100 9 -b00000000000000000000000000000110 8 -b0000000000000000000000000000011000000000000000000000000011111001 7 +b010 ; +b00000000000000000000000000001100 : +b00000000000000000000000000000110 9 +b0000000000000000000000000000011000000000000000000000000011111001 8 r1.8 6 r1.2 5 r0.6 4 @@ -241,4 +244,4 @@ b00 & b0000 % b00 $ b00000000000000000000000000000110 # -b011011 ; +b011011 < diff --git a/test_regress/t/t_trace_complex_fst_sc.out b/test_regress/t/t_trace_complex_fst_sc.out index 9cb3b3fdd..7151a21b9 100644 --- a/test_regress/t/t_trace_complex_fst_sc.out +++ b/test_regress/t/t_trace_complex_fst_sc.out @@ -1,5 +1,5 @@ $date - Thu Dec 14 10:34:23 2023 + Thu Jan 25 08:07:57 2024 $end $version @@ -36,52 +36,54 @@ $var bit 2 3 v_arru_strp[4] [1:0] $end $var real 64 4 v_real $end $var real 64 5 v_arr_real[0] $end $var real 64 6 v_arr_real[1] $end -$var logic 64 7 v_str32x2 [63:0] $end +$var longint 64 7 v_chandle [63:0] $end +$var logic 64 8 v_str32x2 [63:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 8 v_enumed [31:0] $end +$var int 32 9 v_enumed [31:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 9 v_enumed2 [31:0] $end +$var int 32 : v_enumed2 [31:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 : v_enumb [2:0] $end -$var logic 6 ; v_enumb2_str [5:0] $end -$var logic 8 < unpacked_array[-2] [7:0] $end -$var logic 8 = unpacked_array[-1] [7:0] $end -$var logic 8 > unpacked_array[0] [7:0] $end -$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end +$var logic 3 ; v_enumb [2:0] $end +$var logic 6 < v_enumb2_str [5:0] $end +$var logic 8 = unpacked_array[-2] [7:0] $end +$var logic 8 > unpacked_array[-1] [7:0] $end +$var logic 8 ? unpacked_array[0] [7:0] $end +$var bit 1 @ LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end -$var parameter 32 @ PARAM [31:0] $end -$upscope $end -$scope module p2 $end $var parameter 32 A PARAM [31:0] $end $upscope $end -$scope module p3 $end +$scope module p2 $end $var parameter 32 B PARAM [31:0] $end $upscope $end +$scope module p3 $end +$var parameter 32 C PARAM [31:0] $end +$upscope $end $scope module unnamedblk1 $end -$var integer 32 C b [31:0] $end +$var integer 32 D b [31:0] $end $scope module unnamedblk2 $end -$var integer 32 D a [31:0] $end +$var integer 32 E a [31:0] $end $upscope $end $upscope $end $upscope $end $upscope $end $enddefinitions $end -$dumpvars #0 +$dumpvars +b00000000000000000000000000000000 E b00000000000000000000000000000000 D -b00000000000000000000000000000000 C -b00000000000000000000000000000011 B -b00000000000000000000000000000010 A -b00000000000000000000000000000100 @ -0? +b00000000000000000000000000000011 C +b00000000000000000000000000000010 B +b00000000000000000000000000000100 A +0@ +b00000000 ? b00000000 > b00000000 = -b00000000 < -b000000 ; -b000 : +b000000 < +b000 ; +b00000000000000000000000000000000 : b00000000000000000000000000000000 9 -b00000000000000000000000000000000 8 -b0000000000000000000000000000000000000000000000000000000011111111 7 +b0000000000000000000000000000000000000000000000000000000011111111 8 +b0000000000000000000000000000000000000000000000000000000000000000 7 r0 6 r0 5 r0 4 @@ -104,6 +106,7 @@ b00 $ b00000000000000000000000000000000 # 0" 1! +$end #10 1" b00000000000000000000000000000001 # @@ -120,12 +123,12 @@ b11 3 r0.1 4 r0.2 5 r0.3 6 -b0000000000000000000000000000000100000000000000000000000011111110 7 -b00000000000000000000000000000001 8 -b00000000000000000000000000000010 9 -b111 : -b00000000000000000000000000000101 C +b0000000000000000000000000000000100000000000000000000000011111110 8 +b00000000000000000000000000000001 9 +b00000000000000000000000000000010 : +b111 ; b00000000000000000000000000000101 D +b00000000000000000000000000000101 E #11 #12 #13 @@ -138,10 +141,10 @@ b00000000000000000000000000000101 D #19 #20 1" -b110 : -b00000000000000000000000000000100 9 -b00000000000000000000000000000010 8 -b0000000000000000000000000000001000000000000000000000000011111101 7 +b110 ; +b00000000000000000000000000000100 : +b00000000000000000000000000000010 9 +b0000000000000000000000000000001000000000000000000000000011111101 8 r0.6 6 r0.4 5 r0.2 4 @@ -156,7 +159,7 @@ b00 & b0000 % b00 $ b00000000000000000000000000000010 # -b111111 ; +b111111 < #21 #22 #23 @@ -169,7 +172,7 @@ b111111 ; #29 #30 1" -b110110 ; +b110110 < b00000000000000000000000000000011 # b11 $ b1111 % @@ -184,10 +187,10 @@ b11 3 r0.3 4 r0.6000000000000001 5 r0.8999999999999999 6 -b0000000000000000000000000000001100000000000000000000000011111100 7 -b00000000000000000000000000000011 8 -b00000000000000000000000000000110 9 -b101 : +b0000000000000000000000000000001100000000000000000000000011111100 8 +b00000000000000000000000000000011 9 +b00000000000000000000000000000110 : +b101 ; #31 #32 #33 @@ -200,10 +203,10 @@ b101 : #39 #40 1" -b100 : -b00000000000000000000000000001000 9 -b00000000000000000000000000000100 8 -b0000000000000000000000000000010000000000000000000000000011111011 7 +b100 ; +b00000000000000000000000000001000 : +b00000000000000000000000000000100 9 +b0000000000000000000000000000010000000000000000000000000011111011 8 r1.2 6 r0.8 5 r0.4 4 @@ -218,7 +221,7 @@ b00 & b0000 % b00 $ b00000000000000000000000000000100 # -b101101 ; +b101101 < #41 #42 #43 @@ -231,7 +234,7 @@ b101101 ; #49 #50 1" -b100100 ; +b100100 < b00000000000000000000000000000101 # b11 $ b1111 % @@ -246,10 +249,10 @@ b11 3 r0.5 4 r1 5 r1.5 6 -b0000000000000000000000000000010100000000000000000000000011111010 7 -b00000000000000000000000000000101 8 -b00000000000000000000000000001010 9 -b011 : +b0000000000000000000000000000010100000000000000000000000011111010 8 +b00000000000000000000000000000101 9 +b00000000000000000000000000001010 : +b011 ; #51 #52 #53 @@ -262,10 +265,10 @@ b011 : #59 #60 1" -b010 : -b00000000000000000000000000001100 9 -b00000000000000000000000000000110 8 -b0000000000000000000000000000011000000000000000000000000011111001 7 +b010 ; +b00000000000000000000000000001100 : +b00000000000000000000000000000110 9 +b0000000000000000000000000000011000000000000000000000000011111001 8 r1.8 6 r1.2 5 r0.6 4 @@ -280,7 +283,7 @@ b00 & b0000 % b00 $ b00000000000000000000000000000110 # -b011011 ; +b011011 < #61 #62 #63 diff --git a/test_regress/t/t_trace_complex_params.out b/test_regress/t/t_trace_complex_params.out index 8a49fc90c..9f4349c8c 100644 --- a/test_regress/t/t_trace_complex_params.out +++ b/test_regress/t/t_trace_complex_params.out @@ -1,6 +1,5 @@ $version Generated by VerilatedVcd $end $timescale 1ps $end - $scope module top $end $scope module $unit $end $var wire 1 # global_bit $end @@ -28,23 +27,24 @@ $timescale 1ps $end $var real 64 / v_real $end $var real 64 1 v_arr_real[0] $end $var real 64 3 v_arr_real[1] $end + $var wire 64 D v_chandle [63:0] $end $var wire 64 5 v_str32x2 [63:0] $end $var wire 32 7 v_enumed [31:0] $end $var wire 32 8 v_enumed2 [31:0] $end $var wire 3 9 v_enumb [2:0] $end $var wire 6 : v_enumb2_str [5:0] $end - $var wire 8 D unpacked_array[-2] [7:0] $end - $var wire 8 E unpacked_array[-1] [7:0] $end - $var wire 8 F unpacked_array[0] [7:0] $end - $var wire 1 G LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end + $var wire 8 F unpacked_array[-2] [7:0] $end + $var wire 8 G unpacked_array[-1] [7:0] $end + $var wire 8 H unpacked_array[0] [7:0] $end + $var wire 1 I LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end - $var wire 32 H PARAM [31:0] $end + $var wire 32 J PARAM [31:0] $end $upscope $end $scope module p2 $end - $var wire 32 I PARAM [31:0] $end + $var wire 32 K PARAM [31:0] $end $upscope $end $scope module p3 $end - $var wire 32 J PARAM [31:0] $end + $var wire 32 L PARAM [31:0] $end $upscope $end $scope module unnamedblk1 $end $var wire 32 ; b [31:0] $end @@ -87,13 +87,14 @@ b00000000000000000000000000000000 < 0A 0B 0C -b00000000 D -b00000000 E +b0000000000000000000000000000000000000000000000000000000000000000 D b00000000 F -0G -b00000000000000000000000000000100 H -b00000000000000000000000000000010 I -b00000000000000000000000000000011 J +b00000000 G +b00000000 H +0I +b00000000000000000000000000000100 J +b00000000000000000000000000000010 K +b00000000000000000000000000000011 L #10 b00000000000000000000000000000001 $ b11 % diff --git a/test_regress/t/t_trace_complex_params_fst.out b/test_regress/t/t_trace_complex_params_fst.out index b212749f5..663f71da5 100644 --- a/test_regress/t/t_trace_complex_params_fst.out +++ b/test_regress/t/t_trace_complex_params_fst.out @@ -1,5 +1,5 @@ $date - Thu Dec 14 09:16:48 2023 + Thu Jan 25 08:07:29 2024 $end $version @@ -37,52 +37,54 @@ $var bit 2 3 v_arru_strp[4] [1:0] $end $var real 64 4 v_real $end $var real 64 5 v_arr_real[0] $end $var real 64 6 v_arr_real[1] $end -$var logic 64 7 v_str32x2 [63:0] $end +$var longint 64 7 v_chandle [63:0] $end +$var logic 64 8 v_str32x2 [63:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 8 v_enumed [31:0] $end +$var int 32 9 v_enumed [31:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 9 v_enumed2 [31:0] $end +$var int 32 : v_enumed2 [31:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 : v_enumb [2:0] $end -$var logic 6 ; v_enumb2_str [5:0] $end -$var logic 8 < unpacked_array[-2] [7:0] $end -$var logic 8 = unpacked_array[-1] [7:0] $end -$var logic 8 > unpacked_array[0] [7:0] $end -$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end +$var logic 3 ; v_enumb [2:0] $end +$var logic 6 < v_enumb2_str [5:0] $end +$var logic 8 = unpacked_array[-2] [7:0] $end +$var logic 8 > unpacked_array[-1] [7:0] $end +$var logic 8 ? unpacked_array[0] [7:0] $end +$var bit 1 @ LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end -$var parameter 32 @ PARAM [31:0] $end -$upscope $end -$scope module p2 $end $var parameter 32 A PARAM [31:0] $end $upscope $end -$scope module p3 $end +$scope module p2 $end $var parameter 32 B PARAM [31:0] $end $upscope $end +$scope module p3 $end +$var parameter 32 C PARAM [31:0] $end +$upscope $end $scope module unnamedblk1 $end -$var integer 32 C b [31:0] $end +$var integer 32 D b [31:0] $end $scope module unnamedblk2 $end -$var integer 32 D a [31:0] $end +$var integer 32 E a [31:0] $end $upscope $end $upscope $end $upscope $end $upscope $end $enddefinitions $end -$dumpvars #0 +$dumpvars +b00000000000000000000000000000000 E b00000000000000000000000000000000 D -b00000000000000000000000000000000 C -b00000000000000000000000000000011 B -b00000000000000000000000000000010 A -b00000000000000000000000000000100 @ -0? +b00000000000000000000000000000011 C +b00000000000000000000000000000010 B +b00000000000000000000000000000100 A +0@ +b00000000 ? b00000000 > b00000000 = -b00000000 < -b000000 ; -b000 : +b000000 < +b000 ; +b00000000000000000000000000000000 : b00000000000000000000000000000000 9 -b00000000000000000000000000000000 8 -b0000000000000000000000000000000000000000000000000000000011111111 7 +b0000000000000000000000000000000000000000000000000000000011111111 8 +b0000000000000000000000000000000000000000000000000000000000000000 7 r0 6 r0 5 r0 4 @@ -105,6 +107,7 @@ b00 $ b00000000000000000000000000000000 # 0" 1! +$end #10 1" b00000000000000000000000000000001 # @@ -121,20 +124,20 @@ b11 3 r0.1 4 r0.2 5 r0.3 6 -b0000000000000000000000000000000100000000000000000000000011111110 7 -b00000000000000000000000000000001 8 -b00000000000000000000000000000010 9 -b111 : -b00000000000000000000000000000101 C +b0000000000000000000000000000000100000000000000000000000011111110 8 +b00000000000000000000000000000001 9 +b00000000000000000000000000000010 : +b111 ; b00000000000000000000000000000101 D +b00000000000000000000000000000101 E #15 0" #20 1" -b110 : -b00000000000000000000000000000100 9 -b00000000000000000000000000000010 8 -b0000000000000000000000000000001000000000000000000000000011111101 7 +b110 ; +b00000000000000000000000000000100 : +b00000000000000000000000000000010 9 +b0000000000000000000000000000001000000000000000000000000011111101 8 r0.6 6 r0.4 5 r0.2 4 @@ -149,12 +152,12 @@ b00 & b0000 % b00 $ b00000000000000000000000000000010 # -b111111 ; +b111111 < #25 0" #30 1" -b110110 ; +b110110 < b00000000000000000000000000000011 # b11 $ b1111 % @@ -169,18 +172,18 @@ b11 3 r0.3 4 r0.6000000000000001 5 r0.8999999999999999 6 -b0000000000000000000000000000001100000000000000000000000011111100 7 -b00000000000000000000000000000011 8 -b00000000000000000000000000000110 9 -b101 : +b0000000000000000000000000000001100000000000000000000000011111100 8 +b00000000000000000000000000000011 9 +b00000000000000000000000000000110 : +b101 ; #35 0" #40 1" -b100 : -b00000000000000000000000000001000 9 -b00000000000000000000000000000100 8 -b0000000000000000000000000000010000000000000000000000000011111011 7 +b100 ; +b00000000000000000000000000001000 : +b00000000000000000000000000000100 9 +b0000000000000000000000000000010000000000000000000000000011111011 8 r1.2 6 r0.8 5 r0.4 4 @@ -195,12 +198,12 @@ b00 & b0000 % b00 $ b00000000000000000000000000000100 # -b101101 ; +b101101 < #45 0" #50 1" -b100100 ; +b100100 < b00000000000000000000000000000101 # b11 $ b1111 % @@ -215,18 +218,18 @@ b11 3 r0.5 4 r1 5 r1.5 6 -b0000000000000000000000000000010100000000000000000000000011111010 7 -b00000000000000000000000000000101 8 -b00000000000000000000000000001010 9 -b011 : +b0000000000000000000000000000010100000000000000000000000011111010 8 +b00000000000000000000000000000101 9 +b00000000000000000000000000001010 : +b011 ; #55 0" #60 1" -b010 : -b00000000000000000000000000001100 9 -b00000000000000000000000000000110 8 -b0000000000000000000000000000011000000000000000000000000011111001 7 +b010 ; +b00000000000000000000000000001100 : +b00000000000000000000000000000110 9 +b0000000000000000000000000000011000000000000000000000000011111001 8 r1.8 6 r1.2 5 r0.6 4 @@ -241,4 +244,4 @@ b00 & b0000 % b00 $ b00000000000000000000000000000110 # -b011011 ; +b011011 < diff --git a/test_regress/t/t_trace_complex_params_fst_sc.out b/test_regress/t/t_trace_complex_params_fst_sc.out index f05ce81a0..f729277b3 100644 --- a/test_regress/t/t_trace_complex_params_fst_sc.out +++ b/test_regress/t/t_trace_complex_params_fst_sc.out @@ -1,5 +1,5 @@ $date - Thu Dec 14 10:35:10 2023 + Thu Jan 25 08:11:45 2024 $end $version @@ -36,52 +36,54 @@ $var bit 2 3 v_arru_strp[4] [1:0] $end $var real 64 4 v_real $end $var real 64 5 v_arr_real[0] $end $var real 64 6 v_arr_real[1] $end -$var logic 64 7 v_str32x2 [63:0] $end +$var longint 64 7 v_chandle [63:0] $end +$var logic 64 8 v_str32x2 [63:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 8 v_enumed [31:0] $end +$var int 32 9 v_enumed [31:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 9 v_enumed2 [31:0] $end +$var int 32 : v_enumed2 [31:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 : v_enumb [2:0] $end -$var logic 6 ; v_enumb2_str [5:0] $end -$var logic 8 < unpacked_array[-2] [7:0] $end -$var logic 8 = unpacked_array[-1] [7:0] $end -$var logic 8 > unpacked_array[0] [7:0] $end -$var bit 1 ? LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end +$var logic 3 ; v_enumb [2:0] $end +$var logic 6 < v_enumb2_str [5:0] $end +$var logic 8 = unpacked_array[-2] [7:0] $end +$var logic 8 > unpacked_array[-1] [7:0] $end +$var logic 8 ? unpacked_array[0] [7:0] $end +$var bit 1 @ LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module a_module_instantiation_with_a_very_long_name_that_once_its_signals_get_concatenated_and_inlined_will_almost_certainly_result_in_them_getting_hashed $end -$var parameter 32 @ PARAM [31:0] $end -$upscope $end -$scope module p2 $end $var parameter 32 A PARAM [31:0] $end $upscope $end -$scope module p3 $end +$scope module p2 $end $var parameter 32 B PARAM [31:0] $end $upscope $end +$scope module p3 $end +$var parameter 32 C PARAM [31:0] $end +$upscope $end $scope module unnamedblk1 $end -$var integer 32 C b [31:0] $end +$var integer 32 D b [31:0] $end $scope module unnamedblk2 $end -$var integer 32 D a [31:0] $end +$var integer 32 E a [31:0] $end $upscope $end $upscope $end $upscope $end $upscope $end $enddefinitions $end -$dumpvars #0 +$dumpvars +b00000000000000000000000000000000 E b00000000000000000000000000000000 D -b00000000000000000000000000000000 C -b00000000000000000000000000000011 B -b00000000000000000000000000000010 A -b00000000000000000000000000000100 @ -0? +b00000000000000000000000000000011 C +b00000000000000000000000000000010 B +b00000000000000000000000000000100 A +0@ +b00000000 ? b00000000 > b00000000 = -b00000000 < -b000000 ; -b000 : +b000000 < +b000 ; +b00000000000000000000000000000000 : b00000000000000000000000000000000 9 -b00000000000000000000000000000000 8 -b0000000000000000000000000000000000000000000000000000000011111111 7 +b0000000000000000000000000000000000000000000000000000000011111111 8 +b0000000000000000000000000000000000000000000000000000000000000000 7 r0 6 r0 5 r0 4 @@ -104,6 +106,7 @@ b00 $ b00000000000000000000000000000000 # 0" 1! +$end #10 1" b00000000000000000000000000000001 # @@ -120,12 +123,12 @@ b11 3 r0.1 4 r0.2 5 r0.3 6 -b0000000000000000000000000000000100000000000000000000000011111110 7 -b00000000000000000000000000000001 8 -b00000000000000000000000000000010 9 -b111 : -b00000000000000000000000000000101 C +b0000000000000000000000000000000100000000000000000000000011111110 8 +b00000000000000000000000000000001 9 +b00000000000000000000000000000010 : +b111 ; b00000000000000000000000000000101 D +b00000000000000000000000000000101 E #11 #12 #13 @@ -138,10 +141,10 @@ b00000000000000000000000000000101 D #19 #20 1" -b110 : -b00000000000000000000000000000100 9 -b00000000000000000000000000000010 8 -b0000000000000000000000000000001000000000000000000000000011111101 7 +b110 ; +b00000000000000000000000000000100 : +b00000000000000000000000000000010 9 +b0000000000000000000000000000001000000000000000000000000011111101 8 r0.6 6 r0.4 5 r0.2 4 @@ -156,7 +159,7 @@ b00 & b0000 % b00 $ b00000000000000000000000000000010 # -b111111 ; +b111111 < #21 #22 #23 @@ -169,7 +172,7 @@ b111111 ; #29 #30 1" -b110110 ; +b110110 < b00000000000000000000000000000011 # b11 $ b1111 % @@ -184,10 +187,10 @@ b11 3 r0.3 4 r0.6000000000000001 5 r0.8999999999999999 6 -b0000000000000000000000000000001100000000000000000000000011111100 7 -b00000000000000000000000000000011 8 -b00000000000000000000000000000110 9 -b101 : +b0000000000000000000000000000001100000000000000000000000011111100 8 +b00000000000000000000000000000011 9 +b00000000000000000000000000000110 : +b101 ; #31 #32 #33 @@ -200,10 +203,10 @@ b101 : #39 #40 1" -b100 : -b00000000000000000000000000001000 9 -b00000000000000000000000000000100 8 -b0000000000000000000000000000010000000000000000000000000011111011 7 +b100 ; +b00000000000000000000000000001000 : +b00000000000000000000000000000100 9 +b0000000000000000000000000000010000000000000000000000000011111011 8 r1.2 6 r0.8 5 r0.4 4 @@ -218,7 +221,7 @@ b00 & b0000 % b00 $ b00000000000000000000000000000100 # -b101101 ; +b101101 < #41 #42 #43 @@ -231,7 +234,7 @@ b101101 ; #49 #50 1" -b100100 ; +b100100 < b00000000000000000000000000000101 # b11 $ b1111 % @@ -246,10 +249,10 @@ b11 3 r0.5 4 r1 5 r1.5 6 -b0000000000000000000000000000010100000000000000000000000011111010 7 -b00000000000000000000000000000101 8 -b00000000000000000000000000001010 9 -b011 : +b0000000000000000000000000000010100000000000000000000000011111010 8 +b00000000000000000000000000000101 9 +b00000000000000000000000000001010 : +b011 ; #51 #52 #53 @@ -262,10 +265,10 @@ b011 : #59 #60 1" -b010 : -b00000000000000000000000000001100 9 -b00000000000000000000000000000110 8 -b0000000000000000000000000000011000000000000000000000000011111001 7 +b010 ; +b00000000000000000000000000001100 : +b00000000000000000000000000000110 9 +b0000000000000000000000000000011000000000000000000000000011111001 8 r1.8 6 r1.2 5 r0.6 4 @@ -280,7 +283,7 @@ b00 & b0000 % b00 $ b00000000000000000000000000000110 # -b011011 ; +b011011 < #61 #62 #63 diff --git a/test_regress/t/t_trace_complex_structs.out b/test_regress/t/t_trace_complex_structs.out index c22d5430e..62af1451c 100644 --- a/test_regress/t/t_trace_complex_structs.out +++ b/test_regress/t/t_trace_complex_structs.out @@ -1,6 +1,5 @@ $version Generated by VerilatedVcd $end $timescale 1ps $end - $scope module top $end $scope module $unit $end $var wire 1 # global_bit $end @@ -63,6 +62,7 @@ $timescale 1ps $end $var real 64 : v_real $end $var real 64 < v_arr_real[0] $end $var real 64 > v_arr_real[1] $end + $var wire 64 P v_chandle [63:0] $end $scope module v_str32x2[0] $end $var wire 32 @ data [31:0] $end $upscope $end @@ -76,10 +76,10 @@ $timescale 1ps $end $var wire 3 E a [2:0] $end $var wire 3 F b [2:0] $end $upscope $end - $var wire 8 P unpacked_array[-2] [7:0] $end - $var wire 8 Q unpacked_array[-1] [7:0] $end - $var wire 8 R unpacked_array[0] [7:0] $end - $var wire 1 S LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end + $var wire 8 R unpacked_array[-2] [7:0] $end + $var wire 8 S unpacked_array[-1] [7:0] $end + $var wire 8 T unpacked_array[0] [7:0] $end + $var wire 1 U LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module unnamedblk1 $end $var wire 32 G b [31:0] $end $scope module unnamedblk2 $end @@ -134,10 +134,11 @@ b00000000000000000000000000000000 H 0M 0N 0O -b00000000 P -b00000000 Q +b0000000000000000000000000000000000000000000000000000000000000000 P b00000000 R -0S +b00000000 S +b00000000 T +0U #10 b00000000000000000000000000000001 $ 1% diff --git a/test_regress/t/t_trace_complex_structs_fst.out b/test_regress/t/t_trace_complex_structs_fst.out index e3ded82e6..e55bcf96f 100644 --- a/test_regress/t/t_trace_complex_structs_fst.out +++ b/test_regress/t/t_trace_complex_structs_fst.out @@ -1,5 +1,5 @@ $date - Thu Dec 14 09:17:16 2023 + Thu Jan 25 08:09:51 2024 $end $version @@ -72,52 +72,54 @@ $upscope $end $var real 64 ? v_real $end $var real 64 @ v_arr_real[0] $end $var real 64 A v_arr_real[1] $end +$var longint 64 B v_chandle [63:0] $end $scope struct v_str32x2[0] $end -$var logic 32 B data [31:0] $end -$upscope $end -$scope struct v_str32x2[1] $end $var logic 32 C data [31:0] $end $upscope $end +$scope struct v_str32x2[1] $end +$var logic 32 D data [31:0] $end +$upscope $end $attrbegin misc 07 "" 1 $end -$var int 32 D v_enumed [31:0] $end +$var int 32 E v_enumed [31:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 E v_enumed2 [31:0] $end +$var int 32 F v_enumed2 [31:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 F v_enumb [2:0] $end +$var logic 3 G v_enumb [2:0] $end $scope struct v_enumb2_str $end $attrbegin misc 07 "" 2 $end -$var logic 3 G a [2:0] $end +$var logic 3 H a [2:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 H b [2:0] $end +$var logic 3 I b [2:0] $end $upscope $end -$var logic 8 I unpacked_array[-2] [7:0] $end -$var logic 8 J unpacked_array[-1] [7:0] $end -$var logic 8 K unpacked_array[0] [7:0] $end -$var bit 1 L LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end +$var logic 8 J unpacked_array[-2] [7:0] $end +$var logic 8 K unpacked_array[-1] [7:0] $end +$var logic 8 L unpacked_array[0] [7:0] $end +$var bit 1 M LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module unnamedblk1 $end -$var integer 32 M b [31:0] $end +$var integer 32 N b [31:0] $end $scope module unnamedblk2 $end -$var integer 32 N a [31:0] $end +$var integer 32 O a [31:0] $end $upscope $end $upscope $end $upscope $end $upscope $end $enddefinitions $end -$dumpvars #0 +$dumpvars +b00000000000000000000000000000000 O b00000000000000000000000000000000 N -b00000000000000000000000000000000 M -0L +0M +b00000000 L b00000000 K b00000000 J -b00000000 I +b000 I b000 H b000 G -b000 F +b00000000000000000000000000000000 F b00000000000000000000000000000000 E b00000000000000000000000000000000 D -b00000000000000000000000000000000 C -b00000000000000000000000011111111 B +b00000000000000000000000011111111 C +b0000000000000000000000000000000000000000000000000000000000000000 B r0 A r0 @ r0 ? @@ -151,6 +153,7 @@ b00 , b00000000000000000000000000000000 # 0" 1! +$end #10 1" b00000000000000000000000000000001 # @@ -178,22 +181,22 @@ b11 : r0.1 ? r0.2 @ r0.3 A -b00000000000000000000000011111110 B -b00000000000000000000000000000001 C +b00000000000000000000000011111110 C b00000000000000000000000000000001 D -b00000000000000000000000000000010 E -b111 F -b00000000000000000000000000000101 M +b00000000000000000000000000000001 E +b00000000000000000000000000000010 F +b111 G b00000000000000000000000000000101 N +b00000000000000000000000000000101 O #15 0" #20 1" -b110 F -b00000000000000000000000000000100 E +b110 G +b00000000000000000000000000000100 F +b00000000000000000000000000000010 E b00000000000000000000000000000010 D -b00000000000000000000000000000010 C -b00000000000000000000000011111101 B +b00000000000000000000000011111101 C r0.6 A r0.4 @ r0.2 ? @@ -219,14 +222,14 @@ b00 , 0% 0$ b00000000000000000000000000000010 # -b111 G b111 H +b111 I #25 0" #30 1" +b110 I b110 H -b110 G b00000000000000000000000000000011 # 1$ 1% @@ -252,20 +255,20 @@ b11 : r0.3 ? r0.6000000000000001 @ r0.8999999999999999 A -b00000000000000000000000011111100 B -b00000000000000000000000000000011 C +b00000000000000000000000011111100 C b00000000000000000000000000000011 D -b00000000000000000000000000000110 E -b101 F +b00000000000000000000000000000011 E +b00000000000000000000000000000110 F +b101 G #35 0" #40 1" -b100 F -b00000000000000000000000000001000 E +b100 G +b00000000000000000000000000001000 F +b00000000000000000000000000000100 E b00000000000000000000000000000100 D -b00000000000000000000000000000100 C -b00000000000000000000000011111011 B +b00000000000000000000000011111011 C r1.2 A r0.8 @ r0.4 ? @@ -291,14 +294,14 @@ b00 , 0% 0$ b00000000000000000000000000000100 # -b101 G b101 H +b101 I #45 0" #50 1" +b100 I b100 H -b100 G b00000000000000000000000000000101 # 1$ 1% @@ -324,20 +327,20 @@ b11 : r0.5 ? r1 @ r1.5 A -b00000000000000000000000011111010 B -b00000000000000000000000000000101 C +b00000000000000000000000011111010 C b00000000000000000000000000000101 D -b00000000000000000000000000001010 E -b011 F +b00000000000000000000000000000101 E +b00000000000000000000000000001010 F +b011 G #55 0" #60 1" -b010 F -b00000000000000000000000000001100 E +b010 G +b00000000000000000000000000001100 F +b00000000000000000000000000000110 E b00000000000000000000000000000110 D -b00000000000000000000000000000110 C -b00000000000000000000000011111001 B +b00000000000000000000000011111001 C r1.8 A r1.2 @ r0.6 ? @@ -363,5 +366,5 @@ b00 , 0% 0$ b00000000000000000000000000000110 # -b011 G b011 H +b011 I diff --git a/test_regress/t/t_trace_complex_structs_fst_sc.out b/test_regress/t/t_trace_complex_structs_fst_sc.out index 05920c5f0..87331777e 100644 --- a/test_regress/t/t_trace_complex_structs_fst_sc.out +++ b/test_regress/t/t_trace_complex_structs_fst_sc.out @@ -1,5 +1,5 @@ $date - Thu Dec 14 10:35:37 2023 + Thu Jan 25 08:08:43 2024 $end $version @@ -71,52 +71,54 @@ $upscope $end $var real 64 ? v_real $end $var real 64 @ v_arr_real[0] $end $var real 64 A v_arr_real[1] $end +$var longint 64 B v_chandle [63:0] $end $scope struct v_str32x2[0] $end -$var logic 32 B data [31:0] $end -$upscope $end -$scope struct v_str32x2[1] $end $var logic 32 C data [31:0] $end $upscope $end +$scope struct v_str32x2[1] $end +$var logic 32 D data [31:0] $end +$upscope $end $attrbegin misc 07 "" 1 $end -$var int 32 D v_enumed [31:0] $end +$var int 32 E v_enumed [31:0] $end $attrbegin misc 07 "" 1 $end -$var int 32 E v_enumed2 [31:0] $end +$var int 32 F v_enumed2 [31:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 F v_enumb [2:0] $end +$var logic 3 G v_enumb [2:0] $end $scope struct v_enumb2_str $end $attrbegin misc 07 "" 2 $end -$var logic 3 G a [2:0] $end +$var logic 3 H a [2:0] $end $attrbegin misc 07 "" 2 $end -$var logic 3 H b [2:0] $end +$var logic 3 I b [2:0] $end $upscope $end -$var logic 8 I unpacked_array[-2] [7:0] $end -$var logic 8 J unpacked_array[-1] [7:0] $end -$var logic 8 K unpacked_array[0] [7:0] $end -$var bit 1 L LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end +$var logic 8 J unpacked_array[-2] [7:0] $end +$var logic 8 K unpacked_array[-1] [7:0] $end +$var logic 8 L unpacked_array[0] [7:0] $end +$var bit 1 M LONGSTART_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_a_very_long_name_which_will_get_hashed_LONGEND $end $scope module unnamedblk1 $end -$var integer 32 M b [31:0] $end +$var integer 32 N b [31:0] $end $scope module unnamedblk2 $end -$var integer 32 N a [31:0] $end +$var integer 32 O a [31:0] $end $upscope $end $upscope $end $upscope $end $upscope $end $enddefinitions $end -$dumpvars #0 +$dumpvars +b00000000000000000000000000000000 O b00000000000000000000000000000000 N -b00000000000000000000000000000000 M -0L +0M +b00000000 L b00000000 K b00000000 J -b00000000 I +b000 I b000 H b000 G -b000 F +b00000000000000000000000000000000 F b00000000000000000000000000000000 E b00000000000000000000000000000000 D -b00000000000000000000000000000000 C -b00000000000000000000000011111111 B +b00000000000000000000000011111111 C +b0000000000000000000000000000000000000000000000000000000000000000 B r0 A r0 @ r0 ? @@ -150,6 +152,7 @@ b00 , b00000000000000000000000000000000 # 0" 1! +$end #10 1" b00000000000000000000000000000001 # @@ -177,13 +180,13 @@ b11 : r0.1 ? r0.2 @ r0.3 A -b00000000000000000000000011111110 B -b00000000000000000000000000000001 C +b00000000000000000000000011111110 C b00000000000000000000000000000001 D -b00000000000000000000000000000010 E -b111 F -b00000000000000000000000000000101 M +b00000000000000000000000000000001 E +b00000000000000000000000000000010 F +b111 G b00000000000000000000000000000101 N +b00000000000000000000000000000101 O #11 #12 #13 @@ -196,11 +199,11 @@ b00000000000000000000000000000101 N #19 #20 1" -b110 F -b00000000000000000000000000000100 E +b110 G +b00000000000000000000000000000100 F +b00000000000000000000000000000010 E b00000000000000000000000000000010 D -b00000000000000000000000000000010 C -b00000000000000000000000011111101 B +b00000000000000000000000011111101 C r0.6 A r0.4 @ r0.2 ? @@ -226,8 +229,8 @@ b00 , 0% 0$ b00000000000000000000000000000010 # -b111 G b111 H +b111 I #21 #22 #23 @@ -240,8 +243,8 @@ b111 H #29 #30 1" +b110 I b110 H -b110 G b00000000000000000000000000000011 # 1$ 1% @@ -267,11 +270,11 @@ b11 : r0.3 ? r0.6000000000000001 @ r0.8999999999999999 A -b00000000000000000000000011111100 B -b00000000000000000000000000000011 C +b00000000000000000000000011111100 C b00000000000000000000000000000011 D -b00000000000000000000000000000110 E -b101 F +b00000000000000000000000000000011 E +b00000000000000000000000000000110 F +b101 G #31 #32 #33 @@ -284,11 +287,11 @@ b101 F #39 #40 1" -b100 F -b00000000000000000000000000001000 E +b100 G +b00000000000000000000000000001000 F +b00000000000000000000000000000100 E b00000000000000000000000000000100 D -b00000000000000000000000000000100 C -b00000000000000000000000011111011 B +b00000000000000000000000011111011 C r1.2 A r0.8 @ r0.4 ? @@ -314,8 +317,8 @@ b00 , 0% 0$ b00000000000000000000000000000100 # -b101 G b101 H +b101 I #41 #42 #43 @@ -328,8 +331,8 @@ b101 H #49 #50 1" +b100 I b100 H -b100 G b00000000000000000000000000000101 # 1$ 1% @@ -355,11 +358,11 @@ b11 : r0.5 ? r1 @ r1.5 A -b00000000000000000000000011111010 B -b00000000000000000000000000000101 C +b00000000000000000000000011111010 C b00000000000000000000000000000101 D -b00000000000000000000000000001010 E -b011 F +b00000000000000000000000000000101 E +b00000000000000000000000000001010 F +b011 G #51 #52 #53 @@ -372,11 +375,11 @@ b011 F #59 #60 1" -b010 F -b00000000000000000000000000001100 E +b010 G +b00000000000000000000000000001100 F +b00000000000000000000000000000110 E b00000000000000000000000000000110 D -b00000000000000000000000000000110 C -b00000000000000000000000011111001 B +b00000000000000000000000011111001 C r1.8 A r1.2 @ r0.6 ? @@ -402,8 +405,8 @@ b00 , 0% 0$ b00000000000000000000000000000110 # -b011 G b011 H +b011 I #61 #62 #63