FCL(5)

NAME

FCL - Transistor net-list pattern-matching library

DESCRIPTION
A static library which allows the transistor net-list disassembler YAGLE to deal with unusual gate structures, for example complex latches or analog circuit blocks such as differential amplifiers. In order to accomplish this, the user must provide a set of transistor net-lists, annotated with a number of predefined types, together with the corresponding behavioural descriptions.

USAGE
YAGLE calls the FCL library if the '-fcl' option is specified. The transistor net-lists (in extended spice format), and the behavioural descriptions (in ALLIANCE vbe format) should be placed in a dedicated directory, whose access path is specified by an environment variable. The list of net-lists to be identified is specified in a special library file located in the same directory, whose name is specified in an additional environment variable.

NET-LIST FORMAT
The format for the transistor net-list is a standard flat spice SUBCKT contained in a file with the '.spi' extension. However, a number of special extensions are recognised. These are accomodated as spice comments, lines commencing with an asterisk. The asterisk is followed by a space and one of the following directives, together with parameters (non case-sensitive) :-

NETTYPE <index> <typemask>
    Associates the types indicated in <typemask> to any signal in the main circuit corresponding to the signal in the searched for net-list identified by <index>. Predefined tyes are :-

NET_LATCH
    Signal corresponds to a latch memory-point.

NET_FLIPFLOP
    Signal corresponds to a flip-flop memory-point.

NET_MASTER
    Signal corresponds to the master memory-point of a flip-flop.

NET_SLAVE
    Signal corresponds to the slave memory-point of a flip-flop.

NET_MEMSYM
    Signal corresponds to one side of a symmetric memory.

NET_RS
    Signal corresponds to one side of an RS bistable.

NET_BLOCKER
    No branch of a cone (see man yagle) can go through the signal.

NET_STOP
    Cannot exploit logic beyond this point for functional analysis in YAGLE.

TRANSTYPE <name> <typemask>
    Associates the types indicated in <typemask> to any transistor in the main circuit corresponding to the transistor in the searched for net-list identified by <name>. Predfefined tyes are :-

TRANS_BLEEDER
    Transistor corresponds to a bleeder.

TRANS_FEEDBACK
    Transistor corresponds to a feedback transistor of a memory-point.

TRANS_COMMAND
    Transistor corresponds to a command transistor of a memory-point, i.e driven by command signal.

TRANS_NOT_FUNCTIONAL
    Transistor should be ignored when calculating gate functionality.

TRANS_BLOCKER
    No branch of a cone (see man yagle) can contain this transistor unless it is the first transistor of the branch.

TRANS_UNUSED
    No branch of a cone (see man yagle) can contain this transistor.

The <typemask> parameter is made up of a list of one or more of the predefined types,
separated by the vertical bar '|' character.

BEHAVIOUR FORMAT
The behavioural description is specified in ALLIANCE '.vbe' format (see man vbe). A behavioural file must be provided for each net-list, however the description can be either a complete bahavioural description or specify only the external interface. In both cases the type must be indicated in the library file.

LIBRARY FILE
This file is a simple text file containing the list of net-lists to be identified. Each line of the file a single name followed by a space and a character ('A' or 'P') indicating the type of the behavioural description (complete or interface only).

ENVIRONMENT VARIABLES

FCL_LIB_PATH
    Indicates the access path to the directory containing the user-defined cell library used if the -fcl option is set. The default is a subdirectory /cells in MBK_WORK_LIB

FCL_LIB_NAME
    The name of the file (located in FCL_LIB_PATH ) containing the list of cells in the user-defined cell library used if the -fcl option is set. The default is LIBRARY.

SEE ALSO
yagle(1)