rds - rds package
Rds is a Rectangle data structure which contains a minimun of information in order to permit to the user to configurate it according to his needs (optimisation of use of the structure). Somme technological parameters of the structure can be configurated by using a technology file (cmos/asga).
The RDS data structure permits a real representation of objects used because they are described in the forme of rectangles (a chip is a rectangle bag). So, RDS data structure is used by all the tools which need a real rectangle view of a chip (ex: lynx, s2r, graal, druc).
A figure or an instance structure have a table of layers. Each entry of the table is a pointer to a rectangles's list associated to the corresponding layer.
The RDS data structure use a high number of rectangles. For optimizing memory acces time when getting a rectangle in memory, memory allocation for a rectangle is done by heap : At the first allocation of a rectangle, a memory for a high number of rectangles is allocated. It permits to minimize fragmentation.
If the user wants to add other fields to a rectangle structure, he can do it. In that case, a structure defined by the user is added to the rectangle structure (the all rectangle structure is an object of two structures). Functions of RDS library take this particularity into account.
A complementary data structure permits to cut the chip in windows. A window (the size can be modified by the user) knows all the rectangles of the chip contained in it. Moreover, each rectangle can know all windows in which it's contained. This structure is useful to get quickly an object in the chip.
The rds structure is technology dependant, so it uses a technological file.
The RDS structure is composed of figures, instances and rectangles. The basic structure contains a minimum of information so the user has to add additionnal structure if he wants.
A figure
A figure represents a symbolic view of a chip. It contains
rectangles and instances. A figure has a name (it must be
unique) which represents it on the disk, a list of instances
and a list of rectangles by layer.
An Instance
An instance represents a figure described in a higher hierarchical
level. An instance has a model name (the figure
which describes it) and an instance name (the name of the
instance in the current figure: two different instances of a
figure must have different names). An instance can subject
symmetries and rotations.
A rectangle
It is the basic item which permits to constitute objects of
a figure. The user can add a structure defined by him to
complete the rectangle structure.
The Rds library :
This library contains the description of the RDS structure
(figure, instance, rectangle), allocation and free functions
of objects, adding functions of objects in a list of
objects.
The Rfm library :
Contains conversion functions from MBK to RDS objects, visualization
functions of objects (MBK and RDS).
The Rpr library :
Contains the parser of the technological file of the RDS
structure.
The Rut library :
Contains utility functions like searching a figure by its
name, creating a list of models of instances contained in a
figure.
The Rtl librairie :
This library contains environment variables of the RDS
structure, function of loading and saving of a figure in the
cif or gds format.
The Rwi Library :
It contains all the functions of the windowing of a chip
like adding/deleting a window, adding a rectangle in a window,
visualization of objects of a window.
librds, librfm, librpr, librtl, librut, librwi, RDS_IN, RDS_OUT, RDS_TECHNO_NAME
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.