Tests: Add t_gantt_io test
This commit is contained in:
parent
1cb8091125
commit
72f198d79e
|
|
@ -8,7 +8,7 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
# Version 2.0.
|
||||
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
|
||||
scenarios(vlt_all => 1);
|
||||
scenarios(dist => 1);
|
||||
|
||||
run(cmd => ["cd $Self->{obj_dir} && $ENV{VERILATOR_ROOT}/bin/verilator_difftree"
|
||||
." $Self->{t_dir}/t_difftree.a.tree $Self->{t_dir}/t_difftree.b.tree > diff.log"],
|
||||
|
|
|
|||
|
|
@ -0,0 +1,20 @@
|
|||
VLPROFTHREAD 1.0 # Verilator thread profile dump version 1.0
|
||||
VLPROF arg --threads 2
|
||||
VLPROF arg +verilator+prof+threads+start+2
|
||||
VLPROF arg +verilator+prof+threads+window+2
|
||||
VLPROF stat yields 1
|
||||
VLPROF mtask 6 start 595 end 735 elapsed 140 predict_time 30 cpu 1 on thread 1
|
||||
VLPROF mtask 10 start 8120 end 8260 elapsed 140 predict_time 30 cpu 1 on thread 1
|
||||
VLPROF mtask 6 start 11970 end 12075 elapsed 105 predict_time 30 cpu 1 on thread 1
|
||||
VLPROF mtask 10 start 15925 end 16065 elapsed 140 predict_time 30 cpu 1 on thread 1
|
||||
VLPROF mtask 5 start 5110 end 5530 elapsed 420 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF mtask 7 start 5740 end 5845 elapsed 105 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF mtask 8 start 6125 end 7140 elapsed 1015 predict_time 107 cpu 16 on thread 2
|
||||
VLPROF mtask 9 start 8820 end 9380 elapsed 560 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF mtask 11 start 9940 end 10045 elapsed 105 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF mtask 5 start 14175 end 14595 elapsed 420 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF mtask 7 start 15120 end 15190 elapsed 70 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF mtask 8 start 15365 end 15435 elapsed 70 predict_time 107 cpu 16 on thread 2
|
||||
VLPROF mtask 9 start 15680 end 15750 elapsed 70 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF mtask 11 start 15925 end 15995 elapsed 70 predict_time 30 cpu 16 on thread 2
|
||||
VLPROF stat ticks 17220
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
Verilator Gantt report
|
||||
|
||||
Argument settings:
|
||||
+verilator+prof+threads+start+2
|
||||
+verilator+prof+threads+window+2
|
||||
--threads 2
|
||||
|
||||
Thread gantt graph:
|
||||
Legend: One character width = 200 rdtsc ticks
|
||||
Legend: '&' = multiple mtasks in this period (character width)
|
||||
<-16065 rdtsc total------------------------------------------------------------>
|
||||
t: [1] [1] [1] [1]
|
||||
t: [xx[x[16--] [16] [16] [16] [[x[[16]
|
||||
|
||||
Analysis:
|
||||
Total threads = 2
|
||||
Total mtasks = 7
|
||||
Total cpus used = 2
|
||||
Total yields = 1
|
||||
Total eval time = 16065 rdtsc ticks
|
||||
Longest mtask time = 1085 rdtsc ticks
|
||||
All-thread mtask time = 3430 rdtsc ticks
|
||||
Longest-thread efficiency = 6.8%
|
||||
All-thread efficiency = 10.7%
|
||||
All-thread speedup = 0.2
|
||||
|
||||
Statistics:
|
||||
min log(p2e) = -3.332 from mtask 5 (predict 30, elapsed 840)
|
||||
max log(p2e) = -1.764 from mtask 11 (predict 30, elapsed 175)
|
||||
mean = -2.365
|
||||
stddev = 0.562
|
||||
e ^ stddev = 1.754
|
||||
|
||||
CPUs:
|
||||
cpu 1: cpu_time=525 socket=0 core=1 AMD Ryzen 9 3950X 16-Core Processor
|
||||
cpu 16: cpu_time=2905 socket=0 core=0 AMD Ryzen 9 3950X 16-Core Processor
|
||||
|
||||
Writing profile_threads.vcd
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env perl
|
||||
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
||||
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||
#
|
||||
# Copyright 2003 by Wilson Snyder. This program is free software; you
|
||||
# can redistribute it and/or modify it under the terms of either the GNU
|
||||
# Lesser General Public License Version 3 or the Perl Artistic License
|
||||
# Version 2.0.
|
||||
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
|
||||
scenarios(dist => 1);
|
||||
|
||||
run(cmd => ["cd $Self->{obj_dir} && $ENV{VERILATOR_ROOT}/bin/verilator_gantt $Self->{t_dir}/t_gantt_io.dat > gantt.log"],
|
||||
check_finished => 0);
|
||||
|
||||
files_identical("$Self->{obj_dir}/gantt.log", $Self->{golden_filename});
|
||||
|
||||
vcd_identical("$Self->{obj_dir}/profile_threads.vcd", "$Self->{t_dir}/t_gantt_io_vcd.out");
|
||||
|
||||
ok(1);
|
||||
|
||||
1;
|
||||
|
|
@ -0,0 +1,173 @@
|
|||
$version Generated by verilator_gantt $end
|
||||
$timescale 1ns $end
|
||||
|
||||
$scope module gantt $end
|
||||
$scope module Stats $end
|
||||
$var wire 32 vb parallelism [31:0] $end
|
||||
$upscope $end
|
||||
$scope module cpus $end
|
||||
$var wire 32 v1 cpu16_thread [31:0] $end
|
||||
$var wire 32 v8 cpu1_thread [31:0] $end
|
||||
$upscope $end
|
||||
$scope module mtasks $end
|
||||
$var wire 32 va mtask10_cpu [31:0] $end
|
||||
$var wire 32 v6 mtask11_cpu [31:0] $end
|
||||
$var wire 32 v2 mtask5_cpu [31:0] $end
|
||||
$var wire 32 v9 mtask6_cpu [31:0] $end
|
||||
$var wire 32 v3 mtask7_cpu [31:0] $end
|
||||
$var wire 32 v4 mtask8_cpu [31:0] $end
|
||||
$var wire 32 v5 mtask9_cpu [31:0] $end
|
||||
$upscope $end
|
||||
$scope module threads $end
|
||||
$var wire 32 v7 thread1_mtask [31:0] $end
|
||||
$var wire 32 v0 thread2_mtask [31:0] $end
|
||||
$upscope $end
|
||||
$upscope $end
|
||||
$enddefinitions $end
|
||||
|
||||
#595
|
||||
bz v0
|
||||
bz v1
|
||||
bz va
|
||||
b1 vb
|
||||
bz v2
|
||||
bz v3
|
||||
bz v4
|
||||
bz v5
|
||||
bz v6
|
||||
b110 v7
|
||||
b1 v8
|
||||
b1 v9
|
||||
#735
|
||||
b0 vb
|
||||
bz v7
|
||||
bz v8
|
||||
bz v9
|
||||
#5110
|
||||
b101 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v2
|
||||
#5530
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v2
|
||||
#5740
|
||||
b111 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v3
|
||||
#5845
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v3
|
||||
#6125
|
||||
b1000 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v4
|
||||
#7140
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v4
|
||||
#8120
|
||||
b1 va
|
||||
b1 vb
|
||||
b1010 v7
|
||||
b1 v8
|
||||
#8260
|
||||
bz va
|
||||
b0 vb
|
||||
bz v7
|
||||
bz v8
|
||||
#8820
|
||||
b1001 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v5
|
||||
#9380
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v5
|
||||
#9940
|
||||
b1011 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v6
|
||||
#10045
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v6
|
||||
#11970
|
||||
b1 vb
|
||||
b110 v7
|
||||
b1 v8
|
||||
b1 v9
|
||||
#12075
|
||||
b0 vb
|
||||
bz v7
|
||||
bz v8
|
||||
bz v9
|
||||
#14175
|
||||
b101 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v2
|
||||
#14595
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v2
|
||||
#15120
|
||||
b111 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v3
|
||||
#15190
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v3
|
||||
#15365
|
||||
b1000 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v4
|
||||
#15435
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v4
|
||||
#15680
|
||||
b1001 v0
|
||||
b10 v1
|
||||
b1 vb
|
||||
b10000 v5
|
||||
#15750
|
||||
bz v0
|
||||
bz v1
|
||||
b0 vb
|
||||
bz v5
|
||||
#15925
|
||||
b1011 v0
|
||||
b10 v1
|
||||
b1 va
|
||||
b10 vb
|
||||
b10000 v6
|
||||
b1010 v7
|
||||
b1 v8
|
||||
#15995
|
||||
bz v0
|
||||
bz v1
|
||||
b1 vb
|
||||
bz v6
|
||||
#16065
|
||||
bz va
|
||||
b0 vb
|
||||
bz v7
|
||||
bz v8
|
||||
|
|
@ -8,7 +8,7 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di
|
|||
# Version 2.0.
|
||||
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||
|
||||
scenarios(vlt_all => 1);
|
||||
scenarios(dist => 1);
|
||||
|
||||
run(cmd => ["cd $Self->{obj_dir} && $ENV{VERILATOR_ROOT}/bin/verilator_profcfunc $Self->{t_dir}/t_profcfunc.gprof > cfuncs.out"],
|
||||
check_finished => 0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue