GENLIB_PLACE_ON3
Place a physical instance in the current figure matching connectors
Synopsys
#include <genlib.h> void GENLIB_PLACE_ON(figname,ins1,con1,index1,symetry,ins2,con2,index2) char ∗figname, ∗ins1, ∗con1, ∗ins2, ∗con2; char symetry; long index1, index2;
Parameters
- figname
-
Name of the layout figure to be instanciated
- ins1
-
Name to be given to the instance in the model
- con1
-
Name of the connector of the instance to be used for placement
- index1
-
Index of the connector, or reference, con1 of the model to be used for placement
- symetry
-
Geometrical operation to be performed on the instance before beeing placed
- ins2
-
Name of the instance to be used for relative placement
- con2
-
Name of the connector of the instance ins2 on which the placement will take place
- index2
-
Index of the connector con2 of the instance to be used for relative placement
Overview
PLACE_ON add an instance in the current layout cell. The bottom left corner of the instance of the model modelname is placed, after beeing symetrized and/or rotated, at (x, y) coordinates. The placed instance becomes the new "reference instance", used in the relative placement functions.
The insname is the name given to the instance and must be unique at a given hierarchy level.
The symetry argument can take eight legal values :
NOSYM
|
no geometrical operation is performed |
|---|---|
|
Y becomes -Y, that means toward X axe symetry |
|
X becomes -X, that means toward Y axe symetry |
SYMXY
|
X becomes -X, Y becomes -Y |
|
a positive 90 degrees rotation take place |
|
a negative 90 degrees rotation take place |
|
Y becomes -Y, and then a positive 90 degrees rotation take place |
|
Y becomes -Y, and then a negative 90 degrees rotation take place |
The model of the figure to be placed must be available, on disk or in memory. The path to the library is specified in the MBK_CATA_LIB (1) and MBK_WORK_LIB (1) environment variables, and its format is given by the MBK_IN_PH (1) environment variable.
Errors
"GENLIB_PLACE_ON 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 addphins : transformation is x in insname"
The symetry parameter is not one of the define given, but has the integer value x.
Examples
#include <genlib.h>
main()
{
/∗ Create a figure to work on ∗/
GENLIB_DEF_PHFIG("cell");
/∗ Place two instances ∗/
GENLIB_PLACE_ON("gapg0_b","ins1", NOSYM, 0L, 0L);
GENLIB_PLACE_ON("gapg8_b","ins2", SYM_X, 80L, 100L);
/∗ Save all that on disk ∗/
GENLIB_SAVE_PHFIG();
}
Releases
4 releases since Debian 7 (Wheezy); the text changed 1 time.