Provided by: alliance_5.0-20110203-4_i386 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 :

       o GENLIB_DEF_LOFIG(3)

       o GENLIB_SAVE_LOFIG(3)

       o GENLIB_LOINS(3)

       o GENLIB_LOCON(3)

       o GENLIB_LOSIG(3)

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

       o GENLIB_BUS(3)

       o 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) :

       o GENLIB_DEF_PHSC(3)

       o GENLIB_SAVE_PHSC(3)

       o GENLIB_SC_PLACE(3)

       o GENLIB_SC_RIGHT(3)

       o GENLIB_SC_TOP(3)

       o GENLIB_SC_LEFT(3)

       o 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).

       o GENLIB_DEF_PHFIG(3)

       o GENLIB_SAVE_PHFIG(3)

       o GENLIB_DEF_AB(3)

       o GENLIB_DEF_PHINS(3)

       o GENLIB_PHCON(3)

       o GENLIB_COPY_UP_CON(3)

       o GENLIB_COPY_UP_CON_FACE(3)

       o GENLIB_COPY_UP_ALL_CON(3)

       o GENLIB_PHSEG(3)

       o GENLIB_COPY_UP_SEG(3)

       o GENLIB_THRU_H(3)

       o GENLIB_THRU_V(3)

       o GENLIB_THRU_CON_H(3)

       o GENLIB_THRU_CON_V(3)

       o GENLIB_WIRE1(3)

       o GENLIB_WIRE2(3)

       o GENLIB_WIRE3(3)

       o GENLIB_PHVIA(3)

       o GENLIB_PLACE(3)

       o GENLIB_PLACE_RIGHT(3)

       o GENLIB_PLACE_TOP(3)

       o GENLIB_PLACE_LEFT(3)

       o GENLIB_PLACE_BOTTOM(3)

       o GENLIB_PLACE_ON(3)

       o GENLIB_PHREF(3)

       o GENLIB_COPY_UP_REF(3)

       o GENLIB_COPY_UP_ALL_REF(3)

       o GENLIB_PLACE_VIA_REF(3)

       o GENLIB_PLACE_CON_REF(3)

       o GENLIB_PLACE_SEG_REF(3)

       o GENLIB_FLATTEN_PHFIG(3)

       o GENLIB_GET_REF_X(3)

       o GENLIB_GET_REF_Y(3)

       o GENLIB_GET_CON_X(3)

       o GENLIB_GET_CON_Y(3)

       o GENLIB_HEIGHT(3)

       o 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

       o MBK_IN_LO(1), default value : al

       o MBK_OUT_LO(1), default value : al

       o MBK_IN_PH(1), default value : ap

       o MBK_OUT_LO(1), default value : ap

       o MBK_CATA_LIB(1), default value : .

       o MBK_WORK_LIB(1), default value : .

       o 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
       o <program> : the name of the C file  containing  the  genlib  program,
         whitout extention. Mandatory argument.

       o [--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].

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

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

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

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

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

       o [-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.