Command Line Interface
spacecraft [-h|--help] [--version]
[-l LOGFILE|-u]
[-Q|-q|-v|-V]
[-R] [-I FUELSUPPLY] [-E] [ROCKETFUEL]
ENGINE.pl [OPTIONS] [ENGINE.pl ...]
Spacecraft constructs a memory resident model of an address space, then executes one or more engines that construct, alter or output the model.
Engines
Each engine to be executed is passed on the command line as ENGINE.pl
.
The .pl
extension is required, as it marks the comand line option as an
engine and delimits where the OPTIONS
to one engine end and the next engine
begins. The implication is that the options passed to spacecraft proper must be
passed before the first engine.
Well behaving engines show a help message when passed a --help
option, so use
this option to find out details about the OPTIONS
for a given ENGINE.pl
.
If the ENGINE.pl
does not have a fully qualified path, spacecraft will look for
the engine in $SC_LAUNCHPAD/engines
and then terminate if not found.
At least one ENGINE.pl
should be specified, otherwise spacecraft has nothing
to do.
Rocket Fuel
If a ROCKETFUEL
file is supplied on the command line, the model is populated
with the space declared in the file. Otherwise the model is an empty, untyped
space.
- -R
- Recursively populate the model. Without the
-R
switch, typed regions are left childless. With the-R
switch, typed regions are populated with the space decared in the associated file – e.g. a region with type X will populate with space declared in X.rf. - -I FUELSUPPLY
- Include
FUELSUPPLY
in the list of fuel supplies (search paths).
When locating a file, spacecraft looks in the following paths in sequence:- Paths included with the
-I
switch on the command line, - Paths included with the
&sc_fuel_supply
EngineAPI, - Paths defined in the
$SC_FUEL_SUPPLY
environment variable, - The current working directory,
.
.
- Paths included with the
- -E
- Look for embedded definitions in .v & .sv files. Rocket Fuel can be
embedded directly in verilog files by enclosing field & region definitions
between
/*{
and}*/
. When embedded definitions are enabled, spacecraft will look for- a
.rf
in each fuel supply, then - a
.v
in each fuel supply, then - a
.sv
in each fuel supply.
- a
The ROCKETFUEL
passed on the command line may also be a .v or .sv file with
embedded definitions. The -E
switch is only required when the model is being
recursively populated with embedded sub space defintions.
Mission Control
Each spacecraft mission reports status to STDERR and a log file. Reporting to STDERR implies that engine STDOUT can be easily redirected.
Reports to STDERR can be dialed up or down depending on the -Q
, -q
, -v
&
-V
verbosity switches:
- -Q
- Be very quiet, reporting only warnings and errors to STDERR.
- -q
- Be quiet, reporting minimal notes to STDERR in addition to warnings and errors.
- -v
- Be verbose, reporting many notes to STDERR in addition to warnings and errors.
- -V
- Be very verbose, reporting everything to STDERR.
Regardless of the STDERR verbosity setting, everything is always logged to
the spacecraft.log
log file unless the following switches are used:
- -l LOGFILE
- Log to
LOGFILE
instead ofspacecraft.log
. - -u
- Unlogged mission, meaning that no log file is created.