File: t_dotfiles.pl

package info (click to toggle)
verilator 5.006-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 52,732 kB
  • sloc: cpp: 113,602; perl: 18,047; ansic: 8,633; python: 4,688; yacc: 4,382; sh: 2,094; lex: 1,815; makefile: 1,119
file content (37 lines) | stat: -rwxr-xr-x 1,384 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env perl
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
#
# Copyright 2021 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(vltmt => 1);

# Use a top file which we are sure to be parallelizable
top_filename("t/t_gen_alw.v");

compile(
    v_flags2 => ["--dumpi-graph 6"],
    threads => 2
    );

foreach my $dotname ("linkcells", "task_call", "gate_simp", "gate_opt",
        "acyc_simp", "orderg_pre", "orderg_acyc", "orderg_order", "orderg_domain",
        "ordermv_initial", "ordermv_hazards", "ordermv_contraction",
        "ordermv_transitive1", "orderg_done", "ordermv_transitive2", "schedule") {
    # Some files with identical prefix are generated multiple times during
    # Verilation. Ensure that at least one of each $dotname-prefixed file is generated.
    @dotFiles = glob("$Self->{obj_dir}/*$dotname.dot");
    if (scalar @dotFiles == 0) {
        error("Found no dotfiles with pattern *$dotname.dot");
    }
    foreach my $dotFilename (@dotFiles) {
        file_grep($dotFilename, qr/digraph v3graph/);
    }
}

ok(1);
1;