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
-Rswitch, typed regions are left childless. With the-Rswitch, 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
FUELSUPPLYin the list of fuel supplies (search paths).
When locating a file, spacecraft looks in the following paths in sequence:- Paths included with the
-Iswitch on the command line, - Paths included with the
&sc_fuel_supplyEngineAPI, - Paths defined in the
$SC_FUEL_SUPPLYenvironment 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
.rfin each fuel supply, then - a
.vin each fuel supply, then - a
.svin 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
LOGFILEinstead ofspacecraft.log. - -u
- Unlogged mission, meaning that no log file is created.