addphins - create a physical instance
This software belongs to the ALLIANCE CAD system from the CAO-VLSI team at
ASIM/LIP6/UPMC laboratory.
LIP6/ASIM
University P. et M. Curie
4, place Jussieu
75252 PARIS Cedex 05
FRANCE
Fax : {33/0} 1.44.27.62.86
E-mail support : alliance-support@asim.lip6.fr
#include mph402.h"
phins_list *addphins(ptfig, figname, insname, sym, x, y)
phfig_list *ptfig;
char *figname;
char *insname;
char sym;
long x, y;
addphins creates a new instance whose lower left corner is at the given
coordinates, and adds it to the list of instances pointed to by
ptfig->PHINS. The new instance is added in front of the list, and becomes
itself the list head.
The parameters figname, insname, sym, x and y fill respectivly the FIG_NAME,
INSNAME, TRANSF, XINS and YINS fields of the phins structure.
The addphins function does not check in memory or on disk to see if the
instanciated model exists, since no informations on it are needed.
The coordinates are not transformation dependant. It means that the transformation
is performed before placing the instance at the given point.
For details on the structure, see phins(3)
.
addphins returns a pointer to the newly created instance.
*** mbk error *** addphins figure figname cannot be part of itself" The instance has for model name of the figure on the which it is to be added. It's illegal and dangerous. This check is made at the actual hierachy level only, not recursivly on the structure, so it still may happend.
*** mbk error *** illegal addphins transformation sym in : insname" The geometrical operation is not in the legal range. See phins(3) for a complete list of values.
*** mbk error *** illegal addphins duplicate instance name : insname" The instance name is an identifier, so it can't appear twice in the same figure.
#include mph402.h"
phins_list *ins_dup(pfd, pfs) /* duplicate instances */
phfig_list *pfd, *pfs;
{
phins_list *pi;
for (pi = pfs->phins; pi != NULL; pi = pi->NEXT)
addphins(pfd, pi->FIGNAME, pi->INSNAME, pi->TRANSF,
pi->XINS, pi->YINS);
return pfd->PHINS;
}
mbk(1) , phfig(3) , phins(3) , getphins(3) , delphins(3) .
This tool is under development at the ASIM/LIP6/UPMC laboratory, cao-vlsi
research team.
We need your feedbak to improve documentation and tools.
If you find bugs, please fill-in the form at
http://asim.lip6.fr/alliance/support/bug-report/
Thanks for doing this.