A mask designer may need to find the insertion coordinates in a GDSII file of a specific cell or (or multiple cells) or find out how many times a specific cell is inserted in the GDSII file.
Note: This is a separately licensed product and not included with the license for GDS2ASCII/ASCII2GDS.
The program, instance_finder64.exe. allows the user to export a text file containing all the insertion coordinates of the specified cell.
instance_finder64.exe gdsii_file output_file top_structure [options] where: top_structure may be auto selected with '='. Otherwise use the structure name. output_file specifies log and default map file names [options] -byname sort output by name (default) -bycoord sort output by coordinate (y dominant) -unique do not output duplicate instances -mapfile:filename specify alternate map file name (default is derived from output_file) -prec:N output coordinates with N decimals -units:Units one of 'um', 'mm', 'cm', 'mil', or 'inch' -searchlist: a comma separated list of names or regular expressions. -searchlist:@filename filename is text file with list of cell names or regular expressions.
In this example, we are looking for any cell name that starts with the string of characters PAD. We put the regular expression ^PAD.*$
into a file called list.txt and then instruct the program to read the list.txt file to get the cell name criteria.
list.txt
REGEXP ^PAD.*$
and here is the command line:
c:\wcad\gds2ascii\examples\instance_finder64.exe demo1.gds ifind_ex1 = "-searchlist:@list.txt"
Output
the output file is called ifind_ex1.map (from the command line argument for output file) and here are the contents:
Xum Yum 10 Symbols 0.000000 0.000000 PAD4MILS 150.000000 0.000000 PAD4MILS 0.000000 150.000000 PAD4MILS 150.000000 150.000000 PAD4MILS 115.500000 61.500000 PADCONT 148.500000 67.500000 PADCONT -1.500000 79.500000 PADCONT 196.500000 133.500000 PADCONT -1.500000 156.000000 PADCONT 115.500000 177.000000 PADCONT
This example is similar to the one before but it also includes additional options for controlling the units of the coordinates, the precision and sorting.
c:\wcad\gds2ascii\examples\instance_finder64.exe demo1.gds ifind_ex2 = "-searchlist:@list.txt" -units:mm -prec:6 -byname
Output
Xmm Ymm 10 Symbols 0.000000 0.000000 PAD4MILS 0.150000 0.000000 PAD4MILS 0.000000 0.150000 PAD4MILS 0.150000 0.150000 PAD4MILS 0.115500 0.061500 PADCONT 0.148500 0.067500 PADCONT -0.001500 0.079500 PADCONT 0.196500 0.133500 PADCONT -0.001500 0.156000 PADCONT 0.115500 0.177000 PADCONT
This example is similar to the one before but it puts the regular expression on the command line instead of in a file.
c:\wcad\gds2ascii\examples\instance_finder64.exe demo1.gds ifind_ex3 = "-searchlist:^.*$" -units:um -prec:3 -bycoord
This example shows how user can specify output map file name using "-mapfile:filename" command line option.The regular expression ^.*$
selects all cell names in the GDSII file.
c:\wcad\gds2ascii\examples\instance_finder64.exe demo1.gds ifind_ex4 = "-searchlist:^.*$" -units:um -prec:3 -bycoord -mapfile:map.map
Output
The output file is called map.map
Xum Yum 26 Symbols 0.000 0.000 PAD4MILS 150.000 0.000 PAD4MILS 115.500 61.500 PADCONT 148.500 67.500 PADCONT -1.500 79.500 PADCONT 124.500 97.500 SCNT 43.500 108.000 QE 43.500 108.000 TQE 103.500 108.000 PLUG2 118.500 108.000 PLUG2 142.500 108.000 PLUG2 157.500 108.000 PLUG2 100.500 127.500 PLUG2 115.500 127.500 PLUG2 145.500 127.500 PLUG2 160.500 127.500 PLUG2 196.500 133.500 PADCONT 124.500 135.000 QE 124.500 135.000 TQE 115.500 147.000 PLUG2 145.500 147.000 PLUG2 0.000 150.000 PAD4MILS 130.500 150.000 PLUG2 150.000 150.000 PAD4MILS -1.500 156.000 PADCONT 115.500 177.000 PADCONT