Table of Contents

Name

applyrdssym - applies a transformation to a rectangle from a model

Origin

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

Synopsys

#include rutnnn.h"
void applyrdssym( X, Y, Dx, Dy, Xins, Yins, Sym ) long *X;
long *Y;
long *Dx;
long *Dy;
long Xins;
long Yins;
char Sym;

Parameter

X,Y,Dx,Dy :
Coordinates of the rectangle (of a model) to modify.
Xins,Yins :
Position where the instance has to be set.
Sym :
Symmetry applied to the instance.

Description

The applyrdssym function sets coordinates of a rectangle (which belongs to a model) relative to the figure which contains the instance of this model. When the field `MODE' of a figure is set to the value `A' then only the figure and its instances empty are loaded in memory. So, if the user wants to load a rectangle of an instance in memory, he has to get the model of the instance and use the applyrdssym function. For mode information about loading modes of a figure in memory, see librds.

Return Value

The coordinates (X,Y,DX,DY) of the rectangle are modified.

Errors

none

Example

#include mphnnn.h"
#include mutnnn.h"
#include rdsnnn.h" #include rutnnn.h"
#include rtlnnn.h"
typedef struct UserStruct
{
void *USER1;
} UserStruct;
main()
{
rdsfig_list *Figure;
rdsfig_list *Instance;
rdsfig_list *InstanceModel;
rdsrec_list *Rectangle;
rdsrec_list *InsRectangle;

char
Layer; mbkenv(); rdsenv(); loadrdsparam(); RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) ); Instance = addrdsins (RdsFigure,"na2_y","and2",RDS_SYM_X,8,6); /* loads instance model */ InstanceModel = getrdsfig( Instance->FIGNAME, `A', sizeof ( UserStruct ) ); /* gets one rectangle of the model (layer ALU1) */ if ( InstanceModel->LAYERTAB[RDS_ALU1] != (rdsrec_list*) NULL ) Rectangle = InstanceModel->LAYERTAB[RDS_ALU1]; else exit(1) ; /* Displays rectangle coordinates relative to the model */ viewrdsrec ( Rectangle ); /* adds the rectangle in the instance */ Layer = GetRdsLayer ( Rectangle ); InsRectangle = addrdsinsrec ( Instance, Rectangle->NAME, Layer, Rectangle->X, Rectangle->Y, Rectangle->DX, Rectangle->DY ); /* apply symmetry */ /**/ applyrdssym( &InsRectangle->X,&InsRectangle->Y, &InsRectangle->DX,&InsRectangle->DY, Instance->X,Instance->Y,Instance->TRANSF ); /* Displays rectangle coordinates relative to the figure */ viewrdsrec ( InsRectangle ); }

See Also

librut, librds, addrdsins, addrdsinsrec

Bug Report

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.


Table of Contents

 



Alliance Web Site © 1997, 2002 ASIM/LIP6/UPMC, page maintained by Czo [Olivier Sirol] , last updated on 26 May 2000.