Table of Contents

Name

blifssc - Esterel ssc code producer - Version v5_92

Synopsys

blifssc [ -ctbl auxfile ] [ -noregwire ] file

Description

The blifssc code producer translates a circuit description in BLIF (Berkeley Logic Interchange Format) format into a description in the Esterel ssc (Sorterd Soft Code) format. blifssc takes as input two files: file which contains the BLIF description, and an auxiliary file which contains information (see Ctbl file format below).
The default name for the auxiliary file is the base name of file with the suffix ".ctbl". See option -ctbl for specifying an other auxiliary file. The first line of file must be of the form:

   # signature:
number

See the signature part in Ctbl file format. The output of blifssc is a file named blifssc_out.ssc. See option -B and option -D to change the output file name.

Options

-version
Print the version name on the standard output stream and terminate, ignoring all other arguments.
-access
Print various information about the compilation of the processor on the standard output stream and terminate, ignoring all other arguments.
-info
Print various information about the processor compilation on the standard error output stream and terminate, ignoring all other arguments.
-s
Silent mode. No output file is generated.
-v
Verbose mode.
-B name
name denotes the output file base name, The suffix ".ssc" is added automatically. If this option and the -D option are omitted, the name blifssc_out.blif is used.
-D directory
Specify a directory where the output file will be placed. The default is the current directory.
-ctbl
Specify the file which contains the additional information. The default name is the basename of file with the suffix ".ctbl".
-w
suppress all the warnings.
-W
print all the warnings.

Ctbl file format.

The circuit is supposed to be the control path of an Esterel circuit. That is to say that outputs of the circuit are the action activation wires and inputs are the result of present, if and dsz actions. Additional information in the ".ctbl" concern the common Esterel tables and specific informations for blifssc. The grammar for the new informations is:


    specific_infos    :    signature
            dependencies
            registers
        ;
    signature    :    SIGNATURE ':' INT
        ;
    pragma_refs    :    PRAGMAREFS ':' INT
            list_pragma_ref
            END ':'
        ;
    list_pragma_ref    :    /* Empty */
        |    list_pragma_ref pragma_ref
        ;
    dependencies    :    DEPENDENCIES ':' INT 
            dependencies_list
            END ':'
        ;
    dependencies_list    :    dependencie 
        |    dependencies_list dependencie
        ;
    dependencie    :    in_net
        |    out_net
        |    double_net
        ;
    in_net    :    INT ':' IDENT INNET
            call_list ':' INT pragma_list
        ;
    out_net    :    INT ':' IDENT OUTNET
            call_list ':' INT pragma_list
        ;
    double_net    :    INT ': IDENT DOUBLENET IDENT
            call_list ':' INT pragma_list
        ;
    call_list    :    /* Empty */
        |    call_list INT
        ;
    registers    :    REGISTERS ':' INT
            RETURN ':' IDENT INT
            HALTING ':' IDENT
            registers_list
            END ':'
        ;
    registers_list    :    /* Empty */
        |    registers_list register_halt
        ;
    register_halt    :    INT ':' IDENT halt_number
        ;
    halt_number    :    /* Empty */
        |    HALT ':' INT
        ;
All the capitalized words are terminals. They are all but INT and IDENT found in the ".ctbl" written in normal letters; e.g. REGISTERS is a token corresponding to registers. INT is a natural number and IDENT is a legal name of a wire.

signature indicates a number that will be used to check coherence between the ".blif" and the ".ctbl". The first line of the ".blif" must be:

   # signature: integer

dependencies table : the produced ssc code is ordered. This table indicates the order for calling each action. The first entry is the first action to perform. Each entry gives the name of a wire and an integer which associates this wire to an action.

An in_net dependency corresponds to a present action. An out_net dependency corresponds to a call action. A double_net dependency corresponds to if and dsz actions. The first IDENT indicates the wire carrying the return value, and the second is the start of the action. See sscblif(l) . For each entry one gives the list (possibly empty) call_list of each direct wire the entry depends on. Thus the dependency table is sorted. The final number indicates the associated action. This table can not be empty.

registers table indicates for each listed register the associated halt. This list may be empty. This table also contains the name of the ssc RETURN wire and its halt number, and the name of the ssc HALTING wire.

Bugs

blifssc does not support hierarchical BLIF descriptions.

See Also

The Esterel v5_92 Documentation.
esterel(1) , blifopt(1) , sis(1) , sscblif(1)

Identification

Ecole des Mines de Paris (CMA) and INRIA
Author: Francois-Xavier Fornari


Table of Contents

Back To Main Manual Page