Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GENLIB(1)		Alliance - genlib User's Manual		     GENLIB(1)

NAME
       genlib -	Procedural design language based upon C.

DESCRIPTION
       genlib  is a set	of C functions dedicated to procedural generation pur-
       poses. 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	 stan-
       dard  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  lay-
       out.  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 func-
	 tion-name.

       It is strongly recommended to read some books on	C programming, in  or-
       der  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	sensi-
       tive, 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 exe-
	 cution.

       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  com-
	 pletion (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  pro-
	 gram.

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)

NAME | DESCRIPTION | ENVIRONMENT VARIABLES | SYNOPSIS | EXAMPLES | SEE ALSO | DIAGNOSTIC

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=genlib&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help