phins - mbk physical instance
The phins structure is used to describe a instance
belonging to a symbolic layout model, see phfig(3) for details.
The declarations needed to work on phins are available in
the header file "/labo/include/mph402.h", where
'402' is the actual mbk version.
The following C structure supports the description of the instance
:
typedef struct phins {
struct phins ∗NEXT;
char ∗INSNAME;
char ∗FIGNAME;
long XINS,YINS;
char TRANSF;
struct ptype ∗USER;
} phins_list;
- NEXT
- Pointer to the next instance in the list.
- FIGNAME
- Model of the instance. This gives the name of the figure that is currently
beeing instanciated. The model may not be present in memory.
- NAME
- Name of the instance. The instance is identified by its name, so it should
be unique at a given hierarchical level.
- XINS, YINS
- Coordinates of the lower left corner of the instance, after possible
geometrical operation.
- TRANSF
- Contains the geometrical operations that should be performed before
placing the instance. Eight legal values are allowed :
- NOSYM
- no operation
- SYM_X
- x becomes -x
- SYM_Y
- y becomes -y
- SYMXY
- x becomes -x and y becomes -y
- ROT_P
- rotates 90 degrees counter clockwise
- ROT_M
- rotates 90 degrees clockwise
- SY_RP
- x becomes -x then rotates 90 degrees counter clockwise
- SY_RM
- x becomes -x then rotates 90 degrees clockwise
- USER
- Pointer to a ptype list, see ptype(3) for details, that is a
general purpose pointer used to share informations on the instance.
- the phins structure does not contain any information about the size
of the instance. Neither the abutment box nor the connectors are
available. The model must be loaded when such information is needed.