Rename Structure Names

There are times when it is helpful to be able to rename a structure in a GDSII file. GDSFILT can do this using the -rename command line option.

The -rename function takes its input from a text file. It changes the structure's name and all references to that structure (SREF/AREF).


You cannot use the -rename function at the same time with -prune (which removes non referenced structures from the output file ...).If you attempt to do so, the -prune function will be ignored.


gdsfilt input_file output_file structure -rename filename


 input_file          gdsii input file
 output_file         gdsii file to create
 structure           input file structure to process
 -rename filename    rename structures per data in filename

Sample Rename File

The rename file has two entries per line. The first entry must match (exactly) the name of a structure in the input file. The second entry will be the new name in the output file.


If for some reason (since it is really not supposed to happen) you have structure names with spaces in them then you should use quotes to delimit input and output names.


Unique Names

There must be unique relationship between input and output names. Two input names must not be mapped to a single output name (even inadvertently). Doing so will completely garble the resulting output file.


As an example we will use our very small file demo1.gds. Below you can see a screen shot of demo 1 along with the structure list (using Qckvu).

sample chip demo1.gds

Now we will produce three different output files using the following command line and rename files:

This first example shows how to handle spaces in the structure names.

gdsfilt demo1.gds demo1_ex1.gds = -rename example1.lst
  where example1.lst contains:

  "TOPMOSTST"top most cell"
  "PAD4MILS"pad four mils"
  "TQE"tee queue eee"
  "PADCONT"pad contact"
  "SCNT"second contact"
  "PLUG2"plug two"
  "QE"queue eee"
new structure names as displayed by Qckvu

The second example changes the names from upper case to lower case.

gdsfilt demo1.gds demo1_ex2.gds = -rename example2.lst
  where example2.lst contains:

  TOPMOSTST topmostst
  PAD4MILS pad4mils
  TQE tqe
  PADCONT padcont
  SCNT scnt
  PLUG2 plug2
  QE qe

new structure names as displayed by Qckvu

The third example only changes some of the names.

gdsfilt demo1.gds demo1_ex3.gds = -rename example3.lst
  where example3.lst contains:

  PAD4MILS pad4mils
  PADCONT padcont
  PLUG2 plug2

new structure names as displayed by Qckvu