Content-type: text/html
Manpage of elab
elab
Section: Misc. Reference Manual Pages (l)
Updated: July 6, 2018
Index
Return to Main Contents
NAME
elab
- Recoding Infrastructure for SystemC (RISC) Dynamic Elaborator
SYNOPSIS
elab
design
[
options
]
DESCRIPTION
elab
is a special compiler for the SystemC language.
The purpose of
elab
is to parse, analyze, instrument, and compile a SystemC source program
into an executable program for dynamic elaboration.
elab
is a frontend source-to-source compiler for SystemC built on top of
the ROSE compiler infrastructure with GNU or Intel C++
as backend target compiler.
As such,
elab
relies on and supports also most of the ROSE and GNU compiler options.
Using the command syntax shown in the synopsis above, the specified
design
is compiled. By default,
elab
reads the SystemC source file, performs preprocessing and
builds an internal representation (abstract syntax tree)
of the SystemC structural hierarchy.
elab
then instruments the design model so that its execution stops
after the end of the elaboration phase (no actual simulation
will take place); the dynamically built
hierarchy and instance connectivity data is then dumped
into a file
design.elab
which can be passed to the RISC compiler
risc
for more precise conflict analysis.
On successful completion, the exit value 0 is returned.
In case of errors during processing, an error code with a
brief diagnostic message is written to
the standard error stream and the compilation is aborted
with an exit value greater than zero.
For preprocessing and C++ compilation into an executable file,
elab
relies on the availability of an external C++ compiler which
is used automatically in the background.
By default, the GNU C++ compiler
g++
is used.
ARGUMENTS
- design
-
specifies the file name of the input SystemC design model;
by default, the base name of
design
is used as base name for the intermediate and output files;
OPTIONS
- -h | --help
-
print the
elab
elaborator version and a brief usage information message
to standard output and quit;
- -v | --verbose
-
increment the verbosity level so that all tasks performed are
logged to standard error (default: be silent);
at level 1, high-level messages about the tasks performed are displayed;
at level 2, additional details such as input and output file names are listed;
at level 3, very detailed information about each executed task is printed;
- -vv
-
increment the verbosity level by two counts (same as
-v -v
);
- -vvv
-
increment the verbosity level by three counts (same as
-v -v -v
);
- -w | --warnings
-
increment the warning level so that compiler warning messages
are enabled (default: warnings are disabled);
four levels are supported ranging
from only important warnings (level 1)
to pedantic warnings (level 4);
for most cases, warning level 2 is recommended (
-w -w
);
- -ww
-
increment the warning level by two counts (same as
-w -w
);
- -www
-
increment the warning level by three counts (same as
-w -w -w
);
- -g
-
add a symbol table suitable for debugging (e.g. using
gdb
) to the generated object files and
simulation executable (default: no debugging symbols);
- -O | -O level
-
optimize the generated simulation executable
for higher execution speed and/or less memory usage (default: no optimization);
- -Idir
-
add the specified
dir
to the include path (extend the list of directories to be searched
for including source files);
include directories are searched in the order of their specification;
the standard include path ($SYSTEMC_LW_HOME/include
or $SYSTEMC_OOP_HOME/include) is
automatically appended to this list;
by default, only the standard include directories are searched;
- -Ldir
-
add the specified
dir
to the library path (extend the list of directories to be searched
for linker libraries);
the library path is searched in the specified order;
the standard library path ($SYSTEMC_OOP_HOME/lib) is
automatically appended to this list;
by default, only the standard library path is searched;
- -llib
-
add the specified
lib
to the list of libraries for the linker
so that the executable is linked against
lib;
libraries are linked in the specified order;
the standard libraries (i.e. -lsystemc) are
automatically appended to this list;
by default, only standard libraries are used;
- -c
-
perform only the preprocessing, analysis, instrumentation,
and compilation tasks; skip the final linking stage
so that only an object file is created (default: perform all tasks
including linking);
- -o output file
-
specify the name of the final output file explicitly (default: a.out);
- -elab:o
-
specify the name of the elaboration result file with instance connectivity data
explicitly (default:
design.elab
); this file will be produced when the executable generated by
elab
is run (after its elaboration phase);
- -<rose:option>
-
pass this option through to the underlying ROSE compiler (default: none);
- -<GNU option>
-
pass this option through to the underlying GNU compiler (default: none);
ENVIRONMENT
- SYSTEMC_LW_HOME
-
is used at compile-time to find the RISC light-weight SystemC header files
which are expected in directory $SYSTEMC_LW_HOME/include (default: none);
- SYSTEMC_OOP_HOME
-
is used at compile-time to find the RISC out-of-order SystemC header files
which are expected in directory $SYSTEMC_OOP_HOME/include,
and the RISC out-of-order SystemC library which is expected in
directory $SYSTEMC_OOP_HOME/lib (default: none);
VERSION
The RISC Dynamic Elaborator is release version 0.5.0.
AUTHORS
Zhongqi Cheng <zhongqc@uci.edu>,
Rainer Doemer <doemer@uci.edu>,
Guantao Liu <guantaol@uci.edu>, and
Tim Schmidt <schmidtt@uci.edu>.
COPYRIGHT
(c) 2018 CECS, University of California, Irvine
LICENSE
Open source BSD license terms apply.
BUGS, LIMITATIONS
This is an academic proof-of-concept prototype implementation,
not commercial-quality software.
See the file BUGS in the software packages for known limitations.
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- ARGUMENTS
-
- OPTIONS
-
- ENVIRONMENT
-
- VERSION
-
- AUTHORS
-
- COPYRIGHT
-
- LICENSE
-
- BUGS, LIMITATIONS
-
This document was created by
man2html,
using the manual pages.
Time: 17:32:34 GMT, September 30, 2018