Preparing GDSII for Input to Allegro/APD



Package designers using Cadence's Advanced Package Designer (APD) often must import their die data from a GDSII stream file provided by the IC designer. APD requires that the GDSII stream file be flat - i.e. that all entities belong to a single top level structure.

Unfortunately one rarely receives the data like this - GDSII is generally very hierarchical - i.e. a typical chip design will have hundreds or even thousands of structure definitions and each structure refers to many other structures.

In this application note, we show how Artwork's GDSFILT program can be used to both strip out only the pads from the pad_ring layer and flatten the GDSII file so that it can successfully be loaded into APD.


Sample GDSII File

For this note, we are using a file called demo5.gds (it is very small but illustrates exactly the methods required...) Demo5.gds is shown below using Artwork's GDSVU viewer:



You can inspect demo5.gds's cell hierarchy by clicking on GDSVU's Structure button and then clicking on Dependence.

demo5.gds has over 40 structure definitions and is nested 5 levels deep. You cannot import this file into APD as is -- even though all the pad openings are isolated on layer 8.

In order to get the pads into APD we will run the file through GDSFILT, extracting layer 8 and also imultaneously flattenning (exploding) the file.




After starting GDSFILT you will be presented with a "button box" that takes you step-by-step through the filtering process.

The first button is Select GDS File. Clicking on this button opens a dialog box enabling you to select the GDSII file you wish to filter/explode.

The next button is Structure. Click on this button and select the structure to process. This is normally the top structure of the file. In this example, demo5.gds, the name of the top structure is TOP.

Now go on to the Configuration button. This opens up a tabbed dialog box.



Configuring GDSFILT

GDSFILT can do many different operations on a file. In this case we wish to flatten or explode the database and to only pass data on layer 8 (the pad ring data) to the output.


Configure Tab

Make sure that the Explode option is checked and also check Trim Off Empty Trees. This will remove any structures and references to those structures that don't have data in the output file.



Include/Exclude Tab

This dialog is used to either list all layers to include or all layers to exclude. Since we only need one layer we use the include filter. Select Layer 8.

DataType - One can also filter by datatype but this example uses only entities with datatype=0 so there is no need to set this.

Merge/Add/Blend Tag

Since we are not merging or combining two GDSII files we need not use this part of the dialog at all.

Click on OK.



From the button box click on Translate. GDSFILT will prompt you for an output file, then will take a few seconds to run. The resulting file is very small, flat and contains only the pad ring.


Viewing the Results

If you examine the output file using a GDSII viewer such as GDSVU this is what you will see:



Verifying the Hierarchy is Flat

Click on GDSVU's Structure button and then click on Dependence. You will see that the file contains only one structure, TOP; all the pad polygons are under the this structure.


GDSFILT Page   |   Download   |   Revision History   |   Price