forked from github/verilator
40 lines
1.1 KiB
Perl
Executable File
40 lines
1.1 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
# Makes the test run with tracing enabled by default, can be overridden
|
|
# with --notrace
|
|
unshift(@ARGV, "--trace");
|
|
if (!$::Driver) { use FindBin; exec("$FindBin::Bin/bootstrap.pl", @ARGV, $0); die; }
|
|
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
|
#
|
|
# Copyright 2019 by Todd Strader. 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.
|
|
|
|
scenarios(
|
|
vlt => 1,
|
|
xsim => 1,
|
|
);
|
|
|
|
$Self->{sim_time} = $Self->{benchmark} * 100 if $Self->{benchmark};
|
|
top_filename("t/t_prot_lib.v");
|
|
|
|
# Tests the same code as t_prot_lib.pl but without --protect-lib
|
|
compile(
|
|
verilator_flags2 => ["t/t_prot_lib_secret.v"],
|
|
xsim_flags2 => ["t/t_prot_lib_secret.v"],
|
|
);
|
|
|
|
execute(
|
|
check_finished => 1,
|
|
);
|
|
|
|
if ($Self->{vlt} && $Self->{trace}) {
|
|
# We can see the ports of the secret module
|
|
file_grep("$Self->{obj_dir}/simx.vcd", qr/accum_in/);
|
|
# and we can see what's inside (because we didn't use --protect-lib)
|
|
file_grep("$Self->{obj_dir}/simx.vcd", qr/secret_/);
|
|
}
|
|
|
|
ok(1);
|
|
1;
|