Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       genlib - Procedural design language based upon C.

DESCRIPTION

       genlib  is  a  set of C functions dedicated to procedural generation purposes. From a user
       point of view, genlib  is  a  circuit's  description   language  that  allows  standard  C
       programming  flow control, variable use, and specialized functions in order to handle vlsi
       objects.

       Based upon the Alliance mbk data structures, the genlib  language  gives  the   user   the
       ability  to  describe  both netlist and layout views, thus allowing both standard cell and
       full custom approachs.

   NETLIST CAPTURE
       It is a hierachical structural description of a circuit in  terms  of  connectors  (I/Os),
       signals (nets), and instances.

       The function calls used to handle the netlist view are :

       • GENLIB_DEF_LOFIG(3)

       • GENLIB_SAVE_LOFIG(3)

       • GENLIB_LOINS(3)

       • GENLIB_LOCON(3)

       • GENLIB_LOSIG(3)

       • GENLIB_FLATTEN_LOFIG(3) Some facilities, in order to create vectors are also available :

       • GENLIB_BUS(3)

       • GENLIB_ELM(3)

   STANDARD CELL PLACEMENT
       The following functions allows to define a placement file for a standard cell design. This
       file can be used by the standard cell router ocr(1) :

       • GENLIB_DEF_PHSC(3)

       • GENLIB_SAVE_PHSC(3)

       • GENLIB_SC_PLACE(3)

       • GENLIB_SC_RIGHT(3)

       • GENLIB_SC_TOP(3)

       • GENLIB_SC_LEFT(3)

       • GENLIB_SC_BOTTOM(3)

   FULL CUSTOM SYMBOLIC LAYOUT
       Those functions are dedicated to optimized full custom  procedural  layout.  In  order  to
       provide  some  process  independance, Alliance uses a symbolic layout approach (fixed grid
       without compaction).

       The symbolic objects are segments (wires), vias (contacts), connectors (I/Os),  references
       and instances. For more informations, see phseg(1), phvia(1), phcon(1), phref(1), phins(1)
       and alc(1).

       • GENLIB_DEF_PHFIG(3)

       • GENLIB_SAVE_PHFIG(3)

       • GENLIB_DEF_AB(3)

       • GENLIB_DEF_PHINS(3)

       • GENLIB_PHCON(3)

       • GENLIB_COPY_UP_CON(3)

       • GENLIB_COPY_UP_CON_FACE(3)

       • GENLIB_COPY_UP_ALL_CON(3)

       • GENLIB_PHSEG(3)

       • GENLIB_COPY_UP_SEG(3)

       • GENLIB_THRU_H(3)

       • GENLIB_THRU_V(3)

       • GENLIB_THRU_CON_H(3)

       • GENLIB_THRU_CON_V(3)

       • GENLIB_WIRE1(3)

       • GENLIB_WIRE2(3)

       • GENLIB_WIRE3(3)

       • GENLIB_PHVIA(3)

       • GENLIB_PLACE(3)

       • GENLIB_PLACE_RIGHT(3)

       • GENLIB_PLACE_TOP(3)

       • GENLIB_PLACE_LEFT(3)

       • GENLIB_PLACE_BOTTOM(3)

       • GENLIB_PLACE_ON(3)

       • GENLIB_PHREF(3)

       • GENLIB_COPY_UP_REF(3)

       • GENLIB_COPY_UP_ALL_REF(3)

       • GENLIB_PLACE_VIA_REF(3)

       • GENLIB_PLACE_CON_REF(3)

       • GENLIB_PLACE_SEG_REF(3)

       • GENLIB_FLATTEN_PHFIG(3)

       • GENLIB_GET_REF_X(3)

       • GENLIB_GET_REF_Y(3)

       • GENLIB_GET_CON_X(3)

       • GENLIB_GET_CON_Y(3)

       • GENLIB_HEIGHT(3)

       • GENLIB_WIDTH(3) In order to have information about each  of  these  functions,  use  the
         online documentation with man(1), as in man function-name.

       It  is  strongly  recommended  to  read some books on C programming, in order to take full
       advantage of the C flow control possibilities, as it may greatly reduce  the   size  of  a
       genlib source code.

ENVIRONMENT VARIABLES

MBK_IN_LO(1), default value : al

       • MBK_OUT_LO(1), default value : al

       • MBK_IN_PH(1), default value : ap

       • MBK_OUT_LO(1), default value : ap

       • MBK_CATA_LIB(1), default value : .

       • MBK_WORK_LIB(1), default value : .

       • MBK_CATAL_NAME(1),  default value : CATAL See the corresponding manual pages for further
         informations.

       In  order to compile and execute a genlib file, one has to call genlib with one  argument,
       that  is  the  genlib  source  file.   The  source  file must have a .c extension, but the
       extension should not be mentionned on the command line.

       The names used in genlib, as arguments to  genlib  functions,  should  be  alphanumerical,
       including  the  underscore. They also are not case sensitive, so VDD is equivalent to vdd.
       Vectorized connectors or signal can be declareds using the [n:m] construct.

SYNOPSIS

       genlib [         -cklmnv
        ] [ --no-rm-core ] [ --keep-makefile ] [ --keep-exec ] [ --keep-log ]  [  --no-exec  ]  [
       --verbose ] program [ -e program_args ]

   OPTIONS
       • <program>  :  the  name  of the C file containing the genlib program, whitout extention.
         Mandatory argument.

       • [--no-rm-core|-c] : in case of core dump, do not remove the generated  core  file.  This
         option must be used with [--keep-exec|-k].

       • [--keep-makefile|-m] : do not erase the generated makefile after execution.

       • [--keep-exec|-k] : keep the generated executable after the genlib run.

       • [--keep-log|-l]  :  do not erase the log file after a successfull completion (the log is
         keeped after a faulty run).

       • [--no-exec|-n] : do not run the generated program. Should be used with [--keep-exec|-k].

       • [--no-verbose|-v] : self explanatory.

       • [-e] : all the following arguments are handled to the compiled program.

EXAMPLES

       Compile and run a file amd2901.c :

       genlib -v amd2901

SEE ALSO

       mbk(1),

DIAGNOSTIC

       Many errors may occur while executing the source file,  so  refer  to  the  proper  genlib
       function  manual  for more. When an error occur, genlib left a log file <program>.grr.  As
       <program>.c is a C program, all syntatic C error can occurs...

       All genlib functions are listed below alphabetically sorted.