OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [tools/] [simulation/] [run_icarus] - Blame information for rev 135

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 131 jt_eaton
eval 'exec `which perl` -S $0 ${1+"$@"}'
2
   if 0;
3 135 jt_eaton
#/****************************************************************************/
4
#/*                                                                          */
5
#/*   SOCGEN Design for Reuse toolset                                        */
6
#/*                                                                          */
7
#/*   Version 1.0.0                                                          */
8
#/*                                                                          */
9
#/*   Author(s):                                                             */
10
#/*      - John Eaton, z3qmtr45@gmail.com                                    */
11
#/*                                                                          */
12
#/****************************************************************************/
13
#/*                                                                          */
14
#/*                                                                          */
15
#/*             Copyright 2016 John T Eaton                                  */
16
#/*                                                                          */
17
#/* Licensed under the Apache License, Version 2.0 (the "License");          */
18
#/* you may not use this file except in compliance with the License.         */
19
#/* You may obtain a copy of the License at                                  */
20
#/*                                                                          */
21
#/*    http://www.apache.org/licenses/LICENSE-2.0                            */
22
#/*                                                                          */
23
#/* Unless required by applicable law or agreed to in writing, software      */
24
#/* distributed under the License is distributed on an "AS IS" BASIS,        */
25
#/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
26
#/* See the License for the specific language governing permissions and      */
27
#/* limitations under the License.                                           */
28
#/*                                                                          */
29
#/*                                                                          */
30
#/****************************************************************************/
31 131 jt_eaton
 
32
 
33
############################################################################
34
# General PERL config
35
############################################################################
36
use Getopt::Long;
37
use English;
38
use File::Basename;
39
use Cwd;
40
use XML::LibXML;
41
use lib './tools';
42
use sys::lib;
43
use yp::lib;
44
 
45
$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE.
46
 
47
 
48
############################################################################
49
### Process the options
50
############################################################################
51
Getopt::Long::config("require_order", "prefix=-");
52
GetOptions("h","help",
53
) || die "(use '$program_name -h' for help)";
54
 
55
 
56
 
57
 
58
##############################################################################
59
## Help option
60
##############################################################################
61
if ( $opt_h or $opt_help  )
62
  { print "\n run_icarus vendor   library sim_library_path sim_name     sim_variant";
63
    print "\n";
64
    exit 1;
65
  }
66
 
67
my $home              = cwd();
68
my $prefix            = yp::lib::get_workspace();
69
my $vendor            = $ARGV[0];
70
my $library           = $ARGV[1];
71
my $sim_library_path  = $ARGV[2];
72
my $sim_name          = $ARGV[3];
73
my $sim_variant       = $ARGV[4];
74
 
75
 
76
chdir  "./${prefix}/${vendor}__${library}${sim_library_path}/icarus/${sim_name}";
77
 
78 135 jt_eaton
$cmd= "iverilog -f ../../testbenches/filelists/${sim_variant}.sim -D VCD  2> ./${sim_name}_elab.log  | tee >> ./${sim_name}_elab.log \n";
79 131 jt_eaton
if (system($cmd)) {}
80 135 jt_eaton
 
81
 
82
 
83
#$cmd ="make sim \n";
84
#if (system($cmd)) {}
85
$cmd ="./a.out 2>    ./${sim_name}_sim.log     | tee >> ./${sim_name}_sim.log  \n";
86 131 jt_eaton
print "  SIM Icarus     $sim_name        $sim_configuration   $sim_variant  \n ";
87 135 jt_eaton
if (system($cmd)) {}
88 131 jt_eaton
$cmd ="grep PASSED  ./${sim_name}_sim.log \n";
89
if (system($cmd)) {}
90
$cmd ="rm a.out \n";
91
if (system($cmd)) {}
92
 
93
chdir $home;
94
 
95
 
96
 
97
 
98
 
99
 
100
 
101
 
102
 
103
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.