1GENLIB_DEF_AB.3(October 1, 1997) GENLIB_DEF_AB.3(October 1, 1997)
2
3
4
6 GENLIB_DEF_AB - define a new abutment box to the current layout cell
7
9 #include <genlib.h>
10 void GENLIB_DEF_AB(dx1, dy1, dx2, dy2);
11 long dx1, dy1, dx2, dy2;
12
14 dx1, dy1 Values to be added to the lower left corner of the
15 previous abutment box
16
17 dx2, dy2 Values to be added to the upper right corner of the
18 previous abutment box
19
21 DEF_AB give a new abutment box to the current physical cell. The coor‐
22 dinates of the abutment box are the coordinates of the envelop of the
23 abutment boxes of each instance plus the delta values given as argu‐
24 ment. The (dx1, dy1) values are added to the (x1, y1) coordinates of
25 the bottom left corner of the "standard abutment box" (the envelop),
26 and the (dx2, dy2) are added to the top right ones. You have to call
27 this function before saving, otherwise the figure will not have an
28 abutment box. Since it's regarding the abutment box of its model that
29 an instance is placed, any futher use of this figure will be incorrect
30 if DEF_AB isn't called, or properly defined.
31
33 "GENLIB_DEF_AB impossible : missing GENLIB_DEF_PHFIG"
34 No figure has been yet specified by a call to DEF_PHFIG. So it
35 isn't possible to give it a size. you must call DEF_PHFIG
36 before any other layout action.
37
39 #include <genlib.h>
40 main()
41 {
42 /∗ Create a figure to work on ∗/
43 GENLIB_DEF_PHFIG("cell");
44 /∗ Place an instance ∗/
45 GENLIB_PLACE("model","i1", NOSYM,0L,0L);
46 GENLIB_PLACE("model","i2", NOSYM,120L,40L);
47 GENLIB_DEF_PHINS("i1");
48 GENLIB_PLACE_TOP("model2", "i3", NOSYM);
49 /∗ define the new abutment box as the standard envelop ∗/
50 GENLIB_DEF_AB(0, 0, 0, 0);
51 /∗ Save all that on disk ∗/
52 GENLIB_SAVE_PHFIG();
53 }
54
56 genlib(1), GENLIB_SAVE_PHFIG(3).
57
58
59
60
61
62
63PROCEDURAL GENERATION LANGUAGE ASIM/LIP6 GENLIB_DEF_AB.3(October 1, 1997)