1GENLIB_PLACE_ON.3(October 1, 1997) GENLIB_PLACE_ON.3(October 1, 1997)
2
3
4
6 GENLIB_PLACE_ON - place a physical instance in the current figure
7 matching connectors
8
10 #include <genlib.h>
11 void GENLIB_PLACE_ON(figname,ins1,con1,index1,symetry,ins2,con2,index2)
12 char ∗figname, ∗ins1, ∗con1, ∗ins2, ∗con2;
13 char symetry;
14 long index1, index2;
15
17 figname Name of the layout figure to be instantiated
18
19 ins1 Name to be given to the instance in the model
20
21 con1 Name of the connector of the instance to be used
22 for placement
23
24 index1 Index of the connector, or reference, con1 of the
25 model to be used for placement
26
27 symetry Geometrical operation to be performed on the
28 instance before being placed
29
30 ins2 Name of the instance to be used for relative place‐
31 ment
32
33 con2 Name of the connector of the instance ins2 on which
34 the placement will take place
35
36 index2 Index of the connector con2 of the instance to be
37 used for relative placement
38
40 PLACE_ON add an instance in the current layout cell. The bottom left
41 corner of the instance of the model modelname is placed, after being
42 symetrized and/or rotated, at (x, y) coordinates. The placed instance
43 becomes the new "reference instance", used in the relative placement
44 functions.
45 The insname is the name given to the instance and must be unique at a
46 given hierarchy level.
47 The symetry argument can take eight legal values :
48
49 NOSYM no geometrical operation is performed
50
51 SYM_Y Y becomes -Y, that means toward X axe symetry
52
53 SYM_X X becomes -X, that means toward Y axe symetry
54
55 SYMXY X becomes -X, Y becomes -Y
56
57 ROT_P a positive 90 degrees rotation take place
58
59 ROT_M a negative 90 degrees rotation take place
60
61 SY_RP Y becomes -Y, and then a positive 90 degrees rota‐
62 tion take place
63
64 SY_RM Y becomes -Y, and then a negative 90 degrees rota‐
65 tion take place
66
67 The model of the figure to be placed must be available, on disk or in
68 memory. The path to the library is specified in the MBK_CATA_LIB [22m(1)
69 and MBK_WORK_LIB (1) environment variables, and its format is given by
70 the MBK_IN_PH (1) environment variable.
71
73 "GENLIB_PLACE_ON impossible : missing GENLIB_DEF_PHFIG"
74 No figure has been yet specified by a call to DEF_PHFIG. So it
75 isn't possible to place an instance inside it. you must call
76 DEF_PHFIG before any other layout action.
77 "illegal addphins : transformation is x in insname"
78 The symetry parameter is not one of the define given, but has
79 the integer value x.
80
82 #include <genlib.h>
83 main()
84 {
85 /∗ Create a figure to work on ∗/
86 GENLIB_DEF_PHFIG("cell");
87 /∗ Place two instances ∗/
88 GENLIB_PLACE_ON("gapg0_b","ins1", NOSYM, 0L, 0L);
89 GENLIB_PLACE_ON("gapg8_b","ins2", SYM_X, 80L, 100L);
90 /∗ Save all that on disk ∗/
91 GENLIB_SAVE_PHFIG();
92 }
93
95 genlib(1), GENLIB_DEF_PHFIG(3), GENLIB_SAVE_PHFIG(3), GEN‐
96 LIB_PLACE_TOP(3), GENLIB_PLACE_BOTTOM(3), GENLIB_PLACE_LEFT(3), GEN‐
97 LIB_PLACE_RIGHT(3), MBK_CATA_LIB(1), MBK_WORK_LIB(1), MBK_IN_PH(1).
98
99
100
101
102
103
104PROCEDURAL GENERATION LANGUAGE ASIM/LIP6GENLIB_PLACE_ON.3(October 1, 1997)