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

  
 
  

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  end-
			 point 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  end-
			 point of the wire

     x, y		 Coordinates  of the segment's elbow in the current fig-
			 ure

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 coordinates	of  con1
     in the current figure and x, y, and the second one between x, y and the co-
     ordinates of con2 in the current figure.

     If the endpoints are connectors, the indexes index1 and index2 must respec-
     tivly  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  either
	    x1	= x2, or y1 = y2. Since WIRE2 creates segments from relative co-
	    ordinates, 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 reference
	    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 figure.

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), GENLIB_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.1.quarterly>

home | help