diff --git a/test_regress/t/t_gantt_io.pl b/test_regress/t/t_gantt_io.pl index 9a5924c8a..ba111c47f 100755 --- a/test_regress/t/t_gantt_io.pl +++ b/test_regress/t/t_gantt_io.pl @@ -11,12 +11,12 @@ if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); di scenarios(dist => 1); run(cmd => ["cd $Self->{obj_dir} && $ENV{VERILATOR_ROOT}/bin/verilator_gantt" - . " $Self->{t_dir}/t_gantt_io.dat > gantt.log"], + . " $Self->{t_dir}/$Self->{name}.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"); +vcd_identical("$Self->{obj_dir}/profile_threads.vcd", "$Self->{t_dir}/$Self->{name}.vcd.out"); ok(1); 1; diff --git a/test_regress/t/t_gantt_io_vcd.out b/test_regress/t/t_gantt_io.vcd.out similarity index 100% rename from test_regress/t/t_gantt_io_vcd.out rename to test_regress/t/t_gantt_io.vcd.out diff --git a/test_regress/t/t_gantt_io_noproc.dat b/test_regress/t/t_gantt_io_noproc.dat new file mode 100644 index 000000000..423d57a05 --- /dev/null +++ b/test_regress/t/t_gantt_io_noproc.dat @@ -0,0 +1,24 @@ +VLPROFTHREAD 1.1 # Verilator thread profile dump version 1.1 +VLPROF arg --threads 2 +VLPROF arg +verilator+prof+threads+start+2 +VLPROF arg +verilator+prof+threads+window+2 +VLPROF stat yields 0 +VLPROF eval start 595 elapsed 11655 cpu 19 on thread 1 +VLPROF eval_loop start 945 elapsed 11235 cpu 19 on thread 1 +VLPROF mtask 6 start 2695 elapsed 210 predict_start 0 predict_cost 30 cpu 19 on thread 1 +VLPROF mtask 10 start 9695 elapsed 175 predict_start 196 predict_cost 30 cpu 19 on thread 1 +VLPROF eval start 13720 elapsed 8610 cpu 19 on thread 1 +VLPROF eval_loop start 14000 elapsed 8085 cpu 19 on thread 1 +VLPROF mtask 6 start 15610 elapsed 210 predict_start 0 predict_cost 30 cpu 19 on thread 1 +VLPROF mtask 10 start 21700 elapsed 175 predict_start 196 predict_cost 30 cpu 19 on thread 1 +VLPROF mtask 5 start 5495 elapsed 595 predict_start 0 predict_cost 30 cpu 10 on thread 2 +VLPROF mtask 7 start 6300 elapsed 595 predict_start 30 predict_cost 30 cpu 10 on thread 2 +VLPROF mtask 8 start 7490 elapsed 1050 predict_start 60 predict_cost 107 cpu 10 on thread 2 +VLPROF mtask 9 start 9135 elapsed 595 predict_start 167 predict_cost 30 cpu 10 on thread 2 +VLPROF mtask 11 start 10255 elapsed 805 predict_start 197 predict_cost 30 cpu 10 on thread 2 +VLPROF mtask 5 start 18375 elapsed 595 predict_start 0 predict_cost 30 cpu 10 on thread 2 +VLPROF mtask 7 start 19145 elapsed 175 predict_start 30 predict_cost 30 cpu 10 on thread 2 +VLPROF mtask 8 start 19670 elapsed 140 predict_start 60 predict_cost 107 cpu 10 on thread 2 +VLPROF mtask 9 start 20650 elapsed 70 predict_start 167 predict_cost 30 cpu 10 on thread 2 +VLPROF mtask 11 start 21140 elapsed 105 predict_start 197 predict_cost 30 cpu 10 on thread 2 +VLPROF stat ticks 23415 diff --git a/test_regress/t/t_gantt_io_noproc.out b/test_regress/t/t_gantt_io_noproc.out new file mode 100644 index 000000000..87680d43c --- /dev/null +++ b/test_regress/t/t_gantt_io_noproc.out @@ -0,0 +1,36 @@ +Verilator Gantt report + +Argument settings: + +verilator+prof+threads+start+2 + +verilator+prof+threads+window+2 + --threads 2 + +Analysis: + Total threads = 2 + Total mtasks = 7 + Total cpus used = 2 + Total yields = 0 + Total evals = 2 + Total eval loops = 2 + Total eval time = 21875 rdtsc ticks + Longest mtask time = 1190 rdtsc ticks + All-thread mtask time = 5495 rdtsc ticks + Longest-thread efficiency = 5.4% + All-thread efficiency = 12.6% + All-thread speedup = 0.3 + +Prediction (what Verilator used for scheduling): + All-thread efficiency = 63.2% + All-thread speedup = 1.3 + +Statistics: + min log(p2e) = -3.681 from mtask 5 (predict 30, elapsed 1190) + max log(p2e) = -2.409 from mtask 8 (predict 107, elapsed 1190) + mean = -2.992 + stddev = 0.459 + e ^ stddev = 1.583 + +CPUs: + cpu 10: cpu_time=4725 + cpu 19: cpu_time=770 + diff --git a/test_regress/t/t_gantt_io_noproc.pl b/test_regress/t/t_gantt_io_noproc.pl new file mode 100755 index 000000000..f3011e1ff --- /dev/null +++ b/test_regress/t/t_gantt_io_noproc.pl @@ -0,0 +1,20 @@ +#!/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" + . " --no-vcd $Self->{t_dir}/$Self->{name}.dat > gantt.log"], + check_finished => 0); + +files_identical("$Self->{obj_dir}/gantt.log", $Self->{golden_filename}); + +ok(1); +1;