web_drop_shadow.gif


GDS_Extents Examples

We are going to use for all the examples the GDSII file known as demo8.gds. The top structure of this file is TOPMSPCHIP1. It is about 28MB in size. For simplicity I am going to remove long paths to the file and to the program. The working directory will be /home/stevedb/demo8. The program directory is /home/cad/gds_extents/bin.

demo8.gds

Example 1

Find all the placements of cell: G79S11F36 relative to the top cell

gds_extents demo8.gds example1 = = -cell_extents G79S11F36

This will produce an ascii file named: example1.extents.txt

containing the following:
REF Extents: G79S11F36
-4848.650,493.150,-4595.450,632.850
-4848.650,2100.000,-4595.450,2239.700
-4848.650,4320.500,-4595.450,4460.200
-3446.100,-4739.300,-3306.400,-4486.100
-2909.950,4486.100,-2770.250,4739.300
-2146.450,-4739.300,-2006.750,-4486.100
-1436.350,4486.100,-1296.650,4739.300
-998.050,-4739.300,-858.350,-4486.100
262.900,4486.100,402.600,4739.300
472.700,-4739.300,612.400,-4486.100
1566.300,4486.100,1706.000,4739.300
1802.900,-4739.300,1942.600,-4486.100
3616.650,4486.100,3756.350,4739.300
4595.400,-4095.650,4848.600,-3955.950
4595.400,-2436.100,4848.600,-2296.400
4595.400,-1225.000,4848.600,-1085.300
4595.400,-150.950,4848.600,-11.250
4595.400,1373.250,4848.600,1512.950
4595.400,2881.250,4848.600,3020.950

These coordinates are the LL and UR corners of rectangles that represent the placements of G79S11F36 in the cell TOPMSPCHIP1. If you want to generate a GDSII file with the same information just add the command line argument -gds.

gds_extents demo8.gds example1 = = -cell_extents G79S11F36 -gds

You can see from the screen shot below that the resulting GDSII output shows 19 placements of G79S11F36 (blue) and the extents of the top level cell is shown in red.


placements of G79S11F36 in GDSII format



Example 2

Find the placements for a bunch of different cells

You are given a list of cells that you need to know where they are placed. The list looks like:
G79S0F36    G79S3F36    G79S6F36    G79S9F36
G79S1F36    G79S4F36    G79S7F36    G79S10F36
G79S2F36    G79S5F36    G79S8F36    G79S11F36

In this case you do not want to put a long list on the command line; instead you can use a response file such as cells.txt. By preceding the response file with the @ sign the program knows this is a file that should be opened and processed.

The response file cells.txt looks like:
G79S0F36
G79S1F36
G79S2F36
G79S3F36
G79S4F36
G79S5F36
G79S6F36
G79S7F36
G79S8F36
G79S9F36
G79S10F36
G79S11F36

and the command line looks like this:

gds_extents demo8.gds example2 = = -cell_extents @cells.txt

Results

The ascii file will now have entries for each of the cells in the list ... I cannot show the entire list but you can see how it is formatted below. If you create GDSII using the -gds command line argument you will see that all of the IO cells seem to be included in this list.



REF Extents: G79S11F36
-4848.650,493.150,-4595.450,632.850
-4848.650,2100.000,-4595.450,2239.700

REF Extents: G79S10F36
-4848.650,63.750,-4595.450,203.450
-4848.650,3710.550,-4595.450,3850.250

EF Extents: G79S8F36
-4848.650,-3797.750,-4595.450,-3658.050
-4848.650,-365.600,-4595.450,-225.900

.
.
.






A GDSII layer is generated for each unique cell name that was analyzed. However there is no way at present to determine from the GDSII layer numbers which layer goes with which cell name.

  example 2 gdsii output






Command Syntax Sample Usage Download Rev. History Price