sce_allocate allows to query and manipulate meta-information about the allocation of PEs, CEs, busses and RT units in a given design.
sce_allocate reads the SIR file for a given design, performs each action specified via the command line and writes out the resulting modified SIR (if any). An output SIR file is only written if modifications to the design have been made through the actions. If no action is specified, no operations are performed, no output is produced and the specified design is left unchanged.
On successful completion, the exit value 0 is returned. In case of errors, a diagnostic message is written to standard error and the program execution is aborted with a non-zero exit value. In this case, no output is produced.
specifies the design to work with; if no -i or -o options are specificed, the suffix '.sir' will be appended to this name in order to obtain the default SIR file to read and write, respectively.
specifies the action to perform on the design; actions include operations to query or manipulate the design, and to set up options for following operations; command line actions are processed strictly in order, i.e. multiple operations are performed in the order specified on the command line and earlier options have effect until they are overwritten by later ones.
-f
force allocation, i.e. do not check values of attributes or parameters when allocating a new component;
-h
prints a short usage and version information and then quits;
-i input file
specifies the name of the input file explicitly; the name '-' can be used to specify reading from standard input;
-n
suppresses the creation of new log information when generating the output SIR file; by default, log information in the main design file is updated automatically (see also section ANNOTATIONS below);
-o output file
specifies the name of the output design file explicitly; the name '-' can be used to specify writing to standard output;
-v
set the verbosity level so that progress reports about actions performed are logged to standard error (default: be silent);
-a
[attribute]append attribute to the list of component attributes to show (default: reset list to just show component "name"); selected attributes will be listed when showing allocated components with any following -p, -c, -b, or -r action; in addition, also lists the specified attribute for the last selected PE, CE, bus and RT unit (if any); in all cases, attributes are listed in a single line per component, separated by spaces;
-a attribute
=[value]set component attribute to value for any component allocated via a following -p, -c, -b, or -r action (default: reset specified attribute to its default value); in addition, also changes the attribute of the last selected PE, CE, bus and RT unit (if any) to value (if given);
-g
[parameter]append parameters to the list of component parameters to show (default: reset list to show no parameters); selected parameters will be listed when showing allocated parametrizable components with any following -p, -c, -b, or -r action; in addition, also lists the specified parameter for the last selected PE, CE, bus and RT unit (if any); in all cases, parameters are listed in a single line per component, separated by spaces;
-g parameter
=[value]set component parameter to value for any parametrizable component generated and allocated via a following -p, -c, -b, or -r action (default: reset specified parameter to its default value);
-b name
show allocated bus with given name; selects the given bus and lists the previously chosen attributes (see -a) and parameters (see -g) for the bus (printed on stdout in two lines and separated by spaces in each line);
-b
[=type]show allocated busses of given type (default: all); selects the given busses and lists the previously chosen attributes (see -a) and parameters (see -g) for each bus (printed on stdout in two lines each and separated by spaces in each line);
-b name
=typeallocate a bus of a given type with a given name; any previously specified attribute values (see -a) are set during allocation; if the component is parametrizable, previously specified parameters (see -g) are applied and the parameterized component model is generated if not found in the cache;
-b
[name]=remove the bus with the given name (default: remove all busses);
-c name
show allocated CE with given name; selects the given CE and lists the previously chosen attributes (see -a) and parameters (see -g) for the CE (printed on stdout in two lines and separated by spaces in each line);
-c
[=type]show allocated CEs of given type (default: all); selects the given CEs and lists the previously chosen attributes (see -a) and parameters (see -g) for each CE (printed on stdout in two lines each and separated by spaces in each line);
-c name
=typeallocate a CE of a given type with a given name; any previously specified attribute values (see -a) are set during allocation; if the component is parametrizable, previously specified parameters (see -g) are applied and the parameterized component model is generated if not found in the cache;
-c
[name]=remove the CE with the given name (default: remove all CEs);
-p name
show allocated PE with given name; selects the given PE and lists the previously chosen attributes (see -a) and parameters (see -g) for the PE (printed on stdout in two lines and separated by spaces in each line);
-p
[=type]show allocated PEs of given type (default: all); selects the given PEs and lists the previously chosen attributes (see -a) and parameters (see -g) for each PE (printed on stdout in two lines each and separated by spaces in each line);
-p name
=typeallocate a PE of a given type with a given name; any previously specified attribute values (see -a) are set during allocation; if the component is parametrizable, previously specified parameters (see -g) are applied and the parameterized component model is generated if not found in the cache;
-p
[name]=remove the PE with the given name (default: remove all PEs);
-r name
show allocated RT unit with given name; selects the given RT unit and lists the previously chosen attributes (see -a) and parameters (see -g) for the RT unit (printed on stdout in two lines and separated by spaces in each line);
-r
[=type]show allocated RT units of given type (default: all); selects the given RT units and lists the previously chosen attributes (see -a) and parameters (see -g) for each RT unit (printed on stdout in two lines each and separated by spaces in each line);
-r name
=typeallocate a RT unit of a given type with a given name; any previously specified attribute values (see -a) are set during allocation; if the component is parametrizable, previously specified parameters (see -g) are applied and the parameterized component model is generated if not found in the cache;
-r
[name]=remove the RT unit with the given name (default: remove all RT units);
-t behavior
specify the top-level behavior to operate on for all actions following on the command line (default: use top-level behavior specified in the design);
-wm
[type]show memory layout (size and alignment) for given data type (default: all types) for the last PE selected via a previous -p action;
-wm
[type]=[size,align]set size and alignment (default: remove) memory layout for given data type (default: all types) for the last PE selected via a previous -p action;
-wo
[operation][,type]show operation weight(s) for given operation of given data type (default: all operations and/or all types) for the last PE selected via a previous -p action;
-wo
[operation][,type]=[static,dynamic]set static and dynamic (default: remove) operation weight(s) for given operation of given data type (default: all operations and/or all types) for the last PE selected via a previous -p action; custom operations can be added to (or removed from) the PE operation weight table by specifying a non-standard operation or type;
-wo
[old_op][,old_type]:[new_op][,new_type]rename custom operation and/or data type in operation weight table of last PE selected via a previous -p action;
-wof
show the global factors applied to the operation weight tables for the last PE selected via a previous -p action;
-wof static
,dynamicset the global factors applied to the static and dynamic operation weight tables for the last PE selected via a previous -p action;
-wt
[direction][,type]show traffic weight(s) for given traffic direction of given data type (default: all directions and/or all types) for the last CE and bus selected via previous -c and/or -b actions, respectively;
-wt
[traffic][,type]=[static,dynamic]set static and dynamic (default: remove) traffic weight(s) for given traffic direction of given data type (default: all directions and/or all types) for the last CE and bus selected via previous -c and/or -b actions, respectively;
-wtf
show the global factors applied to the traffic weight tables for the last CE and bus selected via previous -c and/or -b actions, respectively;
-wtf static
,dynamicset the global factors applied to the static and dynamic traffic weight tables for the last CE and bus selected via previous -c and/or -b actions, respectively;
HOME
determines the location of the user's home directory and consequently the default path to the file with user-specific application preferences ($HOME/.sce/scerc);
determines the list of directories where files "scerc" with user-specific application preferences are stored; multiple directories can be provided, separated by colons (":"); directories are searched for and preference files are read in the given order, i.e. preference files in later directories override settings in earlier ones; if SCERC_PATH is not set, the location (directory) of the user-specific "scerc" file defaults to $HOME/.sce;
determines the license file (path and file name) to be used by the SIR tool set; if undefined, the environment variable SPECC is used as the path to the license file called "license.sir"; if neither SPECC_LICENSE_FILE nor SPECC exist, the file "license.sir" is searched in the current directory;
File with system-wide default settings for application preferences; system-wide settings are read on startup before user-specific settings;
File(s) with user-specific settings for application preferences; user-specific settings are read on startup after system-wide settings, i.e. user-specific settings override system-wide settings;
Default directory for cache of parametrized PE model SIR files generated through sir_gen(l); when allocating parametrized components, sce_allocate searches the cache for corresponding SIR files and missing component files are first generated and stored in the cache; default cache location can be overwritten through settings in "scerc" application preferences;
Default directory for cache of parametrized CE model SIR files generated through sir_gen(l); when allocating parametrized components, sce_allocate searches the cache for corresponding SIR files and missing component files are first generated and stored in the cache; default cache location can be overwritten through settings in "scerc" application preferences;
Default directory for cache of parametrized bus model SIR files generated through sir_gen(l); when allocating parametrized components, sce_allocate searches the cache for corresponding SIR files and missing component files are first generated and stored in the cache; default cache location can be overwritten through settings in "scerc" application preferences;
Default directory for cache of parametrized RTL model SIR files generated through sir_gen(l); when importing parametrized components, sce_allocate searches the cache for corresponding SIR files and missing component files are first (re-)generated and stored in the cache; default cache location can be overwritten through settings in "scerc" application preferences;
The following SpecC annotations are recognized by sce_allocate:
contains the log information of the SIR file; this global annotation is created and maintained automatically by the SpecC compiler and the SCE tool set and can be used to determine the origin and the operations performed on the design model; _SCE_LOG is a composite annotation consisting of a list of log entries, ordered by time of creation; each log entry consists of a time stamp, command line, source file, version info, and an optional comment;