|ADDRDSINSREC(3)||RDS PHYSICAL FUNCTIONS||ADDRDSINSREC(3)|
addrdsinsrec - adds a rectangle to an instance
This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of Université Pierre et Marie CURIE, in Paris, France.
Web : http://asim.lip6.fr/recherche/alliance/
E-mail : firstname.lastname@example.org
rdsrec_list ∗addrdsinsrec( Instance, Name, Layer, X, Y, Dx, Dy )
This function creates an adds a rectangle to an instance. The size of the user structure to add (if if exists) next to the structure rdsrec_list is defined by the field SIZE of the instance which has to contain the rectangle. The rectangle is chained to the head of the rectangles's list associated to the defined layer in parameters of the function addrdsinsrec(). The fields of the rectangle structure are modified as follows :
The field NAME is set to ´Name´.
The field X is set to ´X´.
The field Y is set to ´Y´.
The field DX is set to ´Dx´.
The field DY is set to ´Dy´.
The field FLAGS is modified with the value ´Layer´.
- This function uses MBK namealloc() function.
- coordinates of the rectangle are related to the instance before geometrical transformation.
The pointer to the added rectangle. It is also the head of rectangles's list associated to the corresponding layer.
"Rds202: rdsalloc error, can't continue !"
typedef struct UserStruct
# define POINTER_STRING(R) \
(((UserStruct ∗)((char ∗)(R)+sizeof(rdsrec_list)))->STRING )
RdsFigure = addrdsfig ("core",sizeof ( UserStruct ) );
Instance = addrdsins (RdsFigure,"na2_y","and2",RDS_NOSYM,8,6);
Rectangle = addrdsinsrec (Instance,"Alu1",RDS_ALU1,2,4,12,1);
POINTER_STRING( Rectangle ) = namealloc ("un_alu1");
Displays caracteristics of all the rectangles of the instance
for ( Layer = 0 ; Layer < RDS_MAX_LAYER ; Layer ++ )
ScanRec = Instance->LAYERTAB[Layer] ;
ScanRec != (rdsrec_list ∗) NULL ;
ScanRec = ScanRec->NEXT
printf("Rectangle->LAYER = %s\n",
printf("Rectangle->NAME = %s\n",ScanRec->NAME);
printf("Rectangle->X = %ld\n",ScanRec->X);
printf("Rectangle->Y = %ld\n",ScanRec->Y);
printf("Rectangle->DX = %ld\n",ScanRec->DX);
printf("Rectangle->DY = %ld\n",ScanRec->DY);
printf("Rectangle->STRING = %s\n",POINTER_STRING(ScanRec));
librds, delrdsinsrec, viewrdsins
This tool is under development at the ASIM department of
the LIP6 laboratory.
We need your feedback to improve documentation and tools.
|October 1, 1997||ASIM/LIP6|