apd3d_drop_shadow.gif

Description of Each 3Di Section



Geometries

Geometries form the core of the 3Di file. They should be grouped together following the keyword GEOMETRIES. At this time, four types of 3D geometries are supported -- useful for describing an IC package. These are:

    EXTR - an extrusion of a two dimensional geometry.

    WIRE - a wirebond (the path along with diameter and number of sides)

    SPHERE - a spherical body used to represent solder balls.

    BARL - a sliced sphere used to approximate a solder ball than has been reflowed.

Each will be described separately. All geometries are identified using the GEOM keyword, followed by one or more attributes [table index] or [attribute value] combinations which are used to assign properties to the GEOM: LAYER, COLOR, NET and so on. There is no limit to the number of properties that can be assigned to a geometry. This is an important feature that helps 3Di support new information without the need to rewrite the parser.

  GEOMETRIES
     GEOM
     NAME AA2
     WIRE_MODEL 1
     OBJECT 1
     COLOR 13
     NET    4
     LAYER  5


Geometry Properties/Attributes

Adding properties to each geometry is what gives the 3Di database intelligence. The initial release of 3Di required that each property have a table associated with it and index numbers pointed to the values in the table.

After implementing the 3Di and associated 3D-VU program it was determined that tables were not always the most efficient way to store attributes. For example, net names are best placed in tables since the same net will be used to describe many different geometries. However pin numbers or names are best associated directly with a geometry since these are generally used once -- i.e. the pin name is unique to one geometry. Creating a table and referencing it adds overhead since there is no "reuse."

We found we could implement both direct attributes and table based attributes without major changes to the 3Di database by placing the list of TABLEs before the GEOMETRIES section. By reading the TABLES section first, the 3Di interpreter knows which attributes are stored in tables and that the following string must be an index number into the table. If a attribute doesn't match one of the TABLEs then the following string is a value.

how 3D-VU differentiates between a table attribute and a direct attribute.

1 | 2 | 3 | 4 | 5 | 6 | 7