$comment provided by user Cerpin via IRC on 2019-10-27 per download link http://0x0.st/zYZS.vcd demonstrates: bit vectors, multi-bit integers, nested modules, identical names for several VCD variables, results in some 520 sigrok channels $end $date Sat Oct 26 18:25:04 2019 $end $version Icarus Verilog $end $timescale 1s $end $scope module tb_uwam_psf2 $end $var wire 80 ! tssamp_o [79:0] $end $var reg 1 " bit_i $end $var reg 1 # clk_i $end $var reg 1 $ rst_i $end $var integer 32 % i [31:0] $end $scope module dut $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 80 & tssamp_o [79:0] $end $var reg 6 ' period_count [5:0] $end $var integer 32 ( i [31:0] $end $scope begin cmpacc[0] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 ) tap_i [7:0] $end $var wire 8 * tapcoeff_i [7:0] $end $var reg 8 + samp [7:0] $end $var reg 8 , tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[1] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 - tap_i [7:0] $end $var wire 8 . tapcoeff_i [7:0] $end $var reg 8 / samp [7:0] $end $var reg 8 0 tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[2] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 1 tap_i [7:0] $end $var wire 8 2 tapcoeff_i [7:0] $end $var reg 8 3 samp [7:0] $end $var reg 8 4 tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[3] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 5 tap_i [7:0] $end $var wire 8 6 tapcoeff_i [7:0] $end $var reg 8 7 samp [7:0] $end $var reg 8 8 tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[4] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 9 tap_i [7:0] $end $var wire 8 : tapcoeff_i [7:0] $end $var reg 8 ; samp [7:0] $end $var reg 8 < tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[5] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 = tap_i [7:0] $end $var wire 8 > tapcoeff_i [7:0] $end $var reg 8 ? samp [7:0] $end $var reg 8 @ tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[6] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 A tap_i [7:0] $end $var wire 8 B tapcoeff_i [7:0] $end $var reg 8 C samp [7:0] $end $var reg 8 D tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[7] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 E tap_i [7:0] $end $var wire 8 F tapcoeff_i [7:0] $end $var reg 8 G samp [7:0] $end $var reg 8 H tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[8] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 I tap_i [7:0] $end $var wire 8 J tapcoeff_i [7:0] $end $var reg 8 K samp [7:0] $end $var reg 8 L tap_o [7:0] $end $upscope $end $upscope $end $scope begin cmpacc[9] $end $scope module psf_node $end $var wire 1 " bit_i $end $var wire 1 # clk_i $end $var wire 1 $ rst_i $end $var wire 8 M tap_i [7:0] $end $var wire 8 N tapcoeff_i [7:0] $end $var reg 8 O samp [7:0] $end $var reg 8 P tap_o [7:0] $end $upscope $end $upscope $end $upscope $end $upscope $end $enddefinitions $end #0 $dumpvars bx P bx O bx N b0 M bx L bx K bx J b0 I bx H bx G bx F b0 E bx D bx C bx B b0 A bx @ bx ? bx > b0 = bx < bx ; bx : b0 9 bx 8 bx 7 bx 6 b0 5 bx 4 bx 3 bx 2 b0 1 bx 0 bx / bx . b0 - bx , bx + bx * b0 ) b1010 ( bx ' bx & bx % 1$ 0# x" bx ! $end #2 b1010 ( b0 , b0 0 b0 4 b0 8 b0 < b0 @ b0 D b0 H b0 L b0 ! b0 & b0 P b100000 ' 1# #4 0# #6 1# #8 b11111110 + b11111101 / b11111101 3 b11111101 7 b11111101 ; b11111110 ? b11111111 C b0 G b10000001 K b10000001 O b1111111 N b1111111 J b0 F b1 B b10 > b11 : b11 6 b11 2 b11 . b10 * b1010 ( 0" b0 % 0$ 0# #10 b11111111 O b10000010 G b10000100 C b10000110 ? b10000111 ; b10001000 7 b10000111 3 b10000110 / b10000011 + b1 N b1 I b1111110 F b1 E b1111100 B b1 A b1111010 > b1 = b1111001 : b1 9 b1111000 6 b1 5 b1111001 2 b1 1 b1111010 . b1 - b1111101 * b1010 ( b11111110 , b11111101 0 b11111101 4 b11111101 8 b11111101 < b11111110 @ b11111111 D b10000001 L b10000001100000010000000011111111111111101111110111111101111111011111110111111110 ! b10000001100000010000000011111111111111101111110111111101111111011111110111111110 & b10000001 P b10000 ' 1# #12 b1111101 + b1111010 / b1111001 3 b1111000 7 b1111001 ; b1111010 ? b1111100 C b1111110 G b1111111 K b1 O 1" b1 % 0# #14 b110 K b1100 G b10010 C b11000 ? b11110 ; b100011 7 b100111 3 b101010 / b101011 + b1 M b110 J b1100 F b0 E b10010 B b11000 > b11110 : b100011 6 b100111 2 b101010 . b0 - b101011 * b1 ) b1010 ( b1000 ' b1 P b10000000 L b1111111 H b1111101 D b1111011 @ b1111010 < b1111001 8 b1111010 4 b1111011 0 b1100000000111111101111101011110110111101001111001011110100111101101111101 ! b1100000000111111101111101011110110111101001111001011110100111101101111101 & b1111101 , 1# #16 b11010101 + b11010110 / b11011001 3 b11011101 7 b11100010 ; b11101000 ? b11101110 C b11110100 G b11111010 K b11111111 O 0" b10 % 0# #18 b11010110 O b11011001 K b11011101 G b11100010 C b11101110 ; b11110100 7 b11111010 3 b11111111 / b10000011 + b101010 N b100111 J b0 I b100011 F b1 E b11110 B b0 = b10010 : b1100 6 b0 5 b110 2 b1 . b1 - b1111101 * b0 ) b1010 ( b11010110 , b11010110 0 b11011010 4 b11011110 8 b11100011 < b11101001 @ b11101111 D b11110100 H b11111011 L b111110111111010011101111111010011110001111011110110110101101011011010110 ! b111110111111010011101111111010011110001111011110110110101101011011010110 & b0 P b100 ' 1# #20 b1111101 + b1 / b110 3 b1100 7 b10010 ; b11000 ? b11110 C b100011 G b100111 K b101010 O 1" b11 % 0# #22 b1111010 O b1111001 K b1111000 G b1111001 C b1111010 ? b1111100 ; b1111110 7 b1111111 3 b10 + b1111010 N b1111001 J b1111000 F b0 E b1111001 B b1111010 > b1 = b1111100 : b1111110 6 b1 5 b1111111 2 b0 - b10 * b1 ) b1010 ( b10 ' b101011 P b100111 L b100100 H b11111 D b11000 @ b10011 < b1100 8 b111 4 b10 0 b101011001001110010010000011111000110000001001100001100000001110000001001111101 ! b101011001001110010010000011111000110000001001100001100000001110000001001111101 & b1111101 , 1# #24 b100 % 0# #26 b11 O b11 K b11 G b11 C b10 ? b1 ; b0 7 b1111111 / b1111111 + b11 N b0 M b11 J b1 I b11 F b11 B b0 A b10 > b0 = b1 : b0 9 b0 6 b0 5 b0 1 b1111111 . b1 - b1111111 * b1010 ( b11 , b1 0 b10000000 4 b1111111 8 b1111101 < b1111011 @ b1111010 D b1111000 H b1111001 L b1111011011110010111100001111010011110110111110101111111100000000000000100000011 ! b1111011011110010111100001111010011110110111110101111111100000000000000100000011 & b1111011 P b1 ' 1# #28 b101 % 0# #30 b1111111 O b1111111 K b0 G b1 C b11 ; b11 7 b11 3 b11 / b10 + b1111111 N b1111111 J b0 I b0 F b1 E b1 B b11 : b11 6 b11 2 b11 . b0 - b10 * b0 ) b1010 ( b100000 ' b11 P b100 L b11 H b11 D b10 @ b1 < b0 8 b1111111 4 b10000000 0 b11000001000000001100000011000000100000000100000000011111111000000010000000 ! b11000001000000001100000011000000100000000100000000011111111000000010000000 & b10000000 , 1# #32 b110 % 0# #34 b1 O b1111110 G b1111100 C b1111010 ? b1111001 ; b1111000 7 b1111001 3 b1111010 / b1111101 + b1 N b1 M b1 I b1111110 F b0 E b1111100 B b1111010 > b1111001 : b1111000 6 b1111001 2 b1111010 . b1 - b1111101 * b1010 ( b10 , b11 0 b11 4 b11 8 b11 < b1 D b1 H b1111111 L b1111111011111110000000100000001000000100000001100000011000000110000001100000010 ! b1111111011111110000000100000001000000100000001100000011000000110000001100000010 & b1111111 P b10000 ' 1# #36 b111 % 0# #38 b110 K b1100 G b10010 C b11000 ? b11110 ; b100011 7 b100111 3 b101010 / b101011 + b110 J b1100 F b10010 B b1 A b11000 > b1 = b11110 : b1 9 b100011 6 b1 5 b100111 2 b1 1 b101010 . b0 - b101011 * b1 ) b1010 ( b1000 ' b10 P b10000000 L b1111110 H b1111100 D b1111010 @ b1111001 < b1111000 8 b1111001 4 b1111011 0 b10100000000111111001111100011110100111100101111000011110010111101101111101 ! b10100000000111111001111100011110100111100101111000011110010111101101111101 & b1111101 , 1# #40 b11010101 + b11010110 / b11011001 3 b11011101 7 b11100010 ; b11101000 ? b11101110 C b11110100 G b11111010 K b11111111 O 0" b1000 % 0# #42 b11010110 O b11011001 K b11011101 G b11100010 C b11101110 ; b11110100 7 b11111010 3 b11111111 / b10000011 + b101010 N b100111 J b0 I b100011 F b1 E b11110 B b0 = b10010 : b1100 6 b0 5 b110 2 b1 . b1 - b1111101 * b0 ) b1010 ( b11010110 , b11010110 0 b11011010 4 b11011110 8 b11100011 < b11101001 @ b11101111 D b11110100 H b11111011 L b111110111111010011101111111010011110001111011110110110101101011011010110 ! b111110111111010011101111111010011110001111011110110110101101011011010110 & b0 P b100 ' 1# #44 b1001 % 0# #46 b10000110 O b10000111 K b10001000 G b10000111 C b10000110 ? b10000100 ; b10000010 7 b10000001 3 b11111110 + b1111010 N b0 M b1111001 J b1111000 F b1111001 B b0 A b1111010 > b1111100 : b0 9 b1111110 6 b1111111 2 b0 1 b10 * b1 ) b1010 ( b10 ' b11010111 P b11011001 L b11011110 H b11100011 D b11101000 @ b11101111 < b11110100 8 b11111011 4 b0 0 b11010111110110011101111011100011111010001110111111110100111110110000000010000011 ! b11010111110110011101111011100011111010001110111111110100111110110000000010000011 & b10000011 , 1# #48 b1010 % 0# #50 b11111101 O b11111101 K b11111101 G b11111101 C b11111110 ? b11111111 ; b0 7 b10000001 / b10000001 + b11 N b11 J b11 F b11 B b1 A b10 > b1 = b1 : b1 9 b0 6 b1 5 b1 1 b1111111 . b1111111 * b1010 ( b11111111 , b10000001 4 b10000010 8 b10000100 < b10000110 @ b10000111 D b10001001 H b10000111 L b10000110100001111000100110000111100001101000010010000010100000010000000011111111 ! b10000110100001111000100110000111100001101000010010000010100000010000000011111111 & b10000110 P b1 ' 1# #52 b1011 % 0# #54 b10000001 O b10000001 K b0 G b11111111 C b11111101 ; b11111101 7 b11111101 3 b11111101 / b11111110 + b1111111 N b1 M b1111111 J b0 F b1 B b0 A b0 = b11 : b0 9 b11 6 b0 5 b11 2 b0 1 b11 . b10 * b0 ) b1010 ( b100000 ' b11111101 P b11111101 L b11111110 H b11111110 D b11111111 @ b0 < b1 8 b10000010 4 b10000010 0 b11111101111111011111111011111110111111110000000000000001100000101000001010000010 ! b11111101111111011111111011111110111111110000000000000001100000101000001010000010 & b10000010 , 1# #56 b10 + b11 / b11 3 b11 7 b11 ; b10 ? b1 C b1111111 K b1111111 O 1" b1100 % 0# #58 b1 O b1111110 G b1111100 C b1111010 ? b1111001 ; b1111000 7 b1111001 3 b1111010 / b1111101 + b1 N b0 M b1111110 F b0 E b1111100 B b1111010 > b1111001 : b1111000 6 b1111001 2 b1111010 . b1111101 * b1010 ( b10 , b100 0 b11 4 b11 8 b11 < b10 @ b1 D b1 H b1111111 L b10000000011111110000000100000001000000100000001100000011000000110000010000000010 ! b10000000011111110000000100000001000000100000001100000011000000110000010000000010 & b10000000 P b10000 ' 1# #60 b1101 % 0# #62 b110 K b1100 G b10010 C b11000 ? b11110 ; b100011 7 b100111 3 b101010 / b101011 + b1 M b110 J b1 I b1100 F b10010 B b1 A b11000 > b1 = b11110 : b1 9 b100011 6 b1 5 b100111 2 b1 1 b101010 . b0 - b101011 * b1 ) b1010 ( b1000 ' b1 P b1111110 H b1111100 D b1111010 @ b1111001 < b1111000 8 b1111001 4 b1111011 0 b1011111110111111001111100011110100111100101111000011110010111101101111101 ! b1011111110111111001111100011110100111100101111000011110010111101101111101 & b1111101 , 1# #64 b11010101 + b11010110 / b11011001 3 b11011101 7 b11100010 ; b11101000 ? b11101110 C b11110100 G b11111010 K b11111111 O 0" b1110 % 0# #66 b11010110 O b11011001 K b11011101 G b11100010 C b11101110 ; b11110100 7 b11111010 3 b11111111 / b10000011 + b101010 N b100111 J b0 I b100011 F b1 E b11110 B b0 = b10010 : b1100 6 b0 5 b110 2 b1 . b1 - b1111101 * b0 ) b1010 ( b11010110 , b11010110 0 b11011010 4 b11011110 8 b11100011 < b11101001 @ b11101111 D b11110100 H b11111011 L b111110111111010011101111111010011110001111011110110110101101011011010110 ! b111110111111010011101111111010011110001111011110110110101101011011010110 & b0 P b100 ' 1# #68 b1111 % 0# #70 b10000110 O b10000111 K b10001000 G b10000111 C b10000110 ? b10000100 ; b10000010 7 b10000001 3 b11111110 + b1111010 N b0 M b1111001 J b1111000 F b1111001 B b0 A b1111010 > b1111100 : b0 9 b1111110 6 b1111111 2 b0 1 b10 * b1 ) b1010 ( b10 ' b11010111 P b11011001 L b11011110 H b11100011 D b11101000 @ b11101111 < b11110100 8 b11111011 4 b0 0 b11010111110110011101111011100011111010001110111111110100111110110000000010000011 ! b11010111110110011101111011100011111010001110111111110100111110110000000010000011 & b10000011 , 1# #72 b10000 % 0# #74 b11111101 O b11111101 K b11111101 G b11111101 C b11111110 ? b11111111 ; b0 7 b10000001 / b10000001 + b11 N b11 J b11 F b11 B b1 A b10 > b1 = b1 : b1 9 b0 6 b1 5 b1 1 b1111111 . b1111111 * b1010 ( b11111111 , b10000001 4 b10000010 8 b10000100 < b10000110 @ b10000111 D b10001001 H b10000111 L b10000110100001111000100110000111100001101000010010000010100000010000000011111111 ! b10000110100001111000100110000111100001101000010010000010100000010000000011111111 & b10000110 P b1 ' 1# #76 b10001 % 0# #78 b10000001 O b10000001 K b0 G b11111111 C b11111101 ; b11111101 7 b11111101 3 b11111101 / b11111110 + b1111111 N b1 M b1111111 J b0 F b1 B b0 A b0 = b11 : b0 9 b11 6 b0 5 b11 2 b0 1 b11 . b10 * b0 ) b1010 ( b100000 ' b11111101 P b11111101 L b11111110 H b11111110 D b11111111 @ b0 < b1 8 b10000010 4 b10000010 0 b11111101111111011111111011111110111111110000000000000001100000101000001010000010 ! b11111101111111011111111011111110111111110000000000000001100000101000001010000010 & b10000010 , 1# #80 b10 + b11 / b11 3 b11 7 b11 ; b10 ? b1 C b1111111 K b1111111 O 1" b10010 % 0# #82 b1 O b1111110 G b1111100 C b1111010 ? b1111001 ; b1111000 7 b1111001 3 b1111010 / b1111101 + b1 N b0 M b1111110 F b0 E b1111100 B b1111010 > b1111001 : b1111000 6 b1111001 2 b1111010 . b1111101 * b1010 ( b10 , b100 0 b11 4 b11 8 b11 < b10 @ b1 D b1 H b1111111 L b10000000011111110000000100000001000000100000001100000011000000110000010000000010 ! b10000000011111110000000100000001000000100000001100000011000000110000010000000010 & b10000000 P b10000 ' 1# #84 b10011 % 0# #86 b110 K b1100 G b10010 C b11000 ? b11110 ; b100011 7 b100111 3 b101010 / b101011 + b1 M b110 J b1 I b1100 F b10010 B b1 A b11000 > b1 = b11110 : b1 9 b100011 6 b1 5 b100111 2 b1 1 b101010 . b0 - b101011 * b1 ) b1010 ( b1000 ' b1 P b1111110 H b1111100 D b1111010 @ b1111001 < b1111000 8 b1111001 4 b1111011 0 b1011111110111111001111100011110100111100101111000011110010111101101111101 ! b1011111110111111001111100011110100111100101111000011110010111101101111101 & b1111101 , 1# #88 b10100 % 0#