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

FreeBSD Manual Pages

  
 
  

home | help
GENLIB_WIRE3.3(October 1, 1997)		       GENLIB_WIRE3.3(October 1, 1997)

NAME
       GENLIB_WIRE3 - place three physical segments in the current figure

SYNOPSYS
       #include	<genlib.h>
       void GENLIB_WIRE3(layer,	width, ins1, con1, index1, ins2, con2, index2, x1, y1, x2, y2)
       char layer;
       long width;
       char *ins1, *con1, *ins2, *con2;
       long x1,	y1, x2,	y2;

PARAMETERS
       layer		   Layout layer	of the segment

       width		   Width of the	segment

       ins1		   Name	of the instance	in which the connector con1 is
			   to be looked	for

       con1		   Name	of a connector,	or reference,  used  as	 first
			   endpoint of the wire

       ins2		   Name	of the instance	in which the connector con2 is
			   to be looked	for

       con2		   Name	of a connector,	or  reference,	used  as  last
			   endpoint of the wire

       x1, y1		   Coordinates	of  the	segment's first	elbow endpoint
			   in the current figure

       x2, y2		   Coordinates of the segment's	second elbow  endpoint
			   in the current figure

DESCRIPTION
       WIRE3 adds three	segments made of the layer level in the	current	layout
       cell, the starting point	beeing the connector, or  reference,  con1  of
       the instance ins1, and the ending point beeing the connector, or	refer-
       ence, con2 of the instance ins1.	The first segment is drawn between the
       coordinates  of	con1  in the current figure and	x1, y1.	The second one
       between x1, y1 and x2, y2, and the last,	but not	the least, between x2,
       y2 and the coordinates of con2 in the current figure.

       If the endpoints	are connectors,	the indexes index1 and index2 must re-
       spectivly refer to con1 and con2.  If they are  references,  then  they
       are not taked care of.  One shall notice	that connectors	and references
       of a given model	should not share names if WIRE3	is to be used.

       The layer argument can take the following legal values :

	      NWELL

	      PWELL

	      NTIE

	      PTIE

	      NDIF

	      PDIF

	      NTRANS

	      PTRANS

	      POLY

	      ALU1

	      ALU2

	      ALU3

	      TPOLY

	      TALU1

	      TALU2

	      TALU3

ERRORS
       "GENLIB_WIRE3 impossible	: missing GENLIB_DEF_PHFIG"
	      No figure	has been yet specified by a call to DEF_PHFIG.	So  it
	      isn't  possible  to  place an instance inside it.	 you must call
	      DEF_PHFIG	before any other layout	action.
       "illegal	addphseg : x1, y1, x2, y2"
	      A	symbolic segment must be either	vertical or horizontal,	so ei-
	      ther x1 =	x2, or y1 = y2.	Since WIRE3 creates segments from rel-
	      ative coordinates, care must be taken  to	 follow	 the  previous
	      rule.
       "GENLIB_WIRE3  impossible : same	name conX, for connector and reference
       in insX"
	      The model	of the instance	insX has both a	connector and a	refer-
	      ence  that matches the conX name.	This is	not legal since	genlib
	      doesn't know which one to	choose as point.
       "illegal	getphins : instance insX does not exist"
	      The instance called insX does not	currently belong to  the  fig-
	      ure.

EXAMPLE
       #include	<genlib.h>
       draw_wire(cellHeight)
       long cellHeight;
       {
	    /* draw a wire made	of 1, 2, or 3 segments,	given from and to connectors
	       or reference, and the x and y coordinates of each elbow points */
	    GENLIB_WIRE1(ALU1,1,"lastpg2","g2",1,"cabl31","sg",2);
	    GENLIB_WIRE3(ALU1,1,"cabl31","sp",2, "celout2", "cin", 1,
		      GENLIB_GET_CON_X("cabl31","sp",2),
		      GENLIB_GET_CON_Y("cabl31","sp",2)	+ cellHeight / 2,
		      GENLIB_GET_CON_X("celout2", "cin", 1),
		      GENLIB_GET_CON_Y("cabl31","sp",2)	+ cellHeight / 2);
	    GENLIB_WIRE1(POLY,1,"celout3","g",1,"celout2","co",0);
       }

SEE ALSO
       genlib(1),      GENLIB_DEF_PHFIG(3),	GENLIB_SAVE_PHFIG(3),	  GEN-
       LIB_COPY_UP_SEG(3),     GENLIB_PHSEG(3),	    GENLIB_THRU_H(3),	  GEN-
       LIB_THRU_CON_H(3),    GENLIB_THRU_V(3),	  GENLIB_THRU_CON_V(3),	  GEN-
       LIB_WIRE1(3), GENLIB_WIRE2(3).

PROCEDURAL GENERATION LANGUAGE	   ASIM/LIP6   GENLIB_WIRE3.3(October 1, 1997)

NAME | SYNOPSYS | PARAMETERS | DESCRIPTION | ERRORS | EXAMPLE | SEE ALSO

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

home | help