verilator/test_regress/t/t_interface_ref_trace_fst.out
Geza Lore 95c4ade718
Unify code generation for trace declarations in both trace formats (#4612)
This patch adds some abstract enums to pass to the trace decl* APIs, so
the VCD/FST specific code can be kept in verilated_{vcd,fst}_*.cc, and
removed from V3Emit*. It also reworks the generation of the trace init
functions (those that call 'decl*' for the signals) such that the scope
hierarchy is traversed precisely once during initialization, which
simplifies the FST writer. This later change also has the side effect of
fixing tracing of nested interfaces when traced via an interface
reference - see the change in the expected t_interface_ref_trace - which
previously were missed.
2023-10-24 16:33:29 +01:00

683 lines
18 KiB
Plaintext

$date
Tue Oct 24 11:00:16 2023
$end
$version
fstWriter
$end
$timescale
1ps
$end
$scope module top $end
$var wire 1 ! clk $end
$scope module t $end
$var wire 1 ! clk $end
$var integer 32 " cyc [31:0] $end
$scope interface intf_1 $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 # value [31:0] $end
$scope struct the_struct $end
$var integer 32 $ val100 [31:0] $end
$var integer 32 % val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 & value [31:0] $end
$upscope $end
$upscope $end
$scope interface intf_2 $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 ' value [31:0] $end
$scope struct the_struct $end
$var integer 32 ( val100 [31:0] $end
$var integer 32 ) val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 * value [31:0] $end
$upscope $end
$upscope $end
$scope module a $end
$scope interface intf_one $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 # value [31:0] $end
$scope struct the_struct $end
$var integer 32 $ val100 [31:0] $end
$var integer 32 % val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 & value [31:0] $end
$upscope $end
$upscope $end
$scope interface intf_two $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 ' value [31:0] $end
$scope struct the_struct $end
$var integer 32 ( val100 [31:0] $end
$var integer 32 ) val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 * value [31:0] $end
$upscope $end
$upscope $end
$scope interface intf_in_sub_all $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 + value [31:0] $end
$scope struct the_struct $end
$var integer 32 , val100 [31:0] $end
$var integer 32 - val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 . value [31:0] $end
$upscope $end
$upscope $end
$scope module ac1 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 # value [31:0] $end
$scope struct the_struct $end
$var integer 32 $ val100 [31:0] $end
$var integer 32 % val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 & value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module ac2 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 ' value [31:0] $end
$scope struct the_struct $end
$var integer 32 ( val100 [31:0] $end
$var integer 32 ) val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 * value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module ac3 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 + value [31:0] $end
$scope struct the_struct $end
$var integer 32 , val100 [31:0] $end
$var integer 32 - val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 . value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module as3 $end
$scope interface intf_for_struct $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 + value [31:0] $end
$scope struct the_struct $end
$var integer 32 , val100 [31:0] $end
$var integer 32 - val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 . value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$upscope $end
$scope module abcdefghijklmnopqrstuvwxyz $end
$scope interface intf_one $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 ' value [31:0] $end
$scope struct the_struct $end
$var integer 32 ( val100 [31:0] $end
$var integer 32 ) val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 * value [31:0] $end
$upscope $end
$upscope $end
$scope interface intf_two $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 # value [31:0] $end
$scope struct the_struct $end
$var integer 32 $ val100 [31:0] $end
$var integer 32 % val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 & value [31:0] $end
$upscope $end
$upscope $end
$scope interface intf_in_sub_all $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 / value [31:0] $end
$scope struct the_struct $end
$var integer 32 0 val100 [31:0] $end
$var integer 32 1 val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 2 value [31:0] $end
$upscope $end
$upscope $end
$scope module ac1 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 ' value [31:0] $end
$scope struct the_struct $end
$var integer 32 ( val100 [31:0] $end
$var integer 32 ) val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 * value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module ac2 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 # value [31:0] $end
$scope struct the_struct $end
$var integer 32 $ val100 [31:0] $end
$var integer 32 % val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 & value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module ac3 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 / value [31:0] $end
$scope struct the_struct $end
$var integer 32 0 val100 [31:0] $end
$var integer 32 1 val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 2 value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module as3 $end
$scope interface intf_for_struct $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 / value [31:0] $end
$scope struct the_struct $end
$var integer 32 0 val100 [31:0] $end
$var integer 32 1 val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 2 value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$upscope $end
$scope module c1 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 # value [31:0] $end
$scope struct the_struct $end
$var integer 32 $ val100 [31:0] $end
$var integer 32 % val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 & value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module c2 $end
$scope interface intf_for_check $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 ' value [31:0] $end
$scope struct the_struct $end
$var integer 32 ( val100 [31:0] $end
$var integer 32 ) val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 * value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module s1 $end
$scope interface intf_for_struct $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 # value [31:0] $end
$scope struct the_struct $end
$var integer 32 $ val100 [31:0] $end
$var integer 32 % val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 & value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$scope module s2 $end
$scope interface intf_for_struct $end
$var wire 1 ! clk $end
$var wire 32 " cyc [31:0] $end
$var integer 32 ' value [31:0] $end
$scope struct the_struct $end
$var integer 32 ( val100 [31:0] $end
$var integer 32 ) val200 [31:0] $end
$upscope $end
$scope interface inner $end
$var wire 32 " cyc [31:0] $end
$var integer 32 * value [31:0] $end
$upscope $end
$upscope $end
$upscope $end
$upscope $end
$upscope $end
$enddefinitions $end
#0
$dumpvars
b00000000000000000000000000000000 2
b00000000000000000000010010110010 1
b00000000000000000000010001001110 0
b00000000000000000000001111101010 /
b00000000000000000000000000000000 .
b00000000000000000000010010110001 -
b00000000000000000000010001001101 ,
b00000000000000000000001111101001 +
b00000000000000000000000000000000 *
b00000000000000000000000011001010 )
b00000000000000000000000001100110 (
b00000000000000000000000000000010 '
b00000000000000000000000000000000 &
b00000000000000000000000011001001 %
b00000000000000000000000001100101 $
b00000000000000000000000000000001 #
b00000000000000000000000000000000 "
0!
$end
#10
1!
b00000000000000000000000000000001 "
b00000000000000000000000000000010 #
b00000000000000000000000001100110 $
b00000000000000000000000011001010 %
b00000000000000000000000000000011 '
b00000000000000000000000001100111 (
b00000000000000000000000011001011 )
b00000000000000000000001111101010 +
b00000000000000000000010001001110 ,
b00000000000000000000010010110010 -
b00000000000000000000001111101011 /
b00000000000000000000010001001111 0
b00000000000000000000010010110011 1
#15
0!
#20
1!
b00000000000000000000010010110100 1
b00000000000000000000010001010000 0
b00000000000000000000001111101100 /
b00000000000000000000010010110011 -
b00000000000000000000010001001111 ,
b00000000000000000000001111101011 +
b00000000000000000000000011001100 )
b00000000000000000000000001101000 (
b00000000000000000000000000000100 '
b00000000000000000000000011001011 %
b00000000000000000000000001100111 $
b00000000000000000000000000000011 #
b00000000000000000000000000000010 "
#25
0!
#30
1!
b00000000000000000000000000000011 "
b00000000000000000000000000000100 #
b00000000000000000000000001101000 $
b00000000000000000000000011001100 %
b00000000000000000000000000000101 '
b00000000000000000000000001101001 (
b00000000000000000000000011001101 )
b00000000000000000000001111101100 +
b00000000000000000000010001010000 ,
b00000000000000000000010010110100 -
b00000000000000000000001111101101 /
b00000000000000000000010001010001 0
b00000000000000000000010010110101 1
#35
0!
#40
1!
b00000000000000000000010010110110 1
b00000000000000000000010001010010 0
b00000000000000000000001111101110 /
b00000000000000000000010010110101 -
b00000000000000000000010001010001 ,
b00000000000000000000001111101101 +
b00000000000000000000000011001110 )
b00000000000000000000000001101010 (
b00000000000000000000000000000110 '
b00000000000000000000000011001101 %
b00000000000000000000000001101001 $
b00000000000000000000000000000101 #
b00000000000000000000000000000100 "
#45
0!
#50
1!
b00000000000000000000000000000101 "
b00000000000000000000000000000110 #
b00000000000000000000000001101010 $
b00000000000000000000000011001110 %
b00000000000000000000000000000111 '
b00000000000000000000000001101011 (
b00000000000000000000000011001111 )
b00000000000000000000001111101110 +
b00000000000000000000010001010010 ,
b00000000000000000000010010110110 -
b00000000000000000000001111101111 /
b00000000000000000000010001010011 0
b00000000000000000000010010110111 1
#55
0!
#60
1!
b00000000000000000000010010111000 1
b00000000000000000000010001010100 0
b00000000000000000000001111110000 /
b00000000000000000000010010110111 -
b00000000000000000000010001010011 ,
b00000000000000000000001111101111 +
b00000000000000000000000011010000 )
b00000000000000000000000001101100 (
b00000000000000000000000000001000 '
b00000000000000000000000011001111 %
b00000000000000000000000001101011 $
b00000000000000000000000000000111 #
b00000000000000000000000000000110 "
#65
0!
#70
1!
b00000000000000000000000000000111 "
b00000000000000000000000000001000 #
b00000000000000000000000001101100 $
b00000000000000000000000011010000 %
b00000000000000000000000000001001 '
b00000000000000000000000001101101 (
b00000000000000000000000011010001 )
b00000000000000000000001111110000 +
b00000000000000000000010001010100 ,
b00000000000000000000010010111000 -
b00000000000000000000001111110001 /
b00000000000000000000010001010101 0
b00000000000000000000010010111001 1
#75
0!
#80
1!
b00000000000000000000010010111010 1
b00000000000000000000010001010110 0
b00000000000000000000001111110010 /
b00000000000000000000010010111001 -
b00000000000000000000010001010101 ,
b00000000000000000000001111110001 +
b00000000000000000000000011010010 )
b00000000000000000000000001101110 (
b00000000000000000000000000001010 '
b00000000000000000000000011010001 %
b00000000000000000000000001101101 $
b00000000000000000000000000001001 #
b00000000000000000000000000001000 "
#85
0!
#90
1!
b00000000000000000000000000001001 "
b00000000000000000000000000001010 #
b00000000000000000000000001101110 $
b00000000000000000000000011010010 %
b00000000000000000000000000001011 '
b00000000000000000000000001101111 (
b00000000000000000000000011010011 )
b00000000000000000000001111110010 +
b00000000000000000000010001010110 ,
b00000000000000000000010010111010 -
b00000000000000000000001111110011 /
b00000000000000000000010001010111 0
b00000000000000000000010010111011 1
#95
0!
#100
1!
b00000000000000000000010010111100 1
b00000000000000000000010001011000 0
b00000000000000000000001111110100 /
b00000000000000000000010010111011 -
b00000000000000000000010001010111 ,
b00000000000000000000001111110011 +
b00000000000000000000000011010100 )
b00000000000000000000000001110000 (
b00000000000000000000000000001100 '
b00000000000000000000000011010011 %
b00000000000000000000000001101111 $
b00000000000000000000000000001011 #
b00000000000000000000000000001010 "
#105
0!
#110
1!
b00000000000000000000000000001011 "
b00000000000000000000000000001100 #
b00000000000000000000000001110000 $
b00000000000000000000000011010100 %
b00000000000000000000000000001101 '
b00000000000000000000000001110001 (
b00000000000000000000000011010101 )
b00000000000000000000001111110100 +
b00000000000000000000010001011000 ,
b00000000000000000000010010111100 -
b00000000000000000000001111110101 /
b00000000000000000000010001011001 0
b00000000000000000000010010111101 1
#115
0!
#120
1!
b00000000000000000000010010111110 1
b00000000000000000000010001011010 0
b00000000000000000000001111110110 /
b00000000000000000000010010111101 -
b00000000000000000000010001011001 ,
b00000000000000000000001111110101 +
b00000000000000000000000011010110 )
b00000000000000000000000001110010 (
b00000000000000000000000000001110 '
b00000000000000000000000011010101 %
b00000000000000000000000001110001 $
b00000000000000000000000000001101 #
b00000000000000000000000000001100 "
#125
0!
#130
1!
b00000000000000000000000000001101 "
b00000000000000000000000000001110 #
b00000000000000000000000001110010 $
b00000000000000000000000011010110 %
b00000000000000000000000000001111 '
b00000000000000000000000001110011 (
b00000000000000000000000011010111 )
b00000000000000000000001111110110 +
b00000000000000000000010001011010 ,
b00000000000000000000010010111110 -
b00000000000000000000001111110111 /
b00000000000000000000010001011011 0
b00000000000000000000010010111111 1
#135
0!
#140
1!
b00000000000000000000010011000000 1
b00000000000000000000010001011100 0
b00000000000000000000001111111000 /
b00000000000000000000010010111111 -
b00000000000000000000010001011011 ,
b00000000000000000000001111110111 +
b00000000000000000000000011011000 )
b00000000000000000000000001110100 (
b00000000000000000000000000010000 '
b00000000000000000000000011010111 %
b00000000000000000000000001110011 $
b00000000000000000000000000001111 #
b00000000000000000000000000001110 "
#145
0!
#150
1!
b00000000000000000000000000001111 "
b00000000000000000000000000010000 #
b00000000000000000000000001110100 $
b00000000000000000000000011011000 %
b00000000000000000000000000010001 '
b00000000000000000000000001110101 (
b00000000000000000000000011011001 )
b00000000000000000000001111111000 +
b00000000000000000000010001011100 ,
b00000000000000000000010011000000 -
b00000000000000000000001111111001 /
b00000000000000000000010001011101 0
b00000000000000000000010011000001 1
#155
0!
#160
1!
b00000000000000000000010011000010 1
b00000000000000000000010001011110 0
b00000000000000000000001111111010 /
b00000000000000000000010011000001 -
b00000000000000000000010001011101 ,
b00000000000000000000001111111001 +
b00000000000000000000000011011010 )
b00000000000000000000000001110110 (
b00000000000000000000000000010010 '
b00000000000000000000000011011001 %
b00000000000000000000000001110101 $
b00000000000000000000000000010001 #
b00000000000000000000000000010000 "
#165
0!
#170
1!
b00000000000000000000000000010001 "
b00000000000000000000000000010010 #
b00000000000000000000000001110110 $
b00000000000000000000000011011010 %
b00000000000000000000000000010011 '
b00000000000000000000000001110111 (
b00000000000000000000000011011011 )
b00000000000000000000001111111010 +
b00000000000000000000010001011110 ,
b00000000000000000000010011000010 -
b00000000000000000000001111111011 /
b00000000000000000000010001011111 0
b00000000000000000000010011000011 1
#175
0!
#180
1!
b00000000000000000000010011000100 1
b00000000000000000000010001100000 0
b00000000000000000000001111111100 /
b00000000000000000000010011000011 -
b00000000000000000000010001011111 ,
b00000000000000000000001111111011 +
b00000000000000000000000011011100 )
b00000000000000000000000001111000 (
b00000000000000000000000000010100 '
b00000000000000000000000011011011 %
b00000000000000000000000001110111 $
b00000000000000000000000000010011 #
b00000000000000000000000000010010 "
#185
0!
#190
1!
b00000000000000000000000000010011 "
b00000000000000000000000000010100 #
b00000000000000000000000001111000 $
b00000000000000000000000011011100 %
b00000000000000000000000000010101 '
b00000000000000000000000001111001 (
b00000000000000000000000011011101 )
b00000000000000000000001111111100 +
b00000000000000000000010001100000 ,
b00000000000000000000010011000100 -
b00000000000000000000001111111101 /
b00000000000000000000010001100001 0
b00000000000000000000010011000101 1
#195
0!
#200
1!
b00000000000000000000010011000110 1
b00000000000000000000010001100010 0
b00000000000000000000001111111110 /
b00000000000000000000010011000101 -
b00000000000000000000010001100001 ,
b00000000000000000000001111111101 +
b00000000000000000000000011011110 )
b00000000000000000000000001111010 (
b00000000000000000000000000010110 '
b00000000000000000000000011011101 %
b00000000000000000000000001111001 $
b00000000000000000000000000010101 #
b00000000000000000000000000010100 "
#205
0!
#210
1!
b00000000000000000000000000010101 "
b00000000000000000000000000010110 #
b00000000000000000000000001111010 $
b00000000000000000000000011011110 %
b00000000000000000000000000010111 '
b00000000000000000000000001111011 (
b00000000000000000000000011011111 )
b00000000000000000000001111111110 +
b00000000000000000000010001100010 ,
b00000000000000000000010011000110 -
b00000000000000000000001111111111 /
b00000000000000000000010001100011 0
b00000000000000000000010011000111 1