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

  
 
  

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

SYNOPSIS
     #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  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

     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 being the connector, or reference, con1 of the in-
     stance 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 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 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 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 either
	    x1 = x2, or y1 = y2. Since WIRE3 creates segments from relative  co-
	    ordinates, 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  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>
     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), GENLIB_WIRE1(3),
     GENLIB_WIRE2(3).

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

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

home | help