BLIFSSC(1) manual page

Table of Contents

## NAME

blifssc - Esterel ssc code producer - Version v5_21

## 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_21 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

- NAME
- SYNOPSYS
- DESCRIPTION
- OPTIONS
- Ctbl file format.
- BUGS
- SEE ALSO
- IDENTIFICATION

Back To Main Manual Page