1GENLIB_WIRE2.3(October 1, 1997)                GENLIB_WIRE2.3(October 1, 1997)
2
3
4

NAME

6       GENLIB_WIRE2 - place two physical segments in the current figure
7

SYNOPSIS

9       #include <genlib.h>
10       void GENLIB_WIRE2(layer, width, ins1, con1, index1, ins2, con2, index2, x, y)
11       char layer;
12       long width;
13       char ∗ins1, ∗con1, ∗ins2, ∗con2;
14       long x, y;
15

PARAMETERS

17       layer               Layout layer of the segment
18
19       width               Width of the segment
20
21       ins1                Name of the instance in which the connector con1 is
22                           to be looked for
23
24       con1                Name of a connector, or reference,  used  as  first
25                           endpoint of the wire
26
27       ins2                Name of the instance in which the connector con2 is
28                           to be looked for
29
30       con2                Name of a connector, or  reference,  used  as  last
31                           endpoint of the wire
32
33       x, y                Coordinates  of  the segment's elbow in the current
34                           figure
35

DESCRIPTION

37       WIRE2 adds two segments made of the layer level in the  current  layout
38       cell, the starting point being the connector, or reference, con1 of the
39       instance ins1, and the ending point being the connector, or  reference,
40       con2 of the instance ins1. The first segment is drawn between the coor‐
41       dinates of con1 in the current figure and x,  y,  and  the  second  one
42       between x, y and the coordinates of con2 in the current figure.
43
44       If  the  endpoints  are  connectors, the indexes index1 and index2 must
45       respectivly refer to con1 and con2.  If they are references, then  they
46       are not taked care of.  One shall notice that connectors and references
47       of a given model should not share names if WIRE2 is to be used.
48
49       The layer argument can take the following legal values :
50
51              NWELL
52
53              PWELL
54
55              NTIE
56
57              PTIE
58
59              NDIF
60
61              PDIF
62
63              NTRANS
64
65              PTRANS
66
67              POLY
68
69              ALU1
70
71              ALU2
72
73              ALU3
74
75              TPOLY
76
77              TALU1
78
79              TALU2
80
81              TALU3
82

ERRORS

84       "GENLIB_WIRE2 impossible : missing GENLIB_DEF_PHFIG"
85              No figure has been yet specified by a call to DEF_PHFIG.  So  it
86              isn't  possible  to  place an instance inside it.  you must call
87              DEF_PHFIG before any other layout action.
88       "illegal addphseg : x1, y1, x2, y2"
89              A symbolic segment must be either  vertical  or  horizontal,  so
90              either  x1  =  x2, or y1 = y2. Since WIRE2 creates segments from
91              relative coordinates, care must be taken to follow the  previous
92              rule.
93       "GENLIB_WIRE2  impossible : same name conX, for connector and reference
94       in insX"
95              The model of the instance insX has both a connector and a refer‐
96              ence  that matches the conX name. This is not legal since genlib
97              doesn't know which one to choose as point.
98       "illegal getphins : instance insX does not exist"
99              The instance called insX does not currently belong to  the  fig‐
100              ure.
101

EXAMPLE

103       #include <genlib.h>
104       main()
105       {
106            /∗ Create a figure to work on  ∗/
107            GENLIB_DEF_PHFIG("cell");
108            GENLIB_PLACE("gaci0_b", "r_addin_1", NOSYM, 0, 0);
109            GENLIB_PLACE_TOP("gacin_b", "r_addin_2", NOSYM);
110            GENLIB_PLACE_RIGHT("gapgn_b", "pg", NOSYM);
111            /∗ Draw a segment ∗/
112            GENLIB_WIRE2(ALU1, 1, "r_addin_1", "out", 0L, "pg", "g", 1L,
113                      GENLIB_GET_CON_X("pg", "g", 1L),
114                      GENLIB_GET_CON_Y("r_addin_1", "out", 0L));
115            /∗ Save that on disk ∗/
116            GENLIB_SAVE_PHFIG();
117       }
118

SEE ALSO

120       genlib(1),      GENLIB_DEF_PHFIG(3),     GENLIB_SAVE_PHFIG(3),     GEN‐
121       LIB_COPY_UP_SEG(3),     GENLIB_PHSEG(3),     GENLIB_THRU_H(3),     GEN‐
122       LIB_THRU_CON_H(3),    GENLIB_THRU_V(3),    GENLIB_THRU_CON_V(3),   GEN‐
123       LIB_WIRE1(3), GENLIB_WIRE3(3).
124
125
126
127
128
129
130PROCEDURAL GENERATION LANGUAGE     ASIM/LIP6   GENLIB_WIRE2.3(October 1, 1997)
Impressum