scar

Name

scar -- SpecC Architecture Refinement

Synopsis

scar design [options]

DESCRIPTION

scar is the Architecture Refinement Tool for the SpecC Language and System Level Design Methodology. scar automatically transforms a SpecC Specification Model into an SpecC Architecture Model, directed by design decisions about architecture allocation and mapping. Design decisions are given to scar in the form of SpecC annotations (see below).

Using the first command syntax as shown in the synopsis above, a brief usage information is printed to standard output and the program exits. Using the second command syntax, the specified design is refined. scar reads the SpecC SIR file written in SIR format, and generates desired architectrure model in SIR.

ARGUMENTS

design

specifies the name of the specification model, e.g., the tool will search for file design.sir in current directory as its input file. Unless specified with "-o" option (see below), the output architecture model is written to file design_arch.sir.

COMMAND OPTIONS

-i

input_SIR_file specifies the input SIR file.

-o

output_SIR_file overwrites the default output SIR file name design_arch.sir with output_SIR_file.

-t

top_level_behavior overwrites the top level annotation in the SIR file.

-b

enables Behavior Refinement.

-m

enables Variable Refinement.

-s

enables Schedule Refinement. If none of them is given, all three refinements will be performed.

-v

turns on the verbose mode. With verbose switch-on, a detailed progress report is printed to standard output.

DESIGN DECISION ANNOTATION FORMAT

The following 4 types of annotations are needed to make scar run:

Top Behavior Annotation

specifies the name of the top level behavior to be refined in the design. It is required and must be attached to the design. For example, note _AR_TOPLEVEL = "TopBehaviorName";

Component Allocation Annotation

gives a list of names of allocated components. It is required and must be attached to the design. For example, note _AR_PES = "componentName1,componentName2,...";

Behavior Mapping Annotation

specifies which behavior is mapped to which component. It is required for the Top Behavior and can be omitted for behaviors below the Top Behavior. For behavior without this annotation, scar assumes that it inherits its parent's mapping. For example, note BehaviorName._AR_MAPPED_TO = "componentName";

Scheduling Annotation

specifies the execution order of sub-behaviors inside a concurrent-composition behavior. It can be omitted. For example, note _AR_SCHEDULE = "childName1,chilName2,...";

EXAMPLE

The following steps show how to use scar. 1) Create an annotated specification model. Method 1: a) type in annotate design decisions in example.sc b) compile into SIR with 'scc example -sc2sir' Method 2: a) compile un-annotated specification into SIR with 'scc example -sc2sir' b) open GUI (Respect) to annotate design decisions

2) Call scar to refine the design. 'scar example'

3) Use GUI (Respect) to display architecture model "example_arch".

VERSION

The SpecC scar is 2.2.1.

AUTHOR

Junyu Peng pengj@ics.uci.edu

COPYRIGHT

(c) 2004-2007 University of California, Irinve

SEE ALSO

scc(l)

BUGS, LIMITATIONS

As of current version, partitioning of a unclean (SIR_BHVR_OTHERS type) behavior is not supported.