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