All About Calma's GDSII Stream Format [5]

Steve DiBartolomeo
Applications Manager
© 2011 Artwork Conversion Software, Inc.

SREF - Structure Reference

We mentioned that GDSII is a hierarchical database. This is an essential feature - otherwise it would be impractical to use it to describe IC layouts that have millions or even billions of boundaries and paths. The hierarchy is valuable because IC designs tend to re-use the same geometric patterns over and over again.

The STRUCTURE record holds boundaries, paths, SREFs and AREFs. One can use an SREF (contained in a different structure) to reference or "place" a structure. In that fashion the complete list of boundaries, paths and references need not be explicitly enumerated over and over again.

The SREF record looks like this:


SREF [ELFLAGS] SNAME  [<strans>]  XY
where:
SREF       - string identifying this as a SREF
ELFLAGS    - rarely used binary flags (see plex)
SNAME      - the name of the structure being referenced
strans     - two byte bit array controlling reflection, magnification and rotation.
XY         - placement coordinates of the instance

STRANS Details


strans_bit_array_record.GIF

Examples of SREF and Transformations

Suppose we have created a GDSII file with two separate structures: TOP and CELL_A. Initially we have no SREFs in the file so the two structures have no relationship. This is shown diagrammatically below:

sref_example0.gif


Now let's add a SREF record to TOP that points to CELL_A. We will only have a simple XY insertion at 2,3 with no transformations.

sref_example1.gif


This time let's place CELL_A at 2,3 but let's also rotate it 90 degrees counter clockwise (CCW).

sref_example2.gif


This time let's place CELL_A at 2,3 and let's turn on the reflection (about X) flag.

sref_example3.gif


This time let's place CELL_A at 2,3 let's turn on the mirror flag and let's rotate 90 CCW.

sref_example4.gif


This time let's place CELL_A at 2,3 let's turn on the mirror flag and let's rotate 180 CCW.

sref_example5.gif

Notice that the combination of reflection about X combined with a 180 degree rotation is equivalent to a reflection around Y. This is useful since there is no Y reflection flag. Reflection is performed prior to rotation.




Page   1 | 2 | 3 | 4 | 5 | 6