Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / bin / scantest
CommitLineData
86530b38
AT
1#!/import/bw/tools/local/perl-5.8.0/bin/perl -w
2
3eval 'exec /import/bw/tools/local/perl-5.8.0/bin/perl -w -S $0 ${1+"$@"}'
4 if 0; # not running under some shell
5
6use strict;
7use warnings;
8use lib '.';
9
10use ScanTest;
11
12&ScanTest::BlockFlow::BlockFlow;
13
14__END__
15
16=head1 NAME
17
18scantest - Perl script for scan pattern generation.
19
20=head1 SYNOPSIS
21
22scantest [options] gate_level_netlist
23
24=head1 ABSTRACT
25
26"scantest" is a front-end interface for use of the ScanTest
27package for automatic test pattern generation using FastScan.
28"scantest" controls the creation of the test procedure file,
29FastScan command file and execution script, as well as the
30generation and simulation of test patterns.
31
32=head1 DESCRIPTION
33
34The intention behind "scantest" is to simplify the ATPG flow.
35If a design file conforms to the built-in defaults the entire
36flow can be run by specifying only the design file:
37
38=over 4
39
40scantest design_file
41
42=back
43
44The default design settings are as follows:
45
46=over
47
48=item * one scan chain
49
50=item * clock port is named "clk"
51
52=item * scanin port is named "si"
53
54=item * scanout port is named "so"
55
56=item * scanenable port is named "se"
57
58=back
59
60If the design does not conform to these defaults, switches
61are available to modify the operation of "scantest".
62
63=head2 OPTIONS
64
65=over
66
67=item -[no]atpg
68
69Run atpg only. If the option is negated, only simulation
70is performed. This is the same as specifying "-sim"
71
72=item -bb or -blackbox
73
74Enable automatic black box recognition. Typically this option
75should not be required. The switch can be used to force
76continuation of the flow in the presence of missing cells.
77Coverage is likely to be poor.
78
79Before setting this switch the user is advised to check that
80correct version of the library is being referenced and that
81all verilog files have been specified.
82
83In the event that a view is known to be missing (such as a
84memory block) this switch will need to be specified.
85
86=item -clk
87
88Introduces a comma separated list of rising edge active clocks.
89Default settings are overridden. Default names must be given
90explicitly if needed.
91
92=item -comb
93
94Specifies that the block has no sequential cells. Normally
95"scantest" searches for the presence of default or user
96specified clock ports. Specifying "-comb" suppresses this
97behavior.
98
99=item -design
100
101Optional switch that introduces a single design file.
102
103=item -dftlib
104
105Allows a non-default FastScan library to be specified.
106
107The DFT library is normally "$LIBDIR/u1/atpg/u1.mdl".
108This switch is provided for library debug purposes. Do not
109use it in the normal flow!
110
111=item -[no]dofile
112
113If set, this switch causes only the FastScan command file
114(dofile) to be generated.
115
116If negated, the switch allows the flow to proceed without
117generating a new default command file. The command file
118should be already present. This switch allows the user
119to develop a custom command file.
120
121=item -dumpdir
122
123Allows a non-default dump directory to be specified.
124
125By default, "scantest" creates a dump area for simulation
126files in either "/export/home/bw" (scratch area available
127when running under dream) or "/tmp". The user is free to
128choose somewhere else.
129
130A subdirectory composed of the user's name and process
131id is created into which the simulation files are dumped.
132
133=over
134
135NOTE: The dump directory is never cleaned out. The user
136is responsible for ensuring that unnecessary files are
137removed.
138
139=back
140
141=item -flist
142
143Specifies verilog include files. This switch is necessary
144if the design is spread over multiple files.
145
146By default no include files are assumed.
147
148=item -fslog
149
150Specifies an alternate name for the fastscan log file.
151
152=item -help
153
154Prints the list of switches with brief descriptions and
155default settings.
156
157=item -hi
158
159Introduces a comma separated list of input ports which
160need to be contrained high.
161
162By default none are assumed.
163
164=item -lo
165
166Introduces a comma separated list of input ports which
167need to be contrained low.
168
169By default none are assumed.
170
171=item -ph1
172
173Introduces a comma separated list of rising edge active clocks.
174This switch is an alias for "clk".
175
176=item -ph2
177
178Introduces a comma separated list of falling edge active clocks.
179
180By default none are assumed.
181
182=item -[no]runfile
183
184If set, this switch causes only the FastScan run file to be
185generated.
186
187If negated, the switch allows the flow to proceed without
188generating a new default run file. The run file needs to
189be already present. This switch allows the user to invoke
190FastScan with customized settings.
191
192=item -se
193
194Introduces a comma separated list of scanenable ports.
195Typically, only one scan enable port is expected. This
196switch is provided to specify a non-default port name.
197
198In the event that the default name, "se", is also required
199it needs to be explicitly specified.
200
201=item -si
202
203Introduces a comma separated list of scanin ports. The
204default setting is overwritten. If the default name, "si",
205is also required it needs to be explicitly specified.
206
207The order of the scanin ports must match that of the
208corresponding scanout ports.
209
210=item -[no]simulation
211
212If set, this switch causes only simulation to be performed.
213If negated, the switch halts the flow after pattern
214generation.
215
216=item -smalljob
217
218Selects a 20 minute FastScan license. This works for small
219jobs when no licence is available on the default large queue.
220
221=item -so
222
223Introduces a comma separated list of scanout ports. The
224default setting is overwritten. If the default name, "so",
225is also required it needs to be explicitly specified.
226
227The order of the scanout ports must match that of the
228corresponding scanin ports.
229
230=item -[no]tpfile
231
232If set, this switch causes only the FastScan test procedure
233file to be generated.
234
235If negated, the switch allows the flow to proceed without
236generating a new default test procedure file. The test
237procedure file should be already present. This switch allows
238the user to develop a custom protocol.
239
240=item -top
241
242This switch specifies the name of the top module. By default
243the top module name is taken from the root of the design
244file. The switch is necessary if the top module name does
245not match the design file name or if there are multiple top
246modules present.
247
248=item -verbose
249
250If set, this switch will cause untestable fault information
251to be added to the ATPG log file. If coverage is low, this
252additional information could be large.
253
254=item -vverbose
255
256The "vverbose" flag adds instance coverage information to
257the ATPG log file. If the design file contains a large number
258of instances, printing the additional statistics slows down
259the flow and increases the size of the log file.
260
261=item -vlist
262
263Allows multiple design files and/or libraries to be listed
264in a separate file. Internally this switch is used to reference
265the m1 library ("$LIBDIR/m1/compiled/m1.vL"). If this switch
266is used and the m1 library also needs to be referenced the
267library must be explicitly specified.
268
269=head1 ENVIRONMENT
270
271"scantest" uses two environment variables:
272
273=item LIBDIR
274
275Specifies the location of the design libraries.
276
277=item USER
278
279Identifies where the default dump directory will be created.
280
281=back
282
283=head1 SEE ALSO
284
285ScanTest(3), http://www.mentor.com/dft
286
287=head1 AUTHOR
288
289Roger Mistely, E<lt>roger.mistely@sun.comE<gt>
290
291=cut