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

FreeBSD Manual Pages

  
 
  

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

NAME
       GENLIB_WIRE2 - place two	physical segments in the current figure

SYNOPSIS
       #include	<genlib.h>
       void GENLIB_WIRE2(layer,	width, ins1, con1, index1, ins2, con2, index2, x, y)
       char layer;
       long width;
       char *ins1, *con1, *ins2, *con2;
       long x, y;

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

       x, y		   Coordinates	of  the	segment's elbow	in the current
			   figure

DESCRIPTION
       WIRE2 adds two segments made of the layer level in the  current	layout
       cell, the starting point	being the connector, or	reference, con1	of the
       instance	 ins1, and the ending point being the connector, or reference,
       con2 of the instance ins1. The first segment is drawn between the coor-
       dinates of con1 in the current figure and x, y, and the second one  be-
       tween x,	y 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 WIRE2	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_WIRE2 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 WIRE2 creates segments from rel-
	      ative coordinates, care must be taken  to	 follow	 the  previous
	      rule.
       "GENLIB_WIRE2  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>
       main()
       {
	    /* Create a	figure to work on  */
	    GENLIB_DEF_PHFIG("cell");
	    GENLIB_PLACE("gaci0_b", "r_addin_1", NOSYM,	0, 0);
	    GENLIB_PLACE_TOP("gacin_b",	"r_addin_2", NOSYM);
	    GENLIB_PLACE_RIGHT("gapgn_b", "pg",	NOSYM);
	    /* Draw a segment */
	    GENLIB_WIRE2(ALU1, 1, "r_addin_1", "out", 0L, "pg",	"g", 1L,
		      GENLIB_GET_CON_X("pg", "g", 1L),
		      GENLIB_GET_CON_Y("r_addin_1", "out", 0L));
	    /* Save that on disk */
	    GENLIB_SAVE_PHFIG();
       }

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_WIRE3(3).

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

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=GENLIB_WIRE2&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help