1GENLIB_PHSEG.3(October 1, 1997) GENLIB_PHSEG.3(October 1, 1997)
2
3
4
6 GENLIB_PHSEG - place a physical segment in the current figure at abso‐
7 lute coordinates
8
10 #include <genlib.h>
11 void GENLIB_PHSEG(layer, width, name, x1, y1, x2, y2)
12 char layer;
13 long width;
14 char ∗name;
15 long x1, y1, x2, y2;
16
18 layer Layout layer of the segment
19
20 width Width of the segment
21
22 name Name to be given to the segment
23
24 x1, y1, x2, y2 Coordinates of the segment's end points in the cur‐
25 rent figure
26
28 PHSEG adds a segment in the current layout cell, at the specified coor‐
29 dinates, with the given attributs. The layer argument can take the
30 following legal values :
31
32 NWELL
33
34 PWELL
35
36 NTIE
37
38 PTIE
39
40 NDIF
41
42 PDIF
43
44 NTRANS
45
46 PTRANS
47
48 POLY
49
50 ALU1
51
52 ALU2
53
54 ALU3
55
56 TPOLY
57
58 TALU1
59
60 TALU2
61
62 TALU3
63
64 The name argument needs not to be specified, since one usually doesn't
65 need to give a segment a name. To do so, just type "" as name.
66
68 "GENLIB_PHSEG impossible : missing GENLIB_DEF_PHFIG"
69 No figure has been yet specified by a call to DEF_PHFIG. So it
70 isn't possible to place an instance inside it. you must call
71 DEF_PHFIG before any other layout action.
72 "illegal addphseg : x1, y1, x2, y2"
73 A symbolic segment must be either vertical or horizontal, so
74 either x1 = x2, or y1 = y2.
75
77 #include <genlib.h>
78 main()
79 {
80 /∗ Create a figure to work on ∗/
81 GENLIB_DEF_PHFIG("cell");
82 /∗ Put a segment ∗/
83 GENLIB_PHSEG(ALU1, 1, "", 0L, 0L, 12L, 0L);
84 /∗ Save that on disk ∗/
85 GENLIB_SAVE_PHFIG();
86 }
87
89 genlib(1), GENLIB_DEF_PHFIG(3), GENLIB_SAVE_PHFIG(3), GEN‐
90 LIB_COPY_UP_SEG(3), GENLIB_THRU_H(3), GENLIB_THRU_CON_H(3), GEN‐
91 LIB_THRU_V(3), GENLIB_THRU_CON_V(3), GENLIB_WIRE1(3), GENLIB_WIRE2(3),
92 GENLIB_WIRE3(3).
93
94
95
96
97
98
99PROCEDURAL GENERATION LANGUAGE ASIM/LIP6 GENLIB_PHSEG.3(October 1, 1997)