verilator/test_regress/t/t_cover_line_trace.out
Geza Lore ff425369ac
Reduce .rodata footprint of trace initialization (#3250)
Trace initialization (tracep->decl* functions) used to explicitly pass
the complete hierarchical names of signals as string constants. This
contains a lot of redundancy (path prefixes), does not scale well with
large designs and resulted in .rodata sections (the string constants) in
ELF executables being extremely large.

This patch changes the API of trace initialization that allows pushing
and popping name prefixes as we walk the hierarchy tree, which are
prepended to declared signal names at run-time during trace
initialization. This in turn allows us to emit repeat path/name
components only once, effectively removing all duplicate path prefixes.
On SweRV EH1 this reduces the .rodata section in a --trace build by 94%.

Additionally, trace declarations are now emitted in lexical order by
hierarchical signal names, and the top level trace initialization
function respects --output-split-ctrace.
2021-12-19 15:15:07 +00:00

527 lines
19 KiB
Plaintext

$version Generated by VerilatedVcd $end
$date Sat Dec 18 13:32:31 2021 $end
$timescale 1ps $end
$scope module top $end
$var wire 1 W clk $end
$scope module t $end
$var wire 1 W clk $end
$var wire 32 & cyc [31:0] $end
$var wire 8 ' cyc_copy [7:0] $end
$var wire 1 % toggle $end
$var wire 32 ; vlCoverageLineTrace_t_cover_line__102_elsif [31:0] $end
$var wire 32 < vlCoverageLineTrace_t_cover_line__105_elsif [31:0] $end
$var wire 32 = vlCoverageLineTrace_t_cover_line__112_else [31:0] $end
$var wire 32 > vlCoverageLineTrace_t_cover_line__112_if [31:0] $end
$var wire 32 X vlCoverageLineTrace_t_cover_line__119_block [31:0] $end
$var wire 32 # vlCoverageLineTrace_t_cover_line__15_block [31:0] $end
$var wire 32 $ vlCoverageLineTrace_t_cover_line__18_block [31:0] $end
$var wire 32 ( vlCoverageLineTrace_t_cover_line__47_block [31:0] $end
$var wire 32 ) vlCoverageLineTrace_t_cover_line__48_else [31:0] $end
$var wire 32 * vlCoverageLineTrace_t_cover_line__48_if [31:0] $end
$var wire 32 + vlCoverageLineTrace_t_cover_line__52_else [31:0] $end
$var wire 32 , vlCoverageLineTrace_t_cover_line__52_if [31:0] $end
$var wire 32 - vlCoverageLineTrace_t_cover_line__53_else [31:0] $end
$var wire 32 . vlCoverageLineTrace_t_cover_line__53_if [31:0] $end
$var wire 32 / vlCoverageLineTrace_t_cover_line__58_else [31:0] $end
$var wire 32 0 vlCoverageLineTrace_t_cover_line__58_if [31:0] $end
$var wire 32 1 vlCoverageLineTrace_t_cover_line__59_else [31:0] $end
$var wire 32 2 vlCoverageLineTrace_t_cover_line__59_if [31:0] $end
$var wire 32 3 vlCoverageLineTrace_t_cover_line__65_else [31:0] $end
$var wire 32 4 vlCoverageLineTrace_t_cover_line__65_if [31:0] $end
$var wire 32 5 vlCoverageLineTrace_t_cover_line__66_else [31:0] $end
$var wire 32 6 vlCoverageLineTrace_t_cover_line__66_if [31:0] $end
$var wire 32 7 vlCoverageLineTrace_t_cover_line__75_elsif [31:0] $end
$var wire 32 8 vlCoverageLineTrace_t_cover_line__79_elsif [31:0] $end
$var wire 32 9 vlCoverageLineTrace_t_cover_line__83_else [31:0] $end
$var wire 32 : vlCoverageLineTrace_t_cover_line__83_if [31:0] $end
$var wire 32 ] vlCoverageLineTrace_t_cover_line__92_block [31:0] $end
$var wire 32 ^ vlCoverageLineTrace_t_cover_line__93_block [31:0] $end
$var wire 32 _ vlCoverageLineTrace_t_cover_line__96_block [31:0] $end
$var wire 32 ` vlCoverageLineTrace_t_cover_line__97_block [31:0] $end
$scope module a1 $end
$var wire 1 W clk $end
$var wire 1 % toggle $end
$var wire 32 ? vlCoverageLineTrace_t_cover_line__132_block [31:0] $end
$var wire 32 @ vlCoverageLineTrace_t_cover_line__133_else [31:0] $end
$var wire 32 A vlCoverageLineTrace_t_cover_line__133_if [31:0] $end
$var wire 32 B vlCoverageLineTrace_t_cover_line__137_else [31:0] $end
$upscope $end
$scope module a2 $end
$var wire 1 W clk $end
$var wire 1 % toggle $end
$var wire 32 C vlCoverageLineTrace_t_cover_line__132_block [31:0] $end
$var wire 32 D vlCoverageLineTrace_t_cover_line__133_else [31:0] $end
$var wire 32 E vlCoverageLineTrace_t_cover_line__133_if [31:0] $end
$var wire 32 F vlCoverageLineTrace_t_cover_line__137_else [31:0] $end
$upscope $end
$scope module b1 $end
$var wire 1 W clk $end
$var wire 1 % toggle $end
$var wire 32 K vlCoverageLineTrace_t_cover_line__156_block [31:0] $end
$var wire 32 L vlCoverageLineTrace_t_cover_line__158_else [31:0] $end
$var wire 32 b vlCoverageLineTrace_t_cover_line__158_if [31:0] $end
$var wire 32 M vlCoverageLineTrace_t_cover_line__162_else [31:0] $end
$var wire 32 N vlCoverageLineTrace_t_cover_line__162_if [31:0] $end
$var wire 32 O vlCoverageLineTrace_t_cover_line__166_else [31:0] $end
$upscope $end
$scope module b2 $end
$var wire 1 W clk $end
$var wire 1 % toggle $end
$var wire 32 P vlCoverageLineTrace_t_cover_line__156_block [31:0] $end
$var wire 32 Q vlCoverageLineTrace_t_cover_line__158_else [31:0] $end
$var wire 32 c vlCoverageLineTrace_t_cover_line__158_if [31:0] $end
$var wire 32 R vlCoverageLineTrace_t_cover_line__162_else [31:0] $end
$var wire 32 S vlCoverageLineTrace_t_cover_line__162_if [31:0] $end
$var wire 32 T vlCoverageLineTrace_t_cover_line__166_else [31:0] $end
$upscope $end
$scope module o1 $end
$var wire 1 W clk $end
$var wire 1 % toggle $end
$var wire 32 G vlCoverageLineTrace_t_cover_line__220_block [31:0] $end
$var wire 32 H vlCoverageLineTrace_t_cover_line__221_else [31:0] $end
$var wire 32 I vlCoverageLineTrace_t_cover_line__221_if [31:0] $end
$var wire 32 J vlCoverageLineTrace_t_cover_line__224_else [31:0] $end
$var wire 32 a vlCoverageLineTrace_t_cover_line__224_if [31:0] $end
$upscope $end
$scope module t1 $end
$var wire 1 W clk $end
$var wire 1 % toggle $end
$var wire 32 U vlCoverageLineTrace_t_cover_line__187_block [31:0] $end
$var wire 32 Y vlCoverageLineTrace_t_cover_line__191_block [31:0] $end
$var wire 32 Z vlCoverageLineTrace_t_cover_line__194_else [31:0] $end
$var wire 32 [ vlCoverageLineTrace_t_cover_line__194_if [31:0] $end
$var wire 32 V vlCoverageLineTrace_t_cover_line__197_else [31:0] $end
$var wire 32 \ vlCoverageLineTrace_t_cover_line__197_if [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$enddefinitions $end
#0
b00000000000000000000000000000001 #
b00000000000000000000000000000001 $
0%
b00000000000000000000000000000001 &
b00000001 '
b00000000000000000000000000000000 (
b00000000000000000000000000000000 )
b00000000000000000000000000000000 *
b00000000000000000000000000000000 +
b00000000000000000000000000000000 ,
b00000000000000000000000000000000 -
b00000000000000000000000000000000 .
b00000000000000000000000000000000 /
b00000000000000000000000000000000 0
b00000000000000000000000000000000 1
b00000000000000000000000000000000 2
b00000000000000000000000000000000 3
b00000000000000000000000000000000 4
b00000000000000000000000000000000 5
b00000000000000000000000000000000 6
b00000000000000000000000000000000 7
b00000000000000000000000000000000 8
b00000000000000000000000000000000 9
b00000000000000000000000000000000 :
b00000000000000000000000000000000 ;
b00000000000000000000000000000000 <
b00000000000000000000000000000000 =
b00000000000000000000000000000000 >
b00000000000000000000000000000000 ?
b00000000000000000000000000000000 @
b00000000000000000000000000000000 A
b00000000000000000000000000000000 B
b00000000000000000000000000000000 C
b00000000000000000000000000000000 D
b00000000000000000000000000000000 E
b00000000000000000000000000000000 F
b00000000000000000000000000000000 G
b00000000000000000000000000000000 H
b00000000000000000000000000000000 I
b00000000000000000000000000000000 J
b00000000000000000000000000000000 K
b00000000000000000000000000000000 L
b00000000000000000000000000000000 M
b00000000000000000000000000000000 N
b00000000000000000000000000000000 O
b00000000000000000000000000000000 P
b00000000000000000000000000000000 Q
b00000000000000000000000000000000 R
b00000000000000000000000000000000 S
b00000000000000000000000000000000 T
b00000000000000000000000000000000 U
b00000000000000000000000000000000 V
0W
b00000000000000000000000000000000 X
b00000000000000000000000000000000 Y
b00000000000000000000000000000000 Z
b00000000000000000000000000000000 [
b00000000000000000000000000000000 \
b00000000000000000000000000000000 ]
b00000000000000000000000000000000 ^
b00000000000000000000000000000000 _
b00000000000000000000000000000000 `
b00000000000000000000000000000000 a
b00000000000000000000000000000000 b
b00000000000000000000000000000000 c
#10
b00000000000000000000000000000010 &
b00000010 '
b00000000000000000000000000000001 (
b00000000000000000000000000000001 *
b00000000000000000000000000000001 +
b00000000000000000000000000000001 -
b00000000000000000000000000000001 /
b00000000000000000000000000000001 1
b00000000000000000000000000000001 3
b00000000000000000000000000000001 5
b00000000000000000000000000000001 9
b00000000000000000000000000000001 =
b00000000000000000000000000000001 ?
b00000000000000000000000000000001 @
b00000000000000000000000000000001 B
b00000000000000000000000000000001 C
b00000000000000000000000000000001 D
b00000000000000000000000000000001 F
b00000000000000000000000000000001 G
b00000000000000000000000000000001 H
b00000000000000000000000000000001 K
b00000000000000000000000000000001 L
b00000000000000000000000000000001 M
b00000000000000000000000000000001 O
b00000000000000000000000000000001 P
b00000000000000000000000000000001 Q
b00000000000000000000000000000001 R
b00000000000000000000000000000001 T
b00000000000000000000000000000001 U
b00000000000000000000000000000001 V
1W
b00000000000000000000000000000001 Y
b00000000000000000000000000000001 Z
#15
0W
#20
b00000000000000000000000000000011 &
b00000011 '
b00000000000000000000000000000010 (
b00000000000000000000000000000010 *
b00000000000000000000000000000010 +
b00000000000000000000000000000010 -
b00000000000000000000000000000010 /
b00000000000000000000000000000010 1
b00000000000000000000000000000010 3
b00000000000000000000000000000010 5
b00000000000000000000000000000010 9
b00000000000000000000000000000010 =
b00000000000000000000000000000010 ?
b00000000000000000000000000000010 @
b00000000000000000000000000000010 B
b00000000000000000000000000000010 C
b00000000000000000000000000000010 D
b00000000000000000000000000000010 F
b00000000000000000000000000000010 G
b00000000000000000000000000000010 H
b00000000000000000000000000000010 K
b00000000000000000000000000000010 L
b00000000000000000000000000000010 M
b00000000000000000000000000000010 O
b00000000000000000000000000000010 P
b00000000000000000000000000000010 Q
b00000000000000000000000000000010 R
b00000000000000000000000000000010 T
b00000000000000000000000000000010 U
b00000000000000000000000000000010 V
1W
b00000000000000000000000000000010 Y
b00000000000000000000000000000010 Z
#25
0W
#30
1%
b00000000000000000000000000000100 &
b00000100 '
b00000000000000000000000000000011 (
b00000000000000000000000000000011 *
b00000000000000000000000000000001 ,
b00000000000000000000000000000001 .
b00000000000000000000000000000001 0
b00000000000000000000000000000001 2
b00000000000000000000000000000001 4
b00000000000000000000000000000001 6
b00000000000000000000000000000001 7
b00000000000000000000000000000001 ;
b00000000000000000000000000000011 ?
b00000000000000000000000000000011 @
b00000000000000000000000000000011 B
b00000000000000000000000000000011 C
b00000000000000000000000000000011 D
b00000000000000000000000000000011 F
b00000000000000000000000000000011 G
b00000000000000000000000000000011 H
b00000000000000000000000000000011 K
b00000000000000000000000000000011 L
b00000000000000000000000000000011 M
b00000000000000000000000000000011 O
b00000000000000000000000000000011 P
b00000000000000000000000000000011 Q
b00000000000000000000000000000011 R
b00000000000000000000000000000011 T
b00000000000000000000000000000011 U
b00000000000000000000000000000011 V
1W
b00000000000000000000000000000011 Y
b00000000000000000000000000000011 Z
#35
0W
#40
0%
b00000000000000000000000000000101 &
b00000101 '
b00000000000000000000000000000100 (
b00000000000000000000000000000100 *
b00000000000000000000000000000011 +
b00000000000000000000000000000011 -
b00000000000000000000000000000011 /
b00000000000000000000000000000011 1
b00000000000000000000000000000011 3
b00000000000000000000000000000011 5
b00000000000000000000000000000001 8
b00000000000000000000000000000011 =
b00000000000000000000000000000100 ?
b00000000000000000000000000000001 A
b00000000000000000000000000000100 C
b00000000000000000000000000000001 E
b00000000000000000000000000000100 G
b00000000000000000000000000000001 I
b00000000000000000000000000000001 J
b00000000000000000000000000000100 K
b00000000000000000000000000000100 L
b00000000000000000000000000000001 N
b00000000000000000000000000000100 P
b00000000000000000000000000000100 Q
b00000000000000000000000000000001 S
b00000000000000000000000000000100 U
b00000000000000000000000000000100 V
1W
b00000000000000000000000000000100 Y
b00000000000000000000000000000001 [
#45
0W
#50
b00000000000000000000000000000110 &
b00000110 '
b00000000000000000000000000000101 (
b00000000000000000000000000000101 *
b00000000000000000000000000000100 +
b00000000000000000000000000000100 -
b00000000000000000000000000000100 /
b00000000000000000000000000000100 1
b00000000000000000000000000000100 3
b00000000000000000000000000000100 5
b00000000000000000000000000000001 :
b00000000000000000000000000000001 <
b00000000000000000000000000000101 ?
b00000000000000000000000000000100 @
b00000000000000000000000000000100 B
b00000000000000000000000000000101 C
b00000000000000000000000000000100 D
b00000000000000000000000000000100 F
b00000000000000000000000000000101 G
b00000000000000000000000000000100 H
b00000000000000000000000000000101 K
b00000000000000000000000000000101 L
b00000000000000000000000000000100 M
b00000000000000000000000000000100 O
b00000000000000000000000000000101 P
b00000000000000000000000000000101 Q
b00000000000000000000000000000100 R
b00000000000000000000000000000100 T
b00000000000000000000000000000101 U
b00000000000000000000000000000101 V
1W
b00000000000000000000000000000001 X
b00000000000000000000000000000110 Y
b00000000000000000000000000000101 Z
b00000000000000000000000000000001 \
#55
0W
#60
b00000000000000000000000000000111 &
b00000111 '
b00000000000000000000000000000110 (
b00000000000000000000000000000110 *
b00000000000000000000000000000101 +
b00000000000000000000000000000101 -
b00000000000000000000000000000101 /
b00000000000000000000000000000101 1
b00000000000000000000000000000101 3
b00000000000000000000000000000101 5
b00000000000000000000000000000011 9
b00000000000000000000000000000100 =
b00000000000000000000000000000110 ?
b00000000000000000000000000000101 @
b00000000000000000000000000000101 B
b00000000000000000000000000000110 C
b00000000000000000000000000000101 D
b00000000000000000000000000000101 F
b00000000000000000000000000000110 G
b00000000000000000000000000000101 H
b00000000000000000000000000000110 K
b00000000000000000000000000000110 L
b00000000000000000000000000000101 M
b00000000000000000000000000000101 O
b00000000000000000000000000000110 P
b00000000000000000000000000000110 Q
b00000000000000000000000000000101 R
b00000000000000000000000000000101 T
b00000000000000000000000000000110 U
b00000000000000000000000000000110 V
1W
b00000000000000000000000000000111 Y
b00000000000000000000000000000110 Z
#65
0W
#70
b00000000000000000000000000001000 &
b00001000 '
b00000000000000000000000000000111 (
b00000000000000000000000000000111 *
b00000000000000000000000000000110 +
b00000000000000000000000000000110 -
b00000000000000000000000000000110 /
b00000000000000000000000000000110 1
b00000000000000000000000000000110 3
b00000000000000000000000000000110 5
b00000000000000000000000000000100 9
b00000000000000000000000000000101 =
b00000000000000000000000000000111 ?
b00000000000000000000000000000110 @
b00000000000000000000000000000110 B
b00000000000000000000000000000111 C
b00000000000000000000000000000110 D
b00000000000000000000000000000110 F
b00000000000000000000000000000111 G
b00000000000000000000000000000110 H
b00000000000000000000000000000111 K
b00000000000000000000000000000111 L
b00000000000000000000000000000110 M
b00000000000000000000000000000110 O
b00000000000000000000000000000111 P
b00000000000000000000000000000111 Q
b00000000000000000000000000000110 R
b00000000000000000000000000000110 T
b00000000000000000000000000000111 U
b00000000000000000000000000000111 V
1W
b00000000000000000000000000001000 Y
b00000000000000000000000000000111 Z
#75
0W
#80
b00000000000000000000000000001001 &
b00001001 '
b00000000000000000000000000001000 (
b00000000000000000000000000001000 *
b00000000000000000000000000000111 +
b00000000000000000000000000000111 -
b00000000000000000000000000000111 /
b00000000000000000000000000000111 1
b00000000000000000000000000000111 3
b00000000000000000000000000000111 5
b00000000000000000000000000000101 9
b00000000000000000000000000000110 =
b00000000000000000000000000001000 ?
b00000000000000000000000000000111 @
b00000000000000000000000000000111 B
b00000000000000000000000000001000 C
b00000000000000000000000000000111 D
b00000000000000000000000000000111 F
b00000000000000000000000000001000 G
b00000000000000000000000000000111 H
b00000000000000000000000000001000 K
b00000000000000000000000000001000 L
b00000000000000000000000000000111 M
b00000000000000000000000000000111 O
b00000000000000000000000000001000 P
b00000000000000000000000000001000 Q
b00000000000000000000000000000111 R
b00000000000000000000000000000111 T
b00000000000000000000000000001000 U
b00000000000000000000000000001000 V
1W
b00000000000000000000000000001001 Y
b00000000000000000000000000001000 Z
#85
0W
#90
b00000000000000000000000000001010 &
b00001010 '
b00000000000000000000000000001001 (
b00000000000000000000000000001001 *
b00000000000000000000000000001000 +
b00000000000000000000000000001000 -
b00000000000000000000000000001000 /
b00000000000000000000000000001000 1
b00000000000000000000000000001000 3
b00000000000000000000000000001000 5
b00000000000000000000000000000110 9
b00000000000000000000000000000111 =
b00000000000000000000000000001001 ?
b00000000000000000000000000001000 @
b00000000000000000000000000001000 B
b00000000000000000000000000001001 C
b00000000000000000000000000001000 D
b00000000000000000000000000001000 F
b00000000000000000000000000001001 G
b00000000000000000000000000001000 H
b00000000000000000000000000001001 K
b00000000000000000000000000001001 L
b00000000000000000000000000001000 M
b00000000000000000000000000001000 O
b00000000000000000000000000001001 P
b00000000000000000000000000001001 Q
b00000000000000000000000000001000 R
b00000000000000000000000000001000 T
b00000000000000000000000000001001 U
b00000000000000000000000000001001 V
1W
b00000000000000000000000000001010 Y
b00000000000000000000000000001001 Z
#95
0W
#100
b00000000000000000000000000001011 &
b00001011 '
b00000000000000000000000000001010 (
b00000000000000000000000000001010 *
b00000000000000000000000000001001 +
b00000000000000000000000000001001 -
b00000000000000000000000000001001 /
b00000000000000000000000000001001 1
b00000000000000000000000000001001 3
b00000000000000000000000000001001 5
b00000000000000000000000000000111 9
b00000000000000000000000000000001 >
b00000000000000000000000000001010 ?
b00000000000000000000000000001001 @
b00000000000000000000000000001001 B
b00000000000000000000000000001010 C
b00000000000000000000000000001001 D
b00000000000000000000000000001001 F
b00000000000000000000000000001010 G
b00000000000000000000000000001001 H
b00000000000000000000000000001010 K
b00000000000000000000000000001010 L
b00000000000000000000000000001001 M
b00000000000000000000000000001001 O
b00000000000000000000000000001010 P
b00000000000000000000000000001010 Q
b00000000000000000000000000001001 R
b00000000000000000000000000001001 T
b00000000000000000000000000001010 U
b00000000000000000000000000001010 V
1W
b00000000000000000000000000001011 Y
b00000000000000000000000000001010 Z