Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | # ========== Copyright Header Begin ========================================== |
2 | # | |
3 | # OpenSPARC T2 Processor File: Sims.pm | |
4 | # Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved | |
5 | # 4150 Network Circle, Santa Clara, California 95054, U.S.A. | |
6 | # | |
7 | # * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
8 | # | |
9 | # This program is free software; you can redistribute it and/or modify | |
10 | # it under the terms of the GNU General Public License as published by | |
11 | # the Free Software Foundation; version 2 of the License. | |
12 | # | |
13 | # This program is distributed in the hope that it will be useful, | |
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | # GNU General Public License for more details. | |
17 | # | |
18 | # You should have received a copy of the GNU General Public License | |
19 | # along with this program; if not, write to the Free Software | |
20 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
21 | # | |
22 | # For the avoidance of doubt, and except that if any non-GPL license | |
23 | # choice is available it will apply instead, Sun elects to use only | |
24 | # the General Public License version 2 (GPLv2) at this time for any | |
25 | # software where a choice of GPL license versions is made | |
26 | # available with the language indicating that GPLv2 or any later version | |
27 | # may be used, or where a choice of which version of the GPL is applied is | |
28 | # otherwise unspecified. | |
29 | # | |
30 | # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, | |
31 | # CA 95054 USA or visit www.sun.com if you need additional information or | |
32 | # have any questions. | |
33 | # | |
34 | # ========== Copyright Header End ============================================ | |
35 | package Sims; | |
36 | ||
37 | use 5.008; | |
38 | use strict; | |
39 | use warnings; | |
40 | ||
41 | require Exporter; | |
42 | ||
43 | our @ISA = qw(Exporter); | |
44 | ||
45 | # Items to export into callers namespace by default. Note: do not export | |
46 | # names by default without a very good reason. Use EXPORT_OK instead. | |
47 | # Do not simply export all your public functions/methods/constants. | |
48 | ||
49 | # This allows declaration use Sims ':all'; | |
50 | # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK | |
51 | # will save memory. | |
52 | ||
53 | ## Default project is BW. Perhaps it should not be set. [Viranjit 3/29/04] | |
54 | my $project = exists $ENV{PROJECT} ? $ENV{PROJECT} : "OpenSparc_N2"; | |
55 | our %proj_vars; | |
56 | ||
57 | if ( $project eq 'OpenSparc_N2' ) { | |
58 | %proj_vars = ( | |
59 | 'proj' => 'OpenSparc_N2', | |
60 | 'sims_config' => 'verif/env/config', | |
61 | 'diaglist' => 'verif/diag', | |
62 | 'sas' => 'nas', | |
63 | 'sasconfig' => 'nasconfig', | |
64 | 'sims_db' => [], | |
65 | 'vcsprefix' => '', | |
66 | 'cc_dv_root' => '', | |
67 | 'has_denali' => '0' | |
68 | ) ; | |
69 | } else { | |
70 | die "Sims.pm: Unknown project: \$PROJECT = $ENV{PROJECT}," . | |
71 | "\n only OpenSparc_N2 is supported, please do one of the following:" . | |
72 | "\n setenv PROJECT OpenSparc_N2\nOR\n unsetenv PROJECT\n" | |
73 | ; | |
74 | } | |
75 | ||
76 | our %EXPORT_TAGS = ( 'all' => [ qw( %proj_vars | |
77 | ||
78 | ) ] ); | |
79 | ||
80 | our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); | |
81 | ||
82 | our @EXPORT = qw( | |
83 | ||
84 | ); | |
85 | ||
86 | our $VERSION = '1.12'; | |
87 | ||
88 | ||
89 | # Preloaded methods go here. | |
90 | ||
91 | 1; | |
92 | __END__ | |
93 | ||
94 | =head1 NAME | |
95 | ||
96 | Sims - Perl module to configure sims for a given project | |
97 | ||
98 | =head1 SYNOPSIS | |
99 | ||
100 | use Sims; | |
101 | ||
102 | =head1 ABSTRACT | |
103 | ||
104 | Exports project-specific variables to B<sims> simulation script. | |
105 | ||
106 | =head1 DESCRIPTION | |
107 | ||
108 | A hash called %proj_vars is exported, which has the following fields: | |
109 | ||
110 | proj the name of the project, OpenSparc_N2 | |
111 | sims_config directory of config files for sys=<foo> argument | |
112 | diaglist path to top of diag directory | |
113 | sas name of architectural simulator | |
114 | sasconfig name of program to generate sas config file | |
115 | sims_db list of directories where big-brother logs are kept | |
116 | ||
117 | Paths are relative to B<dv_root>. | |
118 | The values in %proj_vars depend on the environment variable B<$PROJECT>. | |
119 | ||
120 | =head2 EXPORT | |
121 | ||
122 | ':all' exports the hash %proj_vars. | |
123 | No default export. | |
124 | ||
125 | =head1 SEE ALSO | |
126 | ||
127 | L<sims -h> | |
128 | ||
129 | =cut |