Provided by: alliance_5.1.1-1.1_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.

ASIM/LIP6                                         30 July 2004                                         GENLIB(1)